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