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
00067 #ifndef __vtkImageAccumulate_h
00068 #define __vtkImageAccumulate_h
00069
00070
00071 #include "vtkImageToImageFilter.h"
00072 #include "vtkImageStencilData.h"
00073
00074 class VTK_IMAGING_EXPORT vtkImageAccumulate : public vtkImageToImageFilter
00075 {
00076 public:
00077 static vtkImageAccumulate *New();
00078 vtkTypeMacro(vtkImageAccumulate,vtkImageToImageFilter);
00079 void PrintSelf(ostream& os, vtkIndent indent);
00080
00082
00087 vtkSetVector3Macro(ComponentSpacing, float);
00088 vtkGetVector3Macro(ComponentSpacing, float);
00090
00092
00098 vtkSetVector3Macro(ComponentOrigin, float);
00099 vtkGetVector3Macro(ComponentOrigin, float);
00101
00103
00108 void SetComponentExtent(int extent[6]);
00109 void SetComponentExtent(int minX, int maxX, int minY, int maxY,
00110 int minZ, int maxZ);
00111 void GetComponentExtent(int extent[6]);
00112 int *GetComponentExtent() {return this->ComponentExtent;}
00114
00115
00117
00118 void SetStencil(vtkImageStencilData *stencil);
00119 vtkImageStencilData *GetStencil();
00121
00123
00124 vtkSetMacro(ReverseStencil, int);
00125 vtkBooleanMacro(ReverseStencil, int);
00126 vtkGetMacro(ReverseStencil, int);
00128
00130
00131 vtkGetVector3Macro(Min, double);
00132 vtkGetVector3Macro(Max, double);
00133 vtkGetVector3Macro(Mean, double);
00134 vtkGetVector3Macro(StandardDeviation, double);
00135 vtkGetMacro(VoxelCount, long int);
00137
00138
00139 protected:
00140 vtkImageAccumulate();
00141 ~vtkImageAccumulate();
00142
00143 float ComponentSpacing[3];
00144 float ComponentOrigin[3];
00145 int ComponentExtent[6];
00146
00147 void ExecuteInformation(vtkImageData *input, vtkImageData *output);
00148 void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00149 void ExecuteInformation(){this->vtkImageToImageFilter::ExecuteInformation();};
00150 void ExecuteData(vtkDataObject *out);
00151
00152 double Min[3];
00153 double Max[3];
00154 double Mean[3];
00155 double StandardDeviation[3];
00156 long int VoxelCount;
00157
00158 int ReverseStencil;
00159
00160 private:
00161 vtkImageAccumulate(const vtkImageAccumulate&);
00162 void operator=(const vtkImageAccumulate&);
00163 };
00164
00165 #endif
00166
00167
00168