00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035 #ifndef __vtkImageOpenClose3D_h
00036 #define __vtkImageOpenClose3D_h
00037
00038
00039 #include "vtkImageAlgorithm.h"
00040
00041 class vtkImageDilateErode3D;
00042
00043 class VTK_IMAGING_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
00044 {
00045 public:
00047
00048 static vtkImageOpenClose3D *New();
00049 vtkTypeRevisionMacro(vtkImageOpenClose3D,vtkImageAlgorithm);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00052
00055 unsigned long int GetMTime();
00056
00058
00059 void DebugOn();
00060 void DebugOff();
00062
00064 void Modified();
00065
00066
00067
00069 void SetKernelSize(int size0, int size1, int size2);
00070
00072
00074 void SetOpenValue(double value);
00075 double GetOpenValue();
00077
00079
00081 void SetCloseValue(double value);
00082 double GetCloseValue();
00084
00086
00087 vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
00088 vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
00090
00092
00093 virtual int ProcessRequest(vtkInformation*,
00094 vtkInformationVector**,
00095 vtkInformationVector*);
00097
00099
00100 virtual int
00101 ComputePipelineMTime(vtkInformation* request,
00102 vtkInformationVector** inInfoVec,
00103 vtkInformationVector* outInfoVec,
00104 int requestFromOutputPort,
00105 unsigned long* mtime);
00107
00108 protected:
00109 vtkImageOpenClose3D();
00110 ~vtkImageOpenClose3D();
00111
00112 vtkImageDilateErode3D *Filter0;
00113 vtkImageDilateErode3D *Filter1;
00114
00115 virtual void ReportReferences(vtkGarbageCollector*);
00116 private:
00117 vtkImageOpenClose3D(const vtkImageOpenClose3D&);
00118 void operator=(const vtkImageOpenClose3D&);
00119 };
00120
00121 #endif
00122
00123
00124