00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkImageAccumulate_h
00044 #define __vtkImageAccumulate_h
00045
00046 #include "vtkImageAlgorithm.h"
00047
00048 class vtkImageStencilData;
00049
00050 class VTK_IMAGING_EXPORT vtkImageAccumulate : public vtkImageAlgorithm
00051 {
00052 public:
00053 static vtkImageAccumulate *New();
00054 vtkTypeMacro(vtkImageAccumulate,vtkImageAlgorithm);
00055 void PrintSelf(ostream& os, vtkIndent indent);
00056
00058
00063 vtkSetVector3Macro(ComponentSpacing, double);
00064 vtkGetVector3Macro(ComponentSpacing, double);
00066
00068
00074 vtkSetVector3Macro(ComponentOrigin, double);
00075 vtkGetVector3Macro(ComponentOrigin, double);
00077
00079
00084 void SetComponentExtent(int extent[6]);
00085 void SetComponentExtent(int minX, int maxX, int minY, int maxY,
00086 int minZ, int maxZ);
00087 void GetComponentExtent(int extent[6]);
00088 int *GetComponentExtent() {return this->ComponentExtent;}
00090
00091
00093
00094 void SetStencil(vtkImageStencilData *stencil);
00095 vtkImageStencilData *GetStencil();
00097
00099
00100 vtkSetClampMacro(ReverseStencil, int, 0, 1);
00101 vtkBooleanMacro(ReverseStencil, int);
00102 vtkGetMacro(ReverseStencil, int);
00104
00106
00107 vtkGetVector3Macro(Min, double);
00108 vtkGetVector3Macro(Max, double);
00109 vtkGetVector3Macro(Mean, double);
00110 vtkGetVector3Macro(StandardDeviation, double);
00111 vtkGetMacro(VoxelCount, long int);
00113
00115
00116 vtkSetClampMacro(IgnoreZero, int, 0, 1);
00117 vtkGetMacro(IgnoreZero, int);
00118 vtkBooleanMacro(IgnoreZero, int);
00120
00121 protected:
00122 vtkImageAccumulate();
00123 ~vtkImageAccumulate();
00124
00125 double ComponentSpacing[3];
00126 double ComponentOrigin[3];
00127 int ComponentExtent[6];
00128
00129 virtual int RequestUpdateExtent(vtkInformation*,
00130 vtkInformationVector**,
00131 vtkInformationVector*);
00132 virtual int RequestInformation (vtkInformation*,
00133 vtkInformationVector**,
00134 vtkInformationVector*);
00135 virtual int RequestData(vtkInformation* request,
00136 vtkInformationVector** inputVector,
00137 vtkInformationVector* outputVector);
00138
00139 int IgnoreZero;
00140 double Min[3];
00141 double Max[3];
00142 double Mean[3];
00143 double StandardDeviation[3];
00144 long int VoxelCount;
00145
00146 int ReverseStencil;
00147
00148 virtual int FillInputPortInformation(int port, vtkInformation* info);
00149
00150 private:
00151 vtkImageAccumulate(const vtkImageAccumulate&);
00152 void operator=(const vtkImageAccumulate&);
00153 };
00154
00155 #endif
00156
00157
00158