VTK
|
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 "vtkImageAlgorithm.h" 00040 00041 class vtkImageDilateErode3D; 00042 00043 class VTK_IMAGING_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm 00044 { 00045 public: 00047 00048 static vtkImageOpenClose3D *New(); 00049 vtkTypeMacro(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 // Foward Source messages to filter1 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&); // Not implemented. 00118 void operator=(const vtkImageOpenClose3D&); // Not implemented. 00119 }; 00120 00121 #endif 00122 00123 00124