VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkImageRFFT Class Reference

Reverse Fast Fourier Transform. More...

#include <vtkImageRFFT.h>

Inheritance diagram for vtkImageRFFT:
Inheritance graph
[legend]
Collaboration diagram for vtkImageRFFT:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkImageFourierFilter Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkImageRFFTNewInstance () const
int SplitExtent (int splitExt[6], int startExt[6], int num, int total)

Static Public Member Functions

static vtkImageRFFTNew ()
static int IsTypeOf (const char *type)
static vtkImageRFFTSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkImageRFFT ()
 ~vtkImageRFFT ()
virtual int IterativeRequestInformation (vtkInformation *in, vtkInformation *out)
virtual int IterativeRequestUpdateExtent (vtkInformation *in, vtkInformation *out)
virtual void ThreadedRequestData (vtkInformation *vtkNotUsed(request), vtkInformationVector **inputVector, vtkInformationVector *vtkNotUsed(outputVector), vtkImageData ***inDataVec, vtkImageData **outDataVec, int outExt[6], int threadId)

Detailed Description

Reverse Fast Fourier Transform.

vtkImageRFFT implements the reverse fast Fourier transform. 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 fitlers 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. In most cases the RFFT will produce an image whose imaginary values are all zero's. In this case vtkImageExtractComponents can be used to remove this imaginary components leaving only the real image.

See also:
vtkImageExtractComponenents
Tests:
vtkImageRFFT (Tests)

Definition at line 44 of file vtkImageRFFT.h.


Member Typedef Documentation

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

Definition at line 48 of file vtkImageRFFT.h.


Constructor & Destructor Documentation

vtkImageRFFT::vtkImageRFFT ( ) [inline, protected]

Definition at line 63 of file vtkImageRFFT.h.

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

Definition at line 64 of file vtkImageRFFT.h.


Member Function Documentation

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

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkAlgorithm.

static int vtkImageRFFT::IsTypeOf ( const char *  type) [static]

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

virtual int vtkImageRFFT::IsA ( const char *  type) [virtual]

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

virtual vtkObjectBase* vtkImageRFFT::NewInstanceInternal ( ) const [protected, virtual]

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

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

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 vtkImageRFFT::IterativeRequestInformation ( vtkInformation in,
vtkInformation out 
) [protected, virtual]

Reimplemented from vtkImageIterateFilter.

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

Reimplemented from vtkImageIterateFilter.

virtual void vtkImageRFFT::ThreadedRequestData ( vtkInformation vtkNotUsedrequest,
vtkInformationVector **  inputVector,
vtkInformationVector vtkNotUsedoutputVector,
vtkImageData ***  inDataVec,
vtkImageData **  outDataVec,
int  outExt[6],
int  threadId 
) [protected, virtual]

The documentation for this class was generated from the following file: