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
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00057 #ifndef __vtkImageShrink3D_h
00058 #define __vtkImageShrink3D_h
00059
00060
00061 #include "vtkImageToImageFilter.h"
00062
00063 class VTK_IMAGING_EXPORT vtkImageShrink3D : public vtkImageToImageFilter
00064 {
00065 public:
00066 static vtkImageShrink3D *New();
00067 vtkTypeMacro(vtkImageShrink3D,vtkImageToImageFilter);
00068 void PrintSelf(ostream& os, vtkIndent indent);
00069
00071
00072 vtkSetVector3Macro(ShrinkFactors,int);
00073 vtkGetVector3Macro(ShrinkFactors,int);
00075
00077
00078 vtkSetVector3Macro(Shift,int);
00079 vtkGetVector3Macro(Shift,int);
00081
00083
00088 void SetAveraging(int);
00089 int GetAveraging() {return this->GetMean();};
00090 vtkBooleanMacro(Averaging,int);
00092
00093 void SetMean(int);
00094 vtkGetMacro(Mean,int);
00095 vtkBooleanMacro(Mean,int);
00096
00097 void SetMinimum(int);
00098 vtkGetMacro(Minimum,int);
00099 vtkBooleanMacro(Minimum,int);
00100
00101 void SetMaximum(int);
00102 vtkGetMacro(Maximum,int);
00103 vtkBooleanMacro(Maximum,int);
00104
00105 void SetMedian(int);
00106 vtkGetMacro(Median,int);
00107 vtkBooleanMacro(Median,int);
00108
00109
00110 protected:
00111 vtkImageShrink3D();
00112 ~vtkImageShrink3D() {};
00113
00114 int ShrinkFactors[3];
00115 int Shift[3];
00116 int Mean;
00117 int Minimum;
00118 int Maximum;
00119 int Median;
00120
00121 void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00122 void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00123 void ExecuteInformation(){this->vtkImageToImageFilter::ExecuteInformation();};
00124 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00125 int ext[6], int id);
00126 private:
00127 vtkImageShrink3D(const vtkImageShrink3D&);
00128 void operator=(const vtkImageShrink3D&);
00129 };
00130
00131 #endif
00132
00133
00134