Reverse Fast Fourier Transform. More...
#include <vtkKWEImageRFFT.h>


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 vtkKWEImageRFFT * | New () |
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) |
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.
Definition at line 47 of file vtkKWEImageRFFT.h.
| vtkKWEImageRFFT::vtkKWEImageRFFT | ( | ) | [inline, protected] |
Definition at line 70 of file vtkKWEImageRFFT.h.
| vtkKWEImageRFFT::~vtkKWEImageRFFT | ( | ) | [inline, protected] |
Definition at line 71 of file vtkKWEImageRFFT.h.
| 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.
1.7.1