VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageAccumulate.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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&); // Not implemented. 00152 void operator=(const vtkImageAccumulate&); // Not implemented. 00153 }; 00154 00155 #endif 00156 00157 00158