00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _itkAnisotropicFourthOrderLevelSetImageFilter_h_
00018 #define _itkAnisotropicFourthOrderLevelSetImageFilter_h_
00019
00020 #include "itkLevelSetFunctionWithRefitTerm.h"
00021 #include "itkSparseFieldFourthOrderLevelSetImageFilter.h"
00022
00023 namespace itk {
00024
00081 template <class TInputImage, class TOutputImage>
00082 class ITK_EXPORT AnisotropicFourthOrderLevelSetImageFilter
00083 : public SparseFieldFourthOrderLevelSetImageFilter <TInputImage, TOutputImage>
00084 {
00085 public:
00087 typedef AnisotropicFourthOrderLevelSetImageFilter Self;
00088 typedef SparseFieldFourthOrderLevelSetImageFilter <TInputImage,
00089 TOutputImage> Superclass;
00090 typedef SmartPointer<Self> Pointer;
00091 typedef SmartPointer<const Self> ConstPointer;
00092
00094 itkTypeMacro(AnisotropicFourthOrderLevelSetImageFilter,
00095 SparseFieldFourthOrderLevelSetImageFilter);
00096
00098 itkNewMacro( Self );
00099
00101 typedef typename Superclass::SparseImageType SparseImageType;
00102
00105 typedef LevelSetFunctionWithRefitTerm <TOutputImage,SparseImageType> FunctionType;
00106
00108 typedef typename FunctionType::RadiusType RadiusType;
00109
00110 itkGetMacro(MaxFilterIteration,unsigned int);
00111 itkSetMacro(MaxFilterIteration,unsigned int);
00112
00113 protected:
00114 AnisotropicFourthOrderLevelSetImageFilter();
00115 ~AnisotropicFourthOrderLevelSetImageFilter() {};
00116 virtual void PrintSelf(std::ostream& os, Indent indent) const;
00117
00119 virtual bool Halt()
00120 {
00121 if (this->GetElapsedIterations()==m_MaxFilterIteration) return true;
00122 else return false;
00123 }
00124
00125 private:
00126 AnisotropicFourthOrderLevelSetImageFilter(const Self&);
00127
00128 void operator=(const Self&);
00129
00131 typename FunctionType::Pointer m_Function;
00132
00134 unsigned int m_MaxFilterIteration;
00135
00136 };
00137
00138 }
00139
00140 #ifndef ITK_MANUAL_INSTANTIATION
00141 #include "itkAnisotropicFourthOrderLevelSetImageFilter.txx"
00142 #endif
00143
00144 #endif