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

Imaging/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 =========================================================================*/
00035 #ifndef __vtkImageOpenClose3D_h
00036 #define __vtkImageOpenClose3D_h
00037 
00038 
00039 #include "vtkImageToImageFilter.h"
00040 
00041 class vtkImageDilateErode3D;
00042 
00043 class VTK_IMAGING_EXPORT vtkImageOpenClose3D : public vtkImageToImageFilter
00044 {
00045 public:
00047 
00048   static vtkImageOpenClose3D *New();
00049   vtkTypeRevisionMacro(vtkImageOpenClose3D,vtkImageToImageFilter);
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   // Foward Source messages to filter1
00067 
00069 
00071   vtkImageData *GetOutput();
00072   vtkImageData *GetOutput(int idx)
00073     {return (vtkImageData *) this->vtkImageSource::GetOutput(idx); };
00075 
00076 
00077   // Foward filter messages
00078 
00080   void SetInput(vtkImageData *Input);
00081 
00082   // Forward dilateErode messages to both filters.
00083 
00085   void SetKernelSize(int size0, int size1, int size2);
00086 
00088 
00090   void SetOpenValue(double value);
00091   double GetOpenValue();
00093 
00095 
00097   void SetCloseValue(double value);
00098   double GetCloseValue();
00100   
00102 
00103   vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
00104   vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
00106 
00107 protected:
00108   vtkImageOpenClose3D();
00109   ~vtkImageOpenClose3D();
00110   
00111   vtkImageDilateErode3D *Filter0;
00112   vtkImageDilateErode3D *Filter1;
00113 private:
00114   vtkImageOpenClose3D(const vtkImageOpenClose3D&);  // Not implemented.
00115   void operator=(const vtkImageOpenClose3D&);  // Not implemented.
00116 };
00117 
00118 #endif
00119 
00120 
00121