VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkImageFFT Class Reference

Fast Fourier Transform. More...

#include <vtkImageFFT.h>

Inheritance diagram for vtkImageFFT:
[legend]
Collaboration diagram for vtkImageFFT:
[legend]

Public Types

typedef vtkImageFourierFilter Superclass
 
- Public Types inherited from vtkImageFourierFilter
typedef vtkImageDecomposeFilter Superclass
 
- Public Types inherited from vtkImageDecomposeFilter
typedef vtkImageIterateFilter Superclass
 
- Public Types inherited from vtkImageIterateFilter
typedef vtkThreadedImageAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkImageFFTNewInstance () const
 
int SplitExtent (int splitExt[6], int startExt[6], int num, int total)
 
- Public Member Functions inherited from vtkImageFourierFilter
vtkImageFourierFilterNewInstance () const
 
void ExecuteFft (vtkImageComplex *in, vtkImageComplex *out, int N)
 
void ExecuteRfft (vtkImageComplex *in, vtkImageComplex *out, int N)
 
- Public Member Functions inherited from vtkImageDecomposeFilter
void SetDimensionality (int dim)
 
virtual int GetDimensionality ()
 
void PermuteIncrements (vtkIdType *increments, vtkIdType &inc0, vtkIdType &inc1, vtkIdType &inc2)
 
void PermuteExtent (int *extent, int &min0, int &max0, int &min1, int &max1, int &min2, int &max2)
 
vtkImageDecomposeFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
- Public Member Functions inherited from vtkImageIterateFilter
vtkImageIterateFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int GetIteration ()
 
virtual int GetNumberOfIterations ()
 

Static Public Member Functions

static vtkImageFFTNew ()
 
static int IsTypeOf (const char *type)
 
static vtkImageFFTSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageFourierFilter
static int IsTypeOf (const char *type)
 
static vtkImageFourierFilterSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageDecomposeFilter
static int IsTypeOf (const char *type)
 
static vtkImageDecomposeFilterSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageIterateFilter
static int IsTypeOf (const char *type)
 
static vtkImageIterateFilterSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkImageFFT ()
 
 ~vtkImageFFT ()
 
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)
 
- Protected Member Functions inherited from vtkImageFourierFilter
 vtkImageFourierFilter ()
 
 ~vtkImageFourierFilter ()
 
void ExecuteFftStep2 (vtkImageComplex *p_in, vtkImageComplex *p_out, int N, int bsize, int fb)
 
void ExecuteFftStepN (vtkImageComplex *p_in, vtkImageComplex *p_out, int N, int bsize, int n, int fb)
 
void ExecuteFftForwardBackward (vtkImageComplex *in, vtkImageComplex *out, int N, int fb)
 
- Protected Member Functions inherited from vtkImageDecomposeFilter
 vtkImageDecomposeFilter ()
 
 ~vtkImageDecomposeFilter ()
 
- Protected Member Functions inherited from vtkImageIterateFilter
 vtkImageIterateFilter ()
 
 ~vtkImageIterateFilter ()
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int IterativeRequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual void SetNumberOfIterations (int num)
 

Additional Inherited Members

- Protected Attributes inherited from vtkImageDecomposeFilter
int Dimensionality
 
- Protected Attributes inherited from vtkImageIterateFilter
int NumberOfIterations
 
int Iteration
 
vtkAlgorithm ** IterationData
 
vtkInformationVector * InputVector
 
vtkInformationVector * OutputVector
 

Detailed Description

Fast Fourier Transform.

vtkImageFFT implements a 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 diagram 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 serially.

Tests:
vtkImageFFT (Tests)

Definition at line 38 of file vtkImageFFT.h.

Member Typedef Documentation

Definition at line 42 of file vtkImageFFT.h.

Constructor & Destructor Documentation

vtkImageFFT::vtkImageFFT ( )
inlineprotected

Definition at line 57 of file vtkImageFFT.h.

vtkImageFFT::~vtkImageFFT ( )
inlineprotected

Definition at line 58 of file vtkImageFFT.h.

Member Function Documentation

static vtkImageFFT* vtkImageFFT::New ( )
static
static int vtkImageFFT::IsTypeOf ( const char *  type)
static
virtual int vtkImageFFT::IsA ( const char *  type)
virtual

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

static vtkImageFFT* vtkImageFFT::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkImageFFT::NewInstanceInternal ( ) const
protectedvirtual

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageFourierFilter.

vtkImageFFT* vtkImageFFT::NewInstance ( ) const
int vtkImageFFT::SplitExtent ( int  splitExt[6],
int  startExt[6],
int  num,
int  total 
)

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.

virtual int vtkImageFFT::IterativeRequestInformation ( vtkInformation *  in,
vtkInformation *  out 
)
protectedvirtual

Reimplemented from vtkImageIterateFilter.

virtual int vtkImageFFT::IterativeRequestUpdateExtent ( vtkInformation *  in,
vtkInformation *  out 
)
protectedvirtual

Reimplemented from vtkImageIterateFilter.

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

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