Login  Register

Re: FFT implementation in ImageJ

Posted by Kenneth R Sloan on Jun 23, 2014; 9:52pm
URL: http://imagej.273.s1.nabble.com/FFT-implementation-in-ImageJ-tp5008239p5008383.html

Non power of 2 should not really be an issue (I was using an FFT using arbitrary factoring in 1978), but when it is, remember that “zero-padding” is a kind of mis-translation from the original signal processing terminology.  What you really want (if you are going to pad) is “DC-padding”.
Other methods are also useful - the idea is to make the finite signal cyclic without introducing spurious energy at the edges.

--
Kenneth Sloan
[hidden email]<mailto:[hidden email]>
"La lutte elle-même vers les sommets suffit à remplir un coeur d'homme; il faut imaginer Sisyphe heureux."


On Jun 23, 2014, at 07:24 , Dimiter Prodanov (imec) <[hidden email]<mailto:[hidden email]>> wrote:

Dear Mariam,

It is a good idea to always check against Matlab when you do processing in the Fourier domain.
The implementations there are tested and they are numerically correct.
If you want to understand FFT you have to start with the papers of  Cooley  Tukey and Lanczos.

As fat as ImageJ is concerned there is no standard for handling complex float or double numbers which makes using FFT-based algorithms more complicated.
Daniel pointed out all the issues that have to be taken on account when deciding which algorithm to use.
I would say that the non-pow2 issue is less important as confocal microscopic images are power of 2.
What is would add to the list are also windowing functions and boundary conditions.
The usual zero-padding for example in most of the cases is not a good idea for images.
Dimensionality is also not that important as FFT is separable.


Best regards,


Dimiter Prodanov







--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html


--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html