ITK/Release 4/Refactor Numerical Libraries/Inventory/Fourier Transforms
From KitwarePublic
< ITK | Release 4 | Refactor Numerical Libraries | Inventory
Jump to navigationJump to search
The Problem
ITK obtains Fast Fourier Transform (FFT) functionalities from
- VXL - as software included as third party library
- FFTW - as a configuration time option
To choose between these two options you use, at CMake configuration time, the following variable
Where is the Code
ITK classes that provide FFT filters can be found in the Module:
ITK/Modules/Filtering/FFT
They include
- itkFFTShiftImageFilter.h
- itkFFTWForwardFFTImageFilter.h
- itkFFTWInverseFFTImageFilter.h
- itkForwardFFTImageFilter.h
- itkInverseFFTImageFilter.h
- itkVnlForwardFFTImageFilter.h
- itkVnlInverseFFTImageFilter.h
- vnl_fft_3d.h
VXL
The FFT code in VXL is in the directory
ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo
and include the following files
- vnl_fft_1d.h
- vnl_fft_1d.txx
- vnl_fft_2d.h
- vnl_fft_2d.txx
- vnl_fft_base.h
- vnl_fft_base.txx
- vnl_fft.cxx
- vnl_fft.h
- vnl_fft_prime_factors.h
- vnl_fft_prime_factors.txx
The code acepts images whose number of pixels is a multiple of powers of the following prime numbers:
- 2
- 3
- 5
It seems that VXL ultimately calls FFT functions from FORTRAN
CALL GPFA(A,B,TRIGS,INC,JUMP,N,LOT,ISIGN,NIPQ,INFO)
in the file
vnl_fft.h