[Math] Many 1D FFT -> Single 2D FFT

fourier analysis

Hello, forgive me if this is a novice question or the wrong place to ask.

I have trying to modify some FFT code to use the CUDA FFT library instead of the FFTW library.

RIght now in the code, a row is read in from an image, and a backward FFT is performed. The output array from that backward FFT is multiplied by a color map value, and stored in a new array, R.

R is shifted to put the DC value back in the middle of the array, and then R is used as the input value to the forward FFT.

The output of that forward FFT is used to generate the output image. This process happens for each of three spectra, to give me an RGB image.

My questions: is this equivalent to doing a 2D FFT over the entire image at once? Would I get the same result if I ran the backward FFT on the full image, shifted the output matrix to give me DC at the top left corner of the matrix, and ran the forward FFT?

I gather that the only reason the shift even happens is because of the order FFTW returns the results in, and I am not sure that would even be necessary for the CUDA FFT library, but I guess it would.

Thanks

Best Answer

Look at Oppenheim and Schafer's discrete signal processing, and you will be enlightened.