http://imagej.273.s1.nabble.com/FFT-and-Inverse-FFT-problem-for-an-Electron-Microscope-Image-tp5013915p5013986.html
> To those who are interested!
>
> A nice feature of ImageJ is that complex-valued images are represented as
> stacks consisting of two slices that are called "Real" and "Imaginary". In
> this sense ImageJ can deal with complex "numbers" (pixel values).
>
> If the complex-valued Fourier spectrum of an image is
> S_1 = a_11 + i*a_12
> and a complex-valued Fourier-spectral filter function is
> S_2 = a_21 + i*a_22,
> then their product
> S_3 = S_1 * S_2 = a_31 + i*a_32
> computes as
>
> S_3 = a_11 * (a_21 + i*a_22) + i*a_12 * (a_21 + i*a_22);
>
> and consequently
>
> a_31 = a_11 * a_21 - a_12 * a_22; (Real part of product)
> a_32 = a_11 * a_22 + a_12 * a_21; (Imaginary part of product)
>
> With ImageJ the above is easily performed by slice arithmetics using the
> "Image Calculator...". The stack S_3 of the Fourier-spectral product is
> composed of the real part a_31 in slice 1 and the imaginary part a_32 in
> slice 2.
>
> All steps can be easily implemented as an ImageJ-macro or plugin.
>
> Of course, the filtered image is obtained by applying the inverse
> Fourier-transformation to S_3.
>
> Best regards
>
> Herbie
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>