00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkBinaryErodeImageFilter_h
00018 #define __itkBinaryErodeImageFilter_h
00019
00020 #include "itkMorphologyImageFilter.h"
00021
00022 namespace itk {
00023
00059 template<class TInputImage, class TOutputImage, class TKernel>
00060 class ITK_EXPORT BinaryErodeImageFilter :
00061 public MorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00062 {
00063 public:
00065 typedef BinaryErodeImageFilter Self;
00066 typedef MorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00067 Superclass;
00068 typedef SmartPointer<Self> Pointer;
00069 typedef SmartPointer<const Self> ConstPointer;
00070
00072 itkNewMacro(Self);
00073
00075 itkTypeMacro(BinaryErodeImageFilter, MorphologyImageFilter);
00076
00078 typedef typename Superclass::PixelType PixelType;
00079
00081 typedef ConstNeighborhoodIterator<TInputImage> NeighborhoodIteratorType ;
00082
00084 typedef TKernel KernelType;
00085
00087 typedef typename KernelType::ConstIterator KernelIteratorType ;
00088
00090 typedef typename Superclass::DefaultBoundaryConditionType DefaultBoundaryConditionType;
00091
00094 itkSetMacro(ErodeValue, PixelType);
00095
00098 itkGetMacro(ErodeValue, PixelType);
00099
00100 protected:
00101 BinaryErodeImageFilter();
00102 ~BinaryErodeImageFilter() {};
00103 void PrintSelf(std::ostream& os, Indent indent) const;
00104
00112 PixelType Evaluate(const NeighborhoodIteratorType &nit,
00113 const KernelIteratorType kernelBegin,
00114 const KernelIteratorType kernelEnd);
00115
00118 virtual void BeforeThreadedGenerateData();
00119
00120 private:
00121 BinaryErodeImageFilter(const Self&);
00122 void operator=(const Self&);
00123
00124 PixelType m_ErodeValue;
00125
00126
00127
00128 bool m_KernelCenterPixelOn;
00129
00130
00131
00132 DefaultBoundaryConditionType m_ErodeBoundaryCondition;
00133
00134 } ;
00135
00136 }
00137
00138 #ifndef ITK_MANUAL_INSTANTIATION
00139 #include "itkBinaryErodeImageFilter.txx"
00140 #endif
00141
00142 #endif
00143
00144