VTK
dox/Imaging/Morphological/vtkImageDilateErode3D.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageDilateErode3D.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 =========================================================================*/
00025 #ifndef __vtkImageDilateErode3D_h
00026 #define __vtkImageDilateErode3D_h
00027 
00028 
00029 #include "vtkImagingMorphologicalModule.h" // For export macro
00030 #include "vtkImageSpatialAlgorithm.h"
00031 
00032 class vtkImageEllipsoidSource;
00033 
00034 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageDilateErode3D : public vtkImageSpatialAlgorithm
00035 {
00036 public:
00038 
00040   static vtkImageDilateErode3D *New();
00041   vtkTypeMacro(vtkImageDilateErode3D,vtkImageSpatialAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00048   void SetKernelSize(int size0, int size1, int size2);
00049 
00050 
00052 
00053   vtkSetMacro(DilateValue, double);
00054   vtkGetMacro(DilateValue, double);
00055   vtkSetMacro(ErodeValue, double);
00056   vtkGetMacro(ErodeValue, double);
00058 
00059 protected:
00060   vtkImageDilateErode3D();
00061   ~vtkImageDilateErode3D();
00062 
00063   vtkImageEllipsoidSource *Ellipse;
00064   double DilateValue;
00065   double ErodeValue;
00066 
00067   void ThreadedRequestData(vtkInformation *request,
00068                            vtkInformationVector **inputVector,
00069                            vtkInformationVector *outputVector,
00070                            vtkImageData ***inData, vtkImageData **outData,
00071                            int extent[6], int id);
00072   virtual int RequestData(vtkInformation *request,
00073                           vtkInformationVector **inputVector,
00074                           vtkInformationVector *outputVector);
00075 
00076 private:
00077   vtkImageDilateErode3D(const vtkImageDilateErode3D&);  // Not implemented.
00078   void operator=(const vtkImageDilateErode3D&);  // Not implemented.
00079 };
00080 
00081 #endif