Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkImageOpenClose3D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageOpenClose3D.h,v $
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 =========================================================================*/
00047 #ifndef __vtkImageOpenClose3D_h
00048 #define __vtkImageOpenClose3D_h
00049 
00050 
00051 #include "vtkImageToImageFilter.h"
00052 
00053 class vtkImageDilateErode3D;
00054 
00055 class VTK_IMAGING_EXPORT vtkImageOpenClose3D : public vtkImageToImageFilter
00056 {
00057 public:
00059 
00060   static vtkImageOpenClose3D *New();
00061   vtkTypeRevisionMacro(vtkImageOpenClose3D,vtkImageToImageFilter);
00062   void PrintSelf(ostream& os, vtkIndent indent);
00064 
00067   unsigned long int GetMTime();
00068   
00070 
00071   void DebugOn();
00072   void DebugOff();
00074 
00076   void Modified();
00077   
00078   // Foward Source messages to filter1
00079 
00081 
00083   vtkImageData *GetOutput();
00084   vtkImageData *GetOutput(int idx)
00085     {return (vtkImageData *) this->vtkImageSource::GetOutput(idx); };
00087 
00088 
00089   // Foward filter messages
00090 
00092   void SetInput(vtkImageData *Input);
00093 
00094   // Forward dilateErode messages to both filters.
00095 
00097   void SetKernelSize(int size0, int size1, int size2);
00098 
00100 
00102   void SetOpenValue(double value);
00103   double GetOpenValue();
00105 
00107 
00109   void SetCloseValue(double value);
00110   double GetCloseValue();
00112   
00114 
00115   vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
00116   vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
00118 
00119 protected:
00120   vtkImageOpenClose3D();
00121   ~vtkImageOpenClose3D();
00122   
00123   vtkImageDilateErode3D *Filter0;
00124   vtkImageDilateErode3D *Filter1;
00125 
00126   virtual void ReportReferences(vtkGarbageCollector*);
00127   virtual void RemoveReferences();
00128 private:
00129   vtkImageOpenClose3D(const vtkImageOpenClose3D&);  // Not implemented.
00130   void operator=(const vtkImageOpenClose3D&);  // Not implemented.
00131 };
00132 
00133 #endif
00134 
00135 
00136