VTK
dox/Imaging/vtkImageAccumulate.h
Go to the documentation of this file.
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