Fast Fourier Transform. More...
#include <vtkKWEImageFFT.h>


Public Member Functions | |
| vtkTypeRevisionMacro (vtkKWEImageFFT, vtkImageFourierFilter) | |
| int | SplitExtent (int splitExt[6], int startExt[6], int num, int total) |
Static Public Member Functions | |
| static vtkKWEImageFFT * | New () |
Protected Member Functions | |
| vtkKWEImageFFT () | |
| ~vtkKWEImageFFT () | |
| 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) |
| virtual void | SetNumberOfThreads (int _arg) |
Fast Fourier Transform.
vtkKWEImageFFT 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 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.
Definition at line 42 of file vtkKWEImageFFT.h.
| vtkKWEImageFFT::vtkKWEImageFFT | ( | ) | [inline, protected] |
Definition at line 61 of file vtkKWEImageFFT.h.
| vtkKWEImageFFT::~vtkKWEImageFFT | ( | ) | [inline, protected] |
Definition at line 62 of file vtkKWEImageFFT.h.
| static vtkKWEImageFFT* vtkKWEImageFFT::New | ( | ) | [static] |
Reimplemented from vtkAlgorithm.
| vtkKWEImageFFT::vtkTypeRevisionMacro | ( | vtkKWEImageFFT | , | |
| vtkImageFourierFilter | ||||
| ) |
| int vtkKWEImageFFT::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 vtkKWEImageFFT::IterativeRequestInformation | ( | vtkInformation * | in, | |
| vtkInformation * | out | |||
| ) | [protected, virtual] |
Reimplemented from vtkImageIterateFilter.
| virtual int vtkKWEImageFFT::IterativeRequestUpdateExtent | ( | vtkInformation * | in, | |
| vtkInformation * | out | |||
| ) | [protected, virtual] |
Reimplemented from vtkImageIterateFilter.
| void vtkKWEImageFFT::ThreadedExecute | ( | vtkImageData * | inData, | |
| vtkImageData * | outData, | |||
| int | outExt[6], | |||
| int | threadId | |||
| ) | [protected, virtual] |
Reimplemented from vtkThreadedImageAlgorithm.
| virtual void vtkKWEImageFFT::SetNumberOfThreads | ( | int | _arg | ) | [protected, virtual] |
CUDA is only threadsafe accross multiple devices. This method raises a vtkError if called.
Reimplemented from vtkThreadedImageAlgorithm.
1.7.1