00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkCannySegmentationLevelSetImageFilter_h_
00018
#define __itkCannySegmentationLevelSetImageFilter_h_
00019
00020
#include "itkSegmentationLevelSetImageFilter.h"
00021
#include "itkCannySegmentationLevelSetFunction.h"
00022
00023
namespace itk {
00024
00126
template <
class TInputImage,
00127
class TFeatureImage,
00128
class TOutputPixelType =
float>
00129 class ITK_EXPORT CannySegmentationLevelSetImageFilter
00130 :
public SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType,
00131 Image<TOutputPixelType, ::itk::GetImageDimension<TInputImage>::ImageDimension> >
00132 {
00133
public:
00135 typedef CannySegmentationLevelSetImageFilter
Self;
00136
typedef SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType,
00137
Image<TOutputPixelType,
00138 ::itk::GetImageDimension<TInputImage>::ImageDimension> >
Superclass;
00139 typedef SmartPointer<Self> Pointer;
00140 typedef SmartPointer<const Self> ConstPointer;
00141
00143 typedef typename Superclass::ValueType
ValueType;
00144 typedef typename Superclass::OutputImageType
OutputImageType;
00145 typedef typename Superclass::FeatureImageType
FeatureImageType;
00146 typedef typename Superclass::VectorImageType
VectorImageType;
00147
00149 typedef ::itk::CannySegmentationLevelSetFunction<
OutputImageType,
00150 FeatureImageType>
CannyFunctionType;
00151
00152 typedef typename CannyFunctionType::ScalarValueType
ScalarValueType;
00153
00155
itkTypeMacro(CannySegmenationLevelSetImageFilter,
SegmentationLevelSetImageFilter);
00156
00158
itkNewMacro(
Self);
00159
00162 void SetThreshold(
ScalarValueType v)
00163 { this->m_CannyFunction->SetThreshold(v); }
00164 ScalarValueType GetThreshold()
const
00165
{
return this->m_CannyFunction->GetThreshold(); }
00166
00169
void SetVariance(
double v)
00170 { this->m_CannyFunction->SetVariance(v); }
00171
double GetVariance()
const
00172 {
return this->m_CannyFunction->GetVariance(); }
00173
00174
protected:
00175 ~CannySegmentationLevelSetImageFilter() {}
00176 CannySegmentationLevelSetImageFilter();
00177
00178
private:
00179
typename CannyFunctionType::Pointer m_CannyFunction;
00180 };
00181
00182 }
00183
00184
00185
00186
#ifndef ITK_MANUAL_INSTANTIATION
00187
#include "itkCannySegmentationLevelSetImageFilter.txx"
00188
#endif
00189
00190
#endif