Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00050 #ifndef __vtkImageOpenClose3D_h
00051 #define __vtkImageOpenClose3D_h
00052 
00053 
00054 #include "vtkImageToImageFilter.h"
00055 
00056 class vtkImageDilateErode3D;
00057 
00058 class VTK_IMAGING_EXPORT vtkImageOpenClose3D : public vtkImageToImageFilter
00059 {
00060 public:
00062 
00063   static vtkImageOpenClose3D *New();
00064   vtkTypeRevisionMacro(vtkImageOpenClose3D,vtkImageToImageFilter);
00065   void PrintSelf(ostream& os, vtkIndent indent);
00067 
00070   unsigned long int GetMTime();
00071   
00073 
00074   void DebugOn();
00075   void DebugOff();
00077 
00079   void Modified();
00080   
00081   // Foward Source messages to filter1
00082 
00084 
00086   vtkImageData *GetOutput();
00087   vtkImageData *GetOutput(int idx)
00088     {return (vtkImageData *) this->vtkImageSource::GetOutput(idx); };
00090 
00091 
00092   // Foward filter messages
00093 
00095   void SetInput(vtkImageData *Input);
00096 
00097   // Forward dilateErode messages to both filters.
00098 
00100   void SetKernelSize(int size0, int size1, int size2);
00101 
00103 
00105   void SetOpenValue(float value);
00106   float GetOpenValue();
00108 
00110 
00112   void SetCloseValue(float value);
00113   float GetCloseValue();
00115   
00117 
00118   vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
00119   vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
00121 
00122 protected:
00123   vtkImageOpenClose3D();
00124   ~vtkImageOpenClose3D();
00125   
00126   vtkImageDilateErode3D *Filter0;
00127   vtkImageDilateErode3D *Filter1;
00128 private:
00129   vtkImageOpenClose3D(const vtkImageOpenClose3D&);  // Not implemented.
00130   void operator=(const vtkImageOpenClose3D&);  // Not implemented.
00131 };
00132 
00133 #endif
00134 
00135 
00136