00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkShapeDetectionLevelSetImageFilter_h_
00018 #define __itkShapeDetectionLevelSetImageFilter_h_
00019
00020 #include "itkSegmentationLevelSetImageFilter.h"
00021 #include "itkShapeDetectionLevelSetFunction.h"
00022
00023 namespace itk {
00024
00103 template <class TInputImage,
00104 class TFeatureImage,
00105 class TOutputPixelType = float >
00106 class ITK_EXPORT ShapeDetectionLevelSetImageFilter
00107 : public SegmentationLevelSetImageFilter< TInputImage,
00108 TFeatureImage, TOutputPixelType,
00109 Image<TOutputPixelType,
00110 ::itk::GetImageDimension<TInputImage>::ImageDimension> >
00111 {
00112 public:
00114 typedef ShapeDetectionLevelSetImageFilter Self;
00115 typedef SegmentationLevelSetImageFilter< TInputImage, TFeatureImage,
00116 TOutputPixelType, Image<TOutputPixelType,
00117 ::itk::GetImageDimension<TInputImage>::ImageDimension> > Superclass;
00118 typedef SmartPointer<Self> Pointer;
00119 typedef SmartPointer<const Self> ConstPointer;
00120
00122 typedef typename Superclass::ValueType ValueType;
00123 typedef typename Superclass::OutputImageType OutputImageType;
00124 typedef typename Superclass::FeatureImageType FeatureImageType;
00125
00127 typedef ShapeDetectionLevelSetFunction<OutputImageType,
00128 FeatureImageType> ShapeDetectionFunctionType;
00129 typedef typename ShapeDetectionFunctionType::Pointer ShapeDetectionFunctionPointer;
00130
00132 itkTypeMacro(ShapeDetectionLevelSetImageFilter, SegmentationLevelSetImageFilter);
00133
00135 itkNewMacro(Self);
00136
00137 protected:
00138 ~ShapeDetectionLevelSetImageFilter() {}
00139 ShapeDetectionLevelSetImageFilter();
00140
00141 virtual void PrintSelf(std::ostream &os, Indent indent) const;
00142
00143 ShapeDetectionLevelSetImageFilter(const Self &);
00144 void operator=(const Self&);
00145
00148 void GenerateData();
00149
00150 private:
00151 ShapeDetectionFunctionPointer m_ShapeDetectionFunction;
00152 };
00153
00154 }
00155
00156
00157
00158 #ifndef ITK_MANUAL_INSTANTIATION
00159 #include "itkShapeDetectionLevelSetImageFilter.txx"
00160 #endif
00161
00162 #endif