Using the Fourier Transform on Partitioned Images

Click For Summary
SUMMARY

Using the Fast Fourier Transform (FFT) on partitioned images will not yield the same results as applying FFT to the entire image. The resolution in frequency is contingent upon the total dimensions of the image, and segmenting it reduces this resolution. Edge effects may also arise when manipulating the frequency domain. A recommended approach is to process the image row by row, performing the FFT on each row and saving the results to disk, followed by processing column by column, which conserves memory usage.

PREREQUISITES
  • Understanding of Fast Fourier Transform (FFT) principles
  • Familiarity with image processing techniques
  • Knowledge of memory management in computational tasks
  • Basic skills in file I/O operations for data storage
NEXT STEPS
  • Research techniques for optimizing Fast Fourier Transform performance
  • Learn about edge effects in frequency domain processing
  • Explore memory-efficient image processing algorithms
  • Investigate file I/O strategies for handling large datasets
USEFUL FOR

Image processing engineers, data scientists, and anyone working with large image datasets requiring efficient Fourier analysis techniques.

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.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
6K
  • · Replies 2 ·
Replies
2
Views
2K