dox/Imaging/vtkImageThicknessThresholdFilter2D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageThicknessThresholdFilter2D.h,v $
00005 
00006   Copyright  2005  The Pennsylvania State University
00007   
00008                Notice
00009   
00010   The contents of this file are subject to The Pennsylvania State University 
00011   Open Source License (the "License"); you may not use this file except in 
00012   compliance with the License. You may obtain a copy of the License at H066 
00013   Radiology, NMR Building, 500 University Drive, Hershey, PA, 
00014   tel. (717) 531-6069 or via email at dcb210@psu.edu.
00015  
00016   Software distributed under the License is distributed on an "AS IS" basis, 
00017   WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
00018   for the specific language governing rights and limitations under the 
00019   License.
00020  
00021   The Original Code is listed under Exhibit A of the license.
00022  
00023   The Initial Developer of the Original Code is Don Bigler.
00024  
00025   Contributor(s):
00026  
00027 =========================================================================*/
00056 #ifndef __vtkImageThicknessThresholdFilter2D_h
00057 #define __vtkImageThicknessThresholdFilter2D_h
00058 
00059 
00060 #include "vtkSimpleImageToImageFilter.h"
00061 #include "vtkCNMRRImagingWin32Header.h"
00062 
00063 #define VTK_THICKNESS_TWOD_LAZY 0
00064 #define VTK_THICKNESS_TWOD_CIRCULAR_BASED 1
00065 #define VTK_THICKNESS_TWOD_CIRCULAR_BASED_COMPLETE 2
00066 #define VTK_THICKNESS_TWOD_BOX_BASED 3
00067 #define VTK_THICKNESS_TWOD_BOX_BASED_COMPLETE 4
00068 
00069 class VTK_CNMRR_IMAGING_EXPORT vtkImageThicknessThresholdFilter2D : public vtkSimpleImageToImageFilter
00070 {
00071    public:
00072       static vtkImageThicknessThresholdFilter2D *New();
00073       vtkTypeRevisionMacro(vtkImageThicknessThresholdFilter2D,vtkSimpleImageToImageFilter);
00074    
00076 
00077       vtkSetMacro(Thickness, double);
00078       vtkGetMacro(Thickness, double);
00080    
00082 
00084       vtkSetMacro(ThicknessMax, int);
00085       vtkGetMacro(ThicknessMax, int);
00087    
00089 
00092       vtkSetMacro(Algorithm, int);
00093       vtkGetMacro(Algorithm, int);
00094       void SetAlgorithmToLazy () 
00095          { this->SetAlgorithm(VTK_THICKNESS_TWOD_LAZY); }         
00096       void SetAlgorithmToCircularBased () 
00097          { this->SetAlgorithm(VTK_THICKNESS_TWOD_CIRCULAR_BASED); } 
00098       void SetAlgorithmToCircularBasedComplete () 
00099          { this->SetAlgorithm(VTK_THICKNESS_TWOD_CIRCULAR_BASED_COMPLETE); }
00100       void SetAlgorithmToBoxBased () 
00101          { this->SetAlgorithm(VTK_THICKNESS_TWOD_BOX_BASED); }
00102       void SetAlgorithmToBoxBasedComplete () 
00103          { this->SetAlgorithm(VTK_THICKNESS_TWOD_BOX_BASED_COMPLETE); }       
00105    
00106    protected:
00107       vtkImageThicknessThresholdFilter2D();
00108       ~vtkImageThicknessThresholdFilter2D(){};
00109          
00110       void InitOutput(int outExt[6], vtkImageData *outData);
00111    
00112       double Thickness;
00113          
00114       int ThicknessMax;
00115          
00116       int Algorithm;
00117 
00118       virtual void SimpleExecute(vtkImageData* input, vtkImageData* output);
00119    private:
00120       vtkImageThicknessThresholdFilter2D(const vtkImageThicknessThresholdFilter2D&);  // Not implemented.
00121       void operator=(const vtkImageThicknessThresholdFilter2D&);  // Not implemented.
00122 };
00123 
00124 #endif

Generated on Tue May 12 14:53:03 2009 for vtkCNMRRLibrary by  doxygen 1.4.7