#include <vtkImageReducedFFT.h>
Inheritance diagram for vtkImageReducedFFT:


vtkImageReducedFFT implements a reduced length fast Fourier transform. It has two modes of operation. The default mode samples the data based on the pruned length and sets the remaining values to zero. This retains the original field of view of the image. The other method only calculates the fft of the first pruned-lengthed values and then copies the result across the output. For this case multiple copies of the fft'ed image with a smaller field of view will appear in the final output. In either case the final output will have the same dimensions as the input. 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 filter 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. The pruned length of the FFT must be less than or equal to the image dimensions. Finally, depending on the dimensionality, the dimensions must be equal.
Definition at line 65 of file vtkImageReducedFFT.h.
Public Member Functions | |
| vtkTypeRevisionMacro (vtkImageReducedFFT, vtkImageMRIFourierFilter) | |
| virtual void | SetIFFT (int) |
| virtual int | GetIFFT () |
| virtual void | IFFTOn () |
| virtual void | IFFTOff () |
| virtual void | SetOperation (int) |
| virtual int | GetOperation () |
| void | SetOperationToPrunedFFTSampled () |
| void | SetOperationToPrunedFFTCopied () |
| virtual void | SetPrunedLength (int) |
| virtual int | GetPrunedLength () |
| int | SplitExtent (int splitExt[6], int startExt[6], int num, int total) |
Static Public Member Functions | |
| static vtkImageReducedFFT * | New () |
Protected Member Functions | |
| vtkImageReducedFFT () | |
| ~vtkImageReducedFFT () | |
| 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) |
Protected Attributes | |
| int | PrunedLength |
| int | IFFT |
| int | Operation |
| vtkImageReducedFFT::vtkImageReducedFFT | ( | ) | [protected] |
| vtkImageReducedFFT::~vtkImageReducedFFT | ( | ) | [inline, protected] |
Definition at line 110 of file vtkImageReducedFFT.h.
| static vtkImageReducedFFT* vtkImageReducedFFT::New | ( | ) | [static] |
Reimplemented from vtkAlgorithm.
| vtkImageReducedFFT::vtkTypeRevisionMacro | ( | vtkImageReducedFFT | , | |
| vtkImageMRIFourierFilter | ||||
| ) |
| virtual void vtkImageReducedFFT::SetIFFT | ( | int | ) | [virtual] |
Set/Get whether to perform Inverse Fourier Transform.
| virtual int vtkImageReducedFFT::GetIFFT | ( | ) | [virtual] |
Set/Get whether to perform Inverse Fourier Transform.
| virtual void vtkImageReducedFFT::IFFTOn | ( | ) | [virtual] |
Set/Get whether to perform Inverse Fourier Transform.
| virtual void vtkImageReducedFFT::IFFTOff | ( | ) | [virtual] |
Set/Get whether to perform Inverse Fourier Transform.
| virtual void vtkImageReducedFFT::SetOperation | ( | int | ) | [virtual] |
Set/Get the Operation to perform.
| virtual int vtkImageReducedFFT::GetOperation | ( | ) | [virtual] |
Set/Get the Operation to perform.
| void vtkImageReducedFFT::SetOperationToPrunedFFTSampled | ( | ) | [inline] |
Set/Get the Operation to perform.
Definition at line 82 of file vtkImageReducedFFT.h.
References VTK_PRUNEDFFT_SAMPLED.
| void vtkImageReducedFFT::SetOperationToPrunedFFTCopied | ( | ) | [inline] |
Set/Get the Operation to perform.
Definition at line 83 of file vtkImageReducedFFT.h.
References VTK_PRUNEDFFT_COPIED.
| virtual void vtkImageReducedFFT::SetPrunedLength | ( | int | ) | [virtual] |
Set/Get the length of the pruned FFT. The pruned length must be less than or equal to the plane dimensions and greater than 1.
| virtual int vtkImageReducedFFT::GetPrunedLength | ( | ) | [virtual] |
Set/Get the length of the pruned FFT. The pruned length must be less than or equal to the plane dimensions and greater than 1.
| int vtkImageReducedFFT::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 vtkImageReducedFFT::IterativeRequestInformation | ( | vtkInformation * | in, | |
| vtkInformation * | out | |||
| ) | [protected, virtual] |
Reimplemented from vtkImageIterateFilter.
| virtual int vtkImageReducedFFT::IterativeRequestUpdateExtent | ( | vtkInformation * | in, | |
| vtkInformation * | out | |||
| ) | [protected, virtual] |
Reimplemented from vtkImageIterateFilter.
| void vtkImageReducedFFT::ThreadedExecute | ( | vtkImageData * | inData, | |
| vtkImageData * | outData, | |||
| int | outExt[6], | |||
| int | threadId | |||
| ) | [protected, virtual] |
Reimplemented from vtkThreadedImageAlgorithm.
int vtkImageReducedFFT::PrunedLength [protected] |
Definition at line 110 of file vtkImageReducedFFT.h.
int vtkImageReducedFFT::IFFT [protected] |
Definition at line 113 of file vtkImageReducedFFT.h.
int vtkImageReducedFFT::Operation [protected] |
Definition at line 114 of file vtkImageReducedFFT.h.
1.4.7