[Insight-users] Re: How to perform FFT on a huge dataset?

Luis Ibanez luis.ibanez at kitware.com
Wed Aug 2 08:21:15 EDT 2006


Hi Guilian,

The bad news is that the streaming architecture of ITK is not
well suited for managing FFT of large images.

The good news is that FFT is separable, and it is actually computed
one line at a time in every direction.

You can perform the FFT of your image by

1) Invoking 2D FFT of every slice and saving them.

2) Then reading the first pixel of every slice in order
    to form a 1D array, compute FFT of the array and
    save that as the first pixel of every output slice
    for the total 3D FFT.


You may want to start by getting familiar with the internals
of the FFT filters in

       Insight/Code/Algorithms/

You probably want to start with the file

     itkFFTWRealToComplexConjugateImageFilter.txx

Note that this class uses the FFTW libraries that you
can download from

                http://www.fftw.org/

If you put this code together, that will make a nice paper
for the Insight Journal:


          http://www.insight-journal.org






     Regards,



         Luis


-------------------
XU,GUILIAN wrote:
> Hello Luis,
> 
> I have 1024*1024*1024 image/matrix, I would like to perform FFT on it.
> No computer can handle this big dataset due to memory limitation. Is
> there any idea to work around this issue?
> 
> Thanks in advance,
> 
> GUILIAN
> 
> 
> 




More information about the Insight-users mailing list