vtkImageReducedFFT Class Reference

#include <vtkImageReducedFFT.h>

Inheritance diagram for vtkImageReducedFFT:

Inheritance graph
[legend]
Collaboration diagram for vtkImageReducedFFT:

Collaboration graph
[legend]
List of all members.

Detailed Description

Reduced Length Fast Fourier Transform.

vtkImageReducedFFT implements a reduced length fast Fourier transform. It has two modes of operation. The default mode samples the data based on the pruned length and sets the remaining values to zero. This retains the original field of view of the image. The other method only calculates the fft of the first pruned-lengthed values and then copies the result across the output. For this case multiple copies of the fft'ed image with a smaller field of view will appear in the final output. In either case the final output will have the same dimensions as the input. The input can have real or complex data in any components and data types, but the output is always complex doubles with real values in component0, and imaginary values in component1. The filter is fastest for images that have power of two sizes. The filter uses a butterfly filter for each prime factor of the dimension. This makes images with prime number dimensions (i.e. 17x17) much slower to compute. Multi dimensional (i.e volumes) FFT's are decomposed so that each axis executes in series. The pruned length of the FFT must be less than or equal to the image dimensions. Finally, depending on the dimensionality, the dimensions must be equal.

See also:
vtkImageMRIFourierFilter

Definition at line 65 of file vtkImageReducedFFT.h.

Public Member Functions

 vtkTypeRevisionMacro (vtkImageReducedFFT, vtkImageMRIFourierFilter)
virtual void SetIFFT (int)
virtual int GetIFFT ()
virtual void IFFTOn ()
virtual void IFFTOff ()
virtual void SetOperation (int)
virtual int GetOperation ()
void SetOperationToPrunedFFTSampled ()
void SetOperationToPrunedFFTCopied ()
virtual void SetPrunedLength (int)
virtual int GetPrunedLength ()
int SplitExtent (int splitExt[6], int startExt[6], int num, int total)

Static Public Member Functions

static vtkImageReducedFFTNew ()

Protected Member Functions

 vtkImageReducedFFT ()
 ~vtkImageReducedFFT ()
virtual int IterativeRequestInformation (vtkInformation *in, vtkInformation *out)
virtual int IterativeRequestUpdateExtent (vtkInformation *in, vtkInformation *out)
void ThreadedExecute (vtkImageData *inData, vtkImageData *outData, int outExt[6], int threadId)

Protected Attributes

int PrunedLength
int IFFT
int Operation


Constructor & Destructor Documentation

vtkImageReducedFFT::vtkImageReducedFFT (  )  [protected]

vtkImageReducedFFT::~vtkImageReducedFFT (  )  [inline, protected]

Definition at line 110 of file vtkImageReducedFFT.h.


Member Function Documentation

static vtkImageReducedFFT* vtkImageReducedFFT::New (  )  [static]

Reimplemented from vtkAlgorithm.

vtkImageReducedFFT::vtkTypeRevisionMacro ( vtkImageReducedFFT  ,
vtkImageMRIFourierFilter   
)

virtual void vtkImageReducedFFT::SetIFFT ( int   )  [virtual]

Set/Get whether to perform Inverse Fourier Transform.

virtual int vtkImageReducedFFT::GetIFFT (  )  [virtual]

Set/Get whether to perform Inverse Fourier Transform.

virtual void vtkImageReducedFFT::IFFTOn (  )  [virtual]

Set/Get whether to perform Inverse Fourier Transform.

virtual void vtkImageReducedFFT::IFFTOff (  )  [virtual]

Set/Get whether to perform Inverse Fourier Transform.

virtual void vtkImageReducedFFT::SetOperation ( int   )  [virtual]

Set/Get the Operation to perform.

virtual int vtkImageReducedFFT::GetOperation (  )  [virtual]

Set/Get the Operation to perform.

void vtkImageReducedFFT::SetOperationToPrunedFFTSampled (  )  [inline]

Set/Get the Operation to perform.

Definition at line 82 of file vtkImageReducedFFT.h.

References VTK_PRUNEDFFT_SAMPLED.

void vtkImageReducedFFT::SetOperationToPrunedFFTCopied (  )  [inline]

Set/Get the Operation to perform.

Definition at line 83 of file vtkImageReducedFFT.h.

References VTK_PRUNEDFFT_COPIED.

virtual void vtkImageReducedFFT::SetPrunedLength ( int   )  [virtual]

Set/Get the length of the pruned FFT. The pruned length must be less than or equal to the plane dimensions and greater than 1.

virtual int vtkImageReducedFFT::GetPrunedLength (  )  [virtual]

Set/Get the length of the pruned FFT. The pruned length must be less than or equal to the plane dimensions and greater than 1.

int vtkImageReducedFFT::SplitExtent ( int  splitExt[6],
int  startExt[6],
int  num,
int  total 
) [virtual]

Used internally for streaming and threads. Splits output update extent into num pieces. This method needs to be called num times. Results must not overlap for consistent starting extent. Subclass can override this method. This method returns the number of pieces resulting from a successful split. This can be from 1 to "total". If 1 is returned, the extent cannot be split.

Reimplemented from vtkThreadedImageAlgorithm.

virtual int vtkImageReducedFFT::IterativeRequestInformation ( vtkInformation in,
vtkInformation out 
) [protected, virtual]

Reimplemented from vtkImageIterateFilter.

virtual int vtkImageReducedFFT::IterativeRequestUpdateExtent ( vtkInformation in,
vtkInformation out 
) [protected, virtual]

Reimplemented from vtkImageIterateFilter.

void vtkImageReducedFFT::ThreadedExecute ( vtkImageData inData,
vtkImageData outData,
int  outExt[6],
int  threadId 
) [protected, virtual]

Reimplemented from vtkThreadedImageAlgorithm.


Member Data Documentation

int vtkImageReducedFFT::PrunedLength [protected]

Definition at line 110 of file vtkImageReducedFFT.h.

int vtkImageReducedFFT::IFFT [protected]

Definition at line 113 of file vtkImageReducedFFT.h.

int vtkImageReducedFFT::Operation [protected]

Definition at line 114 of file vtkImageReducedFFT.h.


The documentation for this class was generated from the following file:
Generated on Tue May 12 14:53:32 2009 for vtkCNMRRLibrary by  doxygen 1.4.7