00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00038 #ifndef __vtkImageAccumulate_h
00039 #define __vtkImageAccumulate_h
00040
00041
00042 #include "vtkImageAlgorithm.h"
00043
00044 class vtkImageStencilData;
00045
00046 class VTK_IMAGING_EXPORT vtkImageAccumulate : public vtkImageAlgorithm
00047 {
00048 public:
00049 static vtkImageAccumulate *New();
00050 vtkTypeRevisionMacro(vtkImageAccumulate,vtkImageAlgorithm);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054
00059 vtkSetVector3Macro(ComponentSpacing, double);
00060 vtkGetVector3Macro(ComponentSpacing, double);
00062
00064
00070 vtkSetVector3Macro(ComponentOrigin, double);
00071 vtkGetVector3Macro(ComponentOrigin, double);
00073
00075
00080 void SetComponentExtent(int extent[6]);
00081 void SetComponentExtent(int minX, int maxX, int minY, int maxY,
00082 int minZ, int maxZ);
00083 void GetComponentExtent(int extent[6]);
00084 int *GetComponentExtent() {return this->ComponentExtent;}
00086
00087
00089
00090 void SetStencil(vtkImageStencilData *stencil);
00091 vtkImageStencilData *GetStencil();
00093
00095
00096 vtkSetMacro(ReverseStencil, int);
00097 vtkBooleanMacro(ReverseStencil, int);
00098 vtkGetMacro(ReverseStencil, int);
00100
00102
00103 vtkGetVector3Macro(Min, double);
00104 vtkGetVector3Macro(Max, double);
00105 vtkGetVector3Macro(Mean, double);
00106 vtkGetVector3Macro(StandardDeviation, double);
00107 vtkGetMacro(VoxelCount, long int);
00109
00110
00111 protected:
00112 vtkImageAccumulate();
00113 ~vtkImageAccumulate();
00114
00115 double ComponentSpacing[3];
00116 double ComponentOrigin[3];
00117 int ComponentExtent[6];
00118
00119 virtual int RequestUpdateExtent(vtkInformation*,
00120 vtkInformationVector**,
00121 vtkInformationVector*);
00122 virtual int RequestInformation (vtkInformation*,
00123 vtkInformationVector**,
00124 vtkInformationVector*);
00125 virtual int RequestData(vtkInformation* request,
00126 vtkInformationVector** inputVector,
00127 vtkInformationVector* outputVector);
00128
00129 double Min[3];
00130 double Max[3];
00131 double Mean[3];
00132 double StandardDeviation[3];
00133 long int VoxelCount;
00134
00135 int ReverseStencil;
00136
00137 virtual int FillInputPortInformation(int port, vtkInformation* info);
00138
00139 private:
00140 vtkImageAccumulate(const vtkImageAccumulate&);
00141 void operator=(const vtkImageAccumulate&);
00142 };
00143
00144 #endif
00145
00146
00147