00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00045 #ifndef __vtkImageMEFIC_h
00046 #define __vtkImageMEFIC_h
00047
00048
00049 #include "vtkImageMRIFourierFilter.h"
00050 #include "vtkCNMRRImagingWin32Header.h"
00051
00052 class VTK_CNMRR_IMAGING_EXPORT vtkImageMEFIC : public vtkImageMRIFourierFilter
00053 {
00054 public:
00055 static vtkImageMEFIC *New();
00056 vtkTypeRevisionMacro(vtkImageMEFIC,vtkImageMRIFourierFilter);
00057
00059
00064 void SetDimensionality(int dim){};
00065 vtkGetMacro(Dimensionality,int);
00067
00069
00071 vtkSetMacro(InputImageSortedByEchoBlocks,int);
00072 vtkGetMacro(InputImageSortedByEchoBlocks,int);
00073 vtkBooleanMacro(InputImageSortedByEchoBlocks, int);
00075
00077
00078 vtkSetMacro(NumberOfEchoes,int);
00079 vtkGetMacro(NumberOfEchoes,int);
00081
00083
00085 vtkSetMacro(NumberOfSlices,int);
00086 vtkGetMacro(NumberOfSlices,int);
00088
00090
00092 vtkSetMacro(NumberOfSliceEncodingStepsPerSlice,int);
00093 vtkGetMacro(NumberOfSliceEncodingStepsPerSlice,int);
00095
00097
00099 vtkSetMacro(NumberOfImageRepetitions,int);
00100 vtkGetMacro(NumberOfImageRepetitions,int);
00102
00104
00105 vtkSetMacro(IFFT, int);
00106 vtkGetMacro(IFFT, int);
00107 vtkBooleanMacro(IFFT, int);
00109
00111
00118 int SplitExtent(int splitExt[6], int startExt[6],
00119 int num, int total);
00121
00122
00123 protected:
00124 vtkImageMEFIC();
00125 ~vtkImageMEFIC() {};
00126
00127 int IFFT;
00128
00129 int InputImageSortedByEchoBlocks;
00130
00131 int NumberOfEchoes;
00132
00133 int NumberOfSlices;
00134
00135 int NumberOfSliceEncodingStepsPerSlice;
00136
00137 int NumberOfImageRepetitions;
00138
00139 virtual int IterativeRequestInformation(vtkInformation* in,
00140 vtkInformation* out);
00141
00142 virtual int IterativeRequestUpdateExtent(vtkInformation* in,
00143 vtkInformation* out);
00144
00145 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00146 int outExt[6], int threadId);
00147 private:
00148 vtkImageMEFIC(const vtkImageMEFIC&);
00149 void operator=(const vtkImageMEFIC&);
00150 };
00151
00152 #endif