00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkCurvesLevelSetImageFilter_h_
00018
#define __itkCurvesLevelSetImageFilter_h_
00019
00020
#include "itkSegmentationLevelSetImageFilter.h"
00021
#include "itkCurvesLevelSetFunction.h"
00022
00023
namespace itk {
00024
00099
template <
class TInputImage,
00100
class TFeatureImage,
00101
class TOutputPixelType =
float >
00102 class ITK_EXPORT CurvesLevelSetImageFilter
00103 :
public SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType, Image<TOutputPixelType, ::itk::GetImageDimension<TInputImage>::ImageDimension> >
00104 {
00105
public:
00107 typedef CurvesLevelSetImageFilter
Self;
00108 typedef SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType, Image<TOutputPixelType, ::itk::GetImageDimension<TInputImage>::ImageDimension> >
Superclass;
00109 typedef SmartPointer<Self> Pointer;
00110 typedef SmartPointer<const Self> ConstPointer;
00111
00113 typedef typename Superclass::ValueType
ValueType;
00114 typedef typename Superclass::OutputImageType
OutputImageType;
00115 typedef typename Superclass::FeatureImageType
FeatureImageType;
00116
00118
typedef CurvesLevelSetFunction<
OutputImageType,
00119 FeatureImageType>
CurvesFunctionType;
00120
typedef typename CurvesFunctionType::Pointer
00121 CurvesFunctionPointer;
00122
00124
itkTypeMacro(CurvesLevelSetImageFilter,
SegmentationLevelSetImageFilter);
00125
00127
itkNewMacro(
Self);
00128
00130 void SetDerivativeSigma(
float value )
00131 { m_CurvesFunction->SetDerivativeSigma( value );
00132 this->Modified(); }
00133 float GetDerivativeSigma()
const
00134
{
return m_CurvesFunction->GetDerivativeSigma(); }
00135
00136
protected:
00137 ~CurvesLevelSetImageFilter() {}
00138 CurvesLevelSetImageFilter();
00139
00140
virtual void PrintSelf(std::ostream &os,
Indent indent)
const;
00141
00142 CurvesLevelSetImageFilter(
const Self &);
00143
void operator=(
const Self&);
00144
private:
00145
CurvesFunctionPointer m_CurvesFunction;
00146 };
00147
00148 }
00149
00150
00151
00152
#ifndef ITK_MANUAL_INSTANTIATION
00153
#include "itkCurvesLevelSetImageFilter.txx"
00154
#endif
00155
00156
#endif