Applies the various different DFT algorithms to Blitz++ constructs. More...
#include <DGVFourierTransform.h>
Public Member Functions | |
void | FFT (Array< complex< type >, rank > &field, Array< complex< type >, rank > &fftOfField) |
The Complex valued Fast Fourier Transform (FFT). Uses the FFTW C library. | |
void | iFFT (Array< complex< type >, rank > &fftOfField, Array< complex< type >, rank > &field) |
The Complex valued Inverse Fast Fourier Transform (iFFT). Uses the FFTW C library. | |
void | FFT_Real2Complex (Array< type, rank > &field, Array< complex< type >, rank > &fftOfField) |
void | FFT_Complex2Real (Array< complex< type >, rank > &fftOfField, Array< type, rank > &field) |
void | normalise (Array< complex< type >, rank > &field) |
Normalise the result of the Transform. | |
void | normalise (Array< type, rank > &field) |
Normalise the result of the Transform. | |
Array< type, rank > | shiftDC (Array< type, rank > &field) |
Shift the DC by half the array size periodically. | |
Array< complex< type >, rank > | shiftDC (Array< complex< type >, rank > &field) |
Shift the DC by half the array size periodically. | |
void | reset () |
Reset the Transform. | |
Constructors | |
DGVFourierTransform () | |
Standard Constructor. | |
virtual | ~DGVFourierTransform () |
Protected Member Functions | |
void | execute () |
Execute the plan constructed. | |
Protected Attributes | |
unsigned | mode |
FFTW Plan Flag. | |
fftw_plan | plan |
FFTW Paln for DFT's. |
Applies the various different DFT algorithms to Blitz++ constructs.
The FFTW library is used to implement the DFT algorithms on Blitz++ Arrays. The class can only handle upto 1D/2D/3D transforms and not higher. All results are un-normalised. Normalisations must be called using the normalise() function.
Usage Example:
DGVFourierTransform<double,2> Fourier; Array<complex<double>,2> image, kSpace; //Load or create image here ... Fourier.FFT(image,kSpace);
Definition at line 49 of file DGVFourierTransform.h.
DGVFourierTransform< type, rank >::DGVFourierTransform | ( | void | ) |
Standard Constructor.
Definition at line 116 of file DGVFourierTransform.h.
DGVFourierTransform< type, rank >::~DGVFourierTransform | ( | ) | [virtual] |
Definition at line 122 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::execute | ( | ) | [protected] |
Execute the plan constructed.
Definition at line 247 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::FFT | ( | Array< complex< type >, rank > & | field, | |
Array< complex< type >, rank > & | fftOfField | |||
) |
The Complex valued Fast Fourier Transform (FFT). Uses the FFTW C library.
Definition at line 128 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::FFT_Complex2Real | ( | Array< complex< type >, rank > & | fftOfField, | |
Array< type, rank > & | field | |||
) |
Definition at line 173 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::FFT_Real2Complex | ( | Array< type, rank > & | field, | |
Array< complex< type >, rank > & | fftOfField | |||
) |
Definition at line 158 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::iFFT | ( | Array< complex< type >, rank > & | fftOfField, | |
Array< complex< type >, rank > & | field | |||
) |
The Complex valued Inverse Fast Fourier Transform (iFFT). Uses the FFTW C library.
Definition at line 143 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::normalise | ( | Array< complex< type >, rank > & | field | ) |
Normalise the result of the Transform.
Definition at line 188 of file DGVFourierTransform.h.
void DGVFourierTransform< type, rank >::normalise | ( | Array< type, rank > & | field | ) |
Normalise the result of the Transform.
Definition at line 204 of file DGVFourierTransform.h.
DGVFourierTransform< type, rank >::reset | ( | ) | [inline] |
Reset the Transform.
Definition at line 102 of file DGVFourierTransform.h.
Array< type, rank > DGVFourierTransform< type, rank >::shiftDC | ( | Array< type, rank > & | field | ) |
Shift the DC by half the array size periodically.
Definition at line 220 of file DGVFourierTransform.h.
Array< complex< type >, rank > DGVFourierTransform< type, rank >::shiftDC | ( | Array< complex< type >, rank > & | field | ) |
Shift the DC by half the array size periodically.
Definition at line 233 of file DGVFourierTransform.h.
unsigned DGVFourierTransform< type, rank >::mode [protected] |
FFTW Plan Flag.
Definition at line 106 of file DGVFourierTransform.h.
fftw_plan DGVFourierTransform< type, rank >::plan [protected] |
FFTW Paln for DFT's.
Definition at line 107 of file DGVFourierTransform.h.