25 #ifndef vtkImageFourierFilter_h 26 #define vtkImageFourierFilter_h 29 #include "vtkImagingFourierModule.h" 41 #define vtkImageComplexEuclidSet(C, R, I) \ 45 #define vtkImageComplexPolarSet(C, M, P) \ 46 (C).Real = (M)*cos(P); \ 49 #define vtkImageComplexPrint(C) printf("(%.3f, %.3f)", (C).Real, (C).Imag) 51 #define vtkImageComplexScale(cOut, S, cIn) \ 52 (cOut).Real = (cIn).Real * (S); \ 53 (cOut).Imag = (cIn).Imag * (S) 55 #define vtkImageComplexConjugate(cIn, cOut) \ 56 (cOut).Imag = (cIn).Imag * -1.0; \ 57 (cOut).Real = (cIn).Real 59 #define vtkImageComplexAdd(C1, C2, cOut) \ 60 (cOut).Real = (C1).Real + (C2).Real; \ 61 (cOut).Imag = (C1).Imag + (C2).Imag 63 #define vtkImageComplexSubtract(C1, C2, cOut) \ 64 (cOut).Real = (C1).Real - (C2).Real; \ 65 (cOut).Imag = (C1).Imag - (C2).Imag 67 #define vtkImageComplexMultiply(C1, C2, cOut) \ 69 vtkImageComplex _vtkImageComplexMultiplyTemp; \ 70 _vtkImageComplexMultiplyTemp.Real = (C1).Real * (C2).Real - (C1).Imag * (C2).Imag; \ 71 _vtkImageComplexMultiplyTemp.Imag = (C1).Real * (C2).Imag + (C1).Imag * (C2).Real; \ 72 cOut = _vtkImageComplexMultiplyTemp; \ 76 #define vtkImageComplexExponential(cIn, cOut) \ 78 double tmp = exp(cIn.Real); \ 79 cOut.Real = tmp * cos(cIn.Imag); \ 80 cOut.Imag = tmp * sin(cIn.Imag); \ 111 void ExecuteFftStepN(
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
~vtkImageFourierFilter() override
Superclass that implements complex numbers.
Filters that execute axes in series.