Public Member Functions | Static Public Member Functions | Protected Member Functions

vtkKWEImageRFFT Class Reference

Reverse Fast Fourier Transform. More...

#include <vtkKWEImageRFFT.h>

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

List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkKWEImageRFFT, vtkImageFourierFilter)
virtual void SetNumberOfThreads (int _arg)

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

Static Public Member Functions

static vtkKWEImageRFFTNew ()

Protected Member Functions

 vtkKWEImageRFFT ()
 ~vtkKWEImageRFFT ()
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)

Detailed Description

Reverse Fast Fourier Transform.

vtkKWEImageRFFT 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

Definition at line 47 of file vtkKWEImageRFFT.h.


Constructor & Destructor Documentation

vtkKWEImageRFFT::vtkKWEImageRFFT (  )  [inline, protected]

Definition at line 70 of file vtkKWEImageRFFT.h.

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

Definition at line 71 of file vtkKWEImageRFFT.h.


Member Function Documentation

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

Reimplemented from vtkAlgorithm.

vtkKWEImageRFFT::vtkTypeRevisionMacro ( vtkKWEImageRFFT  ,
vtkImageFourierFilter   
)
int vtkKWEImageRFFT::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 void vtkKWEImageRFFT::SetNumberOfThreads ( int  _arg  )  [virtual]

CUDA is only threadsafe accross multiple devices. This method raises a vtkError if called.

Reimplemented from vtkThreadedImageAlgorithm.

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

Reimplemented from vtkImageIterateFilter.

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

Reimplemented from vtkImageIterateFilter.

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

Reimplemented from vtkThreadedImageAlgorithm.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines