Skip to content

FFT tools

Eugene Katrukha edited this page May 26, 2023 · 3 revisions

Here live different tools that can be helpful sometimes.

2D FFT basics

This command can perform 2D FFT on images of arbitrary size (not power of 2 and not squared), without padding.
For those (not power of 2) cases it uses Bluestein's chirp Z-transform algorithm.
If one of the image dimensions is equal to the power of 2, a regular Cooley-Tukey FFT is used.
The size of the output FFT image is equal to the size of the input image.

Periodic-plus-smooth decomposition

This is Java/ImageJ implementation of periodic-plus-smooth decomposition of an image according to the paper
L. Moisan, Periodic Plus Smooth Image Decomposition, Journal of Mathematical Imaging and Vision 39(2), 161–179.
Since it uses the above command, again, it works with images of arbitrary size and dimensions not equal to the power of 2.
The basic idea is to modify the input image so its FFT does not produce non-periodic artifacts, like a central "cross".
It is achieved by decomposing an input image into a sum of “periodic” and “smooth" components.
So the output of the plugin is basically a stack of two images with these components.
In the example illustration below, the top row shows an image (left) and its Fourier power spectrum (right).
The bottom row shows only the periodic component of the same image (left) and its corresponding Fourier spectrum (right).
Notice that the centered "cross" pattern of the spectrum disappears.

periodic_smooth

Clone this wiki locally