VTK
dox/Imaging/Morphological/vtkImageOpenClose3D.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageOpenClose3D.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 =========================================================================*/
00035 #ifndef __vtkImageOpenClose3D_h
00036 #define __vtkImageOpenClose3D_h
00037 
00038 
00039 #include "vtkImagingMorphologicalModule.h" // For export macro
00040 #include "vtkImageAlgorithm.h"
00041 
00042 class vtkImageDilateErode3D;
00043 
00044 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
00045 {
00046 public:
00048 
00049   static vtkImageOpenClose3D *New();
00050   vtkTypeMacro(vtkImageOpenClose3D,vtkImageAlgorithm);
00051   void PrintSelf(ostream& os, vtkIndent indent);
00053 
00056   unsigned long int GetMTime();
00057 
00059 
00060   void DebugOn();
00061   void DebugOff();
00063 
00065   void Modified();
00066 
00067   // Forward Source messages to filter1
00068 
00070   void SetKernelSize(int size0, int size1, int size2);
00071 
00073 
00075   void SetOpenValue(double value);
00076   double GetOpenValue();
00078 
00080 
00082   void SetCloseValue(double value);
00083   double GetCloseValue();
00085 
00087 
00088   vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
00089   vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
00091 
00093 
00094   virtual int ProcessRequest(vtkInformation*,
00095                              vtkInformationVector**,
00096                              vtkInformationVector*);
00098 
00100 
00101   virtual int
00102   ComputePipelineMTime(vtkInformation* request,
00103                        vtkInformationVector** inInfoVec,
00104                        vtkInformationVector* outInfoVec,
00105                        int requestFromOutputPort,
00106                        unsigned long* mtime);
00108 
00109 protected:
00110   vtkImageOpenClose3D();
00111   ~vtkImageOpenClose3D();
00112 
00113   vtkImageDilateErode3D *Filter0;
00114   vtkImageDilateErode3D *Filter1;
00115 
00116   virtual void ReportReferences(vtkGarbageCollector*);
00117 private:
00118   vtkImageOpenClose3D(const vtkImageOpenClose3D&);  // Not implemented.
00119   void operator=(const vtkImageOpenClose3D&);  // Not implemented.
00120 };
00121 
00122 #endif
00123 
00124 
00125