Using the Fourier Transform on Partitioned Images

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 2K views
ecastro
Messages
249
Reaction score
8
If I cut my image into several portions and use the Fast Fourier Transform on each portioned image, will I achieve the same result as if I used Fast Fourier Transform on the whole image?

I have this concern because I need to process a large image using the Fast Fourier Transform, the problem is that my computer lacks available memory to do the calculation.

Thank you in advance.
 
Physics news on Phys.org
No, you will not get the same result. The resolution in frequency depends on the total length, so cutting the image will lower your resolution. There might also be edge effects, depending on what you do in the frequency domain.

A 2D FT is simply a combination of 1D FTs along each row and column. What you could do is read the image one row at a time, FT it, and write out the result to a file. Then reread that file column by column, again performing a FT one column at a time. That way, you do not need the entire image in memory at any time.
 
ecastro said:
will I achieve the same result as if I used Fast Fourier Transform on the whole image?
No, of course you will not, simply because you are transforming different images.
You can calculate the "mean" value of the 0. harmonic for all partial images in the whole image, but for other harmonics you cannot.

Why don't you use the hard disc as memory, reading e.g. a line into memory, calculate the FFT and write it back to the hard disc, thereafter reading rows into memory, calulate the FFT and write them back to hard disc.

I know this method is a lot slower, however it could be done within reasonable time.