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 =========================================================================*/ 00042 #ifndef __vtkImageAccumulate_h 00043 #define __vtkImageAccumulate_h 00044 00045 #include "vtkImagingStatisticsModule.h" // For export macro 00046 #include "vtkImageAlgorithm.h" 00047 00048 class vtkImageStencilData; 00049 00050 class VTKIMAGINGSTATISTICS_EXPORT vtkImageAccumulate : public vtkImageAlgorithm 00051 { 00052 public: 00053 static vtkImageAccumulate *New(); 00054 vtkTypeMacro(vtkImageAccumulate,vtkImageAlgorithm); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 00064 vtkSetVector3Macro(ComponentSpacing, double); 00065 vtkGetVector3Macro(ComponentSpacing, double); 00067 00069 00075 vtkSetVector3Macro(ComponentOrigin, double); 00076 vtkGetVector3Macro(ComponentOrigin, double); 00078 00080 00085 void SetComponentExtent(int extent[6]); 00086 void SetComponentExtent(int minX, int maxX, int minY, int maxY, 00087 int minZ, int maxZ); 00088 void GetComponentExtent(int extent[6]); 00089 int *GetComponentExtent() {return this->ComponentExtent;} 00091 00092 00094 00097 void SetStencilData(vtkImageStencilData *stencil); 00098 vtkImageStencilData *GetStencil(); 00100 00102 00103 vtkSetClampMacro(ReverseStencil, int, 0, 1); 00104 vtkBooleanMacro(ReverseStencil, int); 00105 vtkGetMacro(ReverseStencil, int); 00107 00109 00111 vtkGetVector3Macro(Min, double); 00112 vtkGetVector3Macro(Max, double); 00113 vtkGetVector3Macro(Mean, double); 00114 vtkGetVector3Macro(StandardDeviation, double); 00115 vtkGetMacro(VoxelCount, vtkIdType); 00117 00119 00120 vtkSetClampMacro(IgnoreZero, int, 0, 1); 00121 vtkGetMacro(IgnoreZero, int); 00122 vtkBooleanMacro(IgnoreZero, int); 00124 00125 protected: 00126 vtkImageAccumulate(); 00127 ~vtkImageAccumulate(); 00128 00129 double ComponentSpacing[3]; 00130 double ComponentOrigin[3]; 00131 int ComponentExtent[6]; 00132 00133 virtual int RequestUpdateExtent(vtkInformation*, 00134 vtkInformationVector**, 00135 vtkInformationVector*); 00136 virtual int RequestInformation (vtkInformation*, 00137 vtkInformationVector**, 00138 vtkInformationVector*); 00139 virtual int RequestData(vtkInformation* request, 00140 vtkInformationVector** inputVector, 00141 vtkInformationVector* outputVector); 00142 00143 int IgnoreZero; 00144 double Min[3]; 00145 double Max[3]; 00146 double Mean[3]; 00147 double StandardDeviation[3]; 00148 vtkIdType VoxelCount; 00149 00150 int ReverseStencil; 00151 00152 virtual int FillInputPortInformation(int port, vtkInformation* info); 00153 00154 private: 00155 vtkImageAccumulate(const vtkImageAccumulate&); // Not implemented. 00156 void operator=(const vtkImageAccumulate&); // Not implemented. 00157 }; 00158 00159 #endif 00160 00161 00162