dox/Imaging/vtkImageThicknessThresholdFilter3D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageThicknessThresholdFilter3D.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 =========================================================================*/
00054 #ifndef __vtkImageThicknessThresholdFilter3D_h
00055 #define __vtkImageThicknessThresholdFilter3D_h
00056 
00057 #include "vtkSimpleImageToImageFilter.h"
00058 #include "vtkCNMRRImagingWin32Header.h"
00059 
00060 #define VTK_THICKNESS_THREED_LAZY 0
00061 #define VTK_THICKNESS_THREED_SPHERICAL_BASED 1
00062 #define VTK_THICKNESS_THREED_SPHERICAL_BASED_COMPLETE 2
00063 
00064 class VTK_CNMRR_IMAGING_EXPORT vtkImageThicknessThresholdFilter3D : public vtkSimpleImageToImageFilter
00065 {
00066    public:
00067       static vtkImageThicknessThresholdFilter3D *New();
00068       vtkTypeRevisionMacro(vtkImageThicknessThresholdFilter3D,vtkSimpleImageToImageFilter);
00069    
00071 
00072       vtkSetMacro(Thickness, double);
00073       vtkGetMacro(Thickness, double);
00075    
00077 
00079       vtkSetMacro(ThicknessMax, int);
00080       vtkGetMacro(ThicknessMax, int);
00082    
00084 
00086       vtkSetMacro(Algorithm, int);
00087       vtkGetMacro(Algorithm, int);
00088       void SetAlgorithmToLazy () 
00089          { this->SetAlgorithm(VTK_THICKNESS_THREED_LAZY); }    
00090       void SetAlgorithmToSphericalBased () 
00091          { this->SetAlgorithm(VTK_THICKNESS_THREED_SPHERICAL_BASED); } 
00092       void SetAlgorithmToSphericalBasedComplete () 
00093          { this->SetAlgorithm(VTK_THICKNESS_THREED_SPHERICAL_BASED_COMPLETE); }                 
00095    
00096    protected:
00097       vtkImageThicknessThresholdFilter3D();
00098       ~vtkImageThicknessThresholdFilter3D(){};
00099          
00100       void InitOutput(int outExt[6], vtkImageData *outData);
00101    
00102       double Thickness;
00103          
00104       int ThicknessMax;
00105          
00106       int Algorithm;
00107 
00108       virtual void SimpleExecute(vtkImageData* input, vtkImageData* output);
00109    private:
00110       vtkImageThicknessThresholdFilter3D(const vtkImageThicknessThresholdFilter3D&);  // Not implemented.
00111       void operator=(const vtkImageThicknessThresholdFilter3D&);  // Not implemented.
00112 };
00113 
00114 #endif

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