43 #ifndef SVK_MRS_IMAGE_FFT_H
44 #define SVK_MRS_IMAGE_FFT_H
47 #include <vtkObject.h>
48 #include <vtkObjectFactory.h>
49 #include <vtkInformation.h>
50 #include <vtkStreamingDemandDrivenPipeline.h>
51 #include <vtkImageFourierFilter.h>
52 #include <vtkImageFFT.h>
53 #include <vtkImageRFFT.h>
95 void SetUpdateExtent(
int* start,
int* end);
96 static void ConvertArrayToImageComplex( vtkDataArray* array, vtkImageComplex* imageComplexArray);
97 void SetFFTDomain( FFTDomain domain );
98 void SetFFTMode( FFTMode mode );
99 void SetPreCorrectCenter(
bool preCorrectCenter );
100 void SetPostCorrectCenter(
bool postCorrectCenter );
101 void SetVoxelShift(
double voxelShift[3] );
102 static void FFTShift( vtkImageComplex* dataIn,
int numPoints );
103 static void IFFTShift( vtkImageComplex* dataIn,
int numPoints );
104 void OnlyUseSelectionBox();
112 virtual int FillInputPortInformation(
int port, vtkInformation* info);
116 virtual int RequestInformation(
117 vtkInformation* request,
118 vtkInformationVector** inputVector,
119 vtkInformationVector* outputVector
122 virtual int RequestData(
123 vtkInformation* request,
124 vtkInformationVector** inputVector,
125 vtkInformationVector* outputVector
128 virtual int RequestDataSpatial(
129 vtkInformation* request,
130 vtkInformationVector** inputVector,
131 vtkInformationVector* outputVector,
132 vtkImageFourierFilter* fourierFilter
135 virtual int RequestDataSpectral(
136 vtkInformation* request,
137 vtkInformationVector** inputVector,
138 vtkInformationVector* outputVector,
139 vtkImageFourierFilter* fourierFilter
145 bool preCorrectCenter;
146 bool postCorrectCenter;
147 bool onlyUseSelectionBox;
148 short* selectionBoxMask;
150 double voxelShift[3];
156 void PrintSpectrum( vtkImageComplex* data,
int numPoints, vtkstd::string msg );
157 void NormalizePhaseShift(
double shift[3] );
158 void ValidateRequest();
167 #endif //SVK_MRS_IMAGE_FFT_H
Definition: svkImageInPlaceFilter.h:69
Definition: svkMrsImageFFT.h:77