Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkNarrowBandThresholdSegmentationLevelSetImageFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkNarrowBandThresholdSegmentationLevelSetImageFilter.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/09/10 14:28:36 $ 00007 Version: $Revision: 1.3 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 #ifndef __itkNarrowBandThresholdSegmentationLevelSetImageFilter_h_ 00018 #define __itkNarrowBandThresholdSegmentationLevelSetImageFilter_h_ 00019 00020 #include "itkNarrowBandLevelSetImageFilter.h" 00021 #include "itkThresholdSegmentationLevelSetFunction.h" 00022 00023 namespace itk { 00024 00080 template <class TInputImage, 00081 class TFeatureImage, 00082 class TOutputPixelType = float > 00083 class ITK_EXPORT NarrowBandThresholdSegmentationLevelSetImageFilter 00084 : public NarrowBandLevelSetImageFilter<TInputImage, TFeatureImage, 00085 TOutputPixelType, Image<TOutputPixelType, 00086 ::itk::GetImageDimension<TInputImage>::ImageDimension> > 00087 { 00088 public: 00090 typedef NarrowBandThresholdSegmentationLevelSetImageFilter Self; 00091 typedef NarrowBandLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType, 00092 Image<TOutputPixelType, ::itk::GetImageDimension<TInputImage>::ImageDimension> > Superclass; 00093 typedef SmartPointer<Self> Pointer; 00094 typedef SmartPointer<const Self> ConstPointer; 00095 00097 typedef typename Superclass::ValueType ValueType; 00098 typedef typename Superclass::OutputImageType OutputImageType; 00099 typedef typename Superclass::FeatureImageType FeatureImageType; 00100 00102 typedef ThresholdSegmentationLevelSetFunction<OutputImageType, 00103 FeatureImageType> ThresholdFunctionType; 00104 typedef typename ThresholdFunctionType::Pointer ThresholdFunctionPointer; 00105 00107 itkTypeMacro(NarrowBandThresholdSegmentationLevelSetImageFilter, NarrowBandLevelSetImageFilter); 00108 00110 itkNewMacro(Self); 00111 00113 void SetUpperThreshold(ValueType v) 00114 { 00115 this->m_ThresholdFunction->SetUpperThreshold(v); 00116 this->Modified(); 00117 } 00118 void SetLowerThreshold(ValueType v) 00119 { 00120 this->m_ThresholdFunction->SetLowerThreshold(v); 00121 this->Modified(); 00122 } 00123 ValueType GetUpperThreshold() const 00124 { 00125 return m_ThresholdFunction->GetUpperThreshold(); 00126 } 00127 ValueType GetLowerThreshold() const 00128 { 00129 return m_ThresholdFunction->GetLowerThreshold(); 00130 } 00131 00134 void SetEdgeWeight(ValueType v) 00135 { 00136 this->m_ThresholdFunction->SetEdgeWeight(v); 00137 this->Modified(); 00138 } 00139 ValueType GetEdgeWeight() const 00140 { 00141 return m_ThresholdFunction->GetEdgeWeight(); 00142 } 00143 00147 void SetSmoothingIterations(int v) 00148 { 00149 this->m_ThresholdFunction->SetSmoothingIterations(v); 00150 this->Modified(); 00151 } 00152 int GetSmoothingIterations() const 00153 { 00154 return m_ThresholdFunction->GetSmoothingIterations(); 00155 } 00156 00160 void SetSmoothingTimeStep(ValueType v) 00161 { 00162 this->m_ThresholdFunction->SetSmoothingTimeStep(v); 00163 this->Modified(); 00164 } 00165 ValueType GetSmoothingTimeStep() const 00166 { 00167 return m_ThresholdFunction->GetSmoothingTimeStep(); 00168 } 00169 00173 void SetSmoothingConductance(ValueType v) 00174 { 00175 this->m_ThresholdFunction->SetSmoothingConductance(v); 00176 this->Modified(); 00177 } 00178 ValueType GetSmoothingConductance() const 00179 { 00180 return m_ThresholdFunction->GetSmoothingConductance(); 00181 } 00182 00183 protected: 00184 ~NarrowBandThresholdSegmentationLevelSetImageFilter() {} 00185 NarrowBandThresholdSegmentationLevelSetImageFilter(); 00186 00187 virtual void PrintSelf(std::ostream &os, Indent indent) const; 00188 00189 NarrowBandThresholdSegmentationLevelSetImageFilter(const Self &); // purposely not impl. 00190 void operator=(const Self&); //purposely not implemented 00191 private: 00192 ThresholdFunctionPointer m_ThresholdFunction; 00193 }; 00194 00195 } // end namespace itk 00196 00197 00198 00199 #ifndef ITK_MANUAL_INSTANTIATION 00200 #include "itkNarrowBandThresholdSegmentationLevelSetImageFilter.txx" 00201 #endif 00202 00203 #endif

Generated at Sun Apr 1 02:38:42 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000