00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkImageDilateErode3D_h
00026 #define __vtkImageDilateErode3D_h
00027
00028
00029 #include "vtkImageSpatialAlgorithm.h"
00030
00031 class vtkImageEllipsoidSource;
00032
00033 class VTK_IMAGING_EXPORT vtkImageDilateErode3D : public vtkImageSpatialAlgorithm
00034 {
00035 public:
00037
00039 static vtkImageDilateErode3D *New();
00040 vtkTypeRevisionMacro(vtkImageDilateErode3D,vtkImageSpatialAlgorithm);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00043
00047 void SetKernelSize(int size0, int size1, int size2);
00048
00049
00051
00052 vtkSetMacro(DilateValue, double);
00053 vtkGetMacro(DilateValue, double);
00054 vtkSetMacro(ErodeValue, double);
00055 vtkGetMacro(ErodeValue, double);
00057
00058 protected:
00059 vtkImageDilateErode3D();
00060 ~vtkImageDilateErode3D();
00061
00062 vtkImageEllipsoidSource *Ellipse;
00063 double DilateValue;
00064 double ErodeValue;
00065
00066 void ThreadedRequestData(vtkInformation *request,
00067 vtkInformationVector **inputVector,
00068 vtkInformationVector *outputVector,
00069 vtkImageData ***inData, vtkImageData **outData,
00070 int extent[6], int id);
00071 virtual int RequestData(vtkInformation *request,
00072 vtkInformationVector **inputVector,
00073 vtkInformationVector *outputVector);
00074
00075 private:
00076 vtkImageDilateErode3D(const vtkImageDilateErode3D&);
00077 void operator=(const vtkImageDilateErode3D&);
00078 };
00079
00080 #endif