Using CUFFT library difference between using R2C-C2R or C2C

Hi all!
I’m studying CUFFT library for applying it to image processing.

I must apply a kernel gauss filtering to image using FFT2D,
but I don’t understand, when I use CUFFT_C2C transform, CUFFT_R2C and CUFFT_C2R.

The steps of my goal are:

  1. read data from an image
  2. create a kernel
  3. applying FFT to image and kernel data
  4. pointwise multiplication
  5. applying IFFT to 4. results.

When I execute 3. the type of trasform CUFFT_R2C CUFFT_C2R CUFFT_C2C, depends only from data type ?

thanks for help!

R2C is Real To Complex, so you input real data and the answer will be complex, C2R is Complex to Real which is just the opposite, and C2C is complex data for both input and output.

ok, I know this,

but in image processing, is it wrong use C2C ?

I mean that with FFT I am going from real to complex domain,

so if I use C2C is it conceptually wrong ?

Then, is it the same type of padding using R2C/C2R or C2C ?