00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkBinaryDilateImageFilter_h
00018 #define __itkBinaryDilateImageFilter_h
00019
00020 #include "itkMorphologyImageFilter.h"
00021
00022 namespace itk {
00023
00068 template<class TInputImage, class TOutputImage, class TKernel>
00069 class ITK_EXPORT BinaryDilateImageFilter :
00070 public MorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00071 {
00072 public:
00074 typedef BinaryDilateImageFilter Self;
00075 typedef MorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00076 Superclass;
00077 typedef SmartPointer<Self> Pointer;
00078 typedef SmartPointer<const Self> ConstPointer;
00079
00081 itkNewMacro(Self);
00082
00084 itkTypeMacro(BinaryDilateImageFilter, MorphologyImageFilter);
00085
00087 typedef typename Superclass::PixelType PixelType;
00088
00090 typedef ConstNeighborhoodIterator<TInputImage>
00091 NeighborhoodIteratorType ;
00092
00094 typedef TKernel KernelType;
00095
00097 typedef typename KernelType::ConstIterator KernelIteratorType ;
00098
00100 typedef typename Superclass::DefaultBoundaryConditionType DefaultBoundaryConditionType;
00101
00104 itkSetMacro(DilateValue, PixelType);
00105
00108 itkGetMacro(DilateValue, PixelType);
00109
00110 protected:
00111 BinaryDilateImageFilter();
00112 ~BinaryDilateImageFilter() {};
00113 void PrintSelf(std::ostream& os, Indent indent) const;
00114
00122 PixelType Evaluate(const NeighborhoodIteratorType &nit,
00123 const KernelIteratorType kernelBegin,
00124 const KernelIteratorType kernelEnd);
00125
00128 virtual void BeforeThreadedGenerateData();
00129
00130
00131 private:
00132 BinaryDilateImageFilter(const Self&);
00133 void operator=(const Self&);
00134
00135 PixelType m_DilateValue;
00136
00137
00138
00139 bool m_KernelCenterPixelOn;
00140
00141
00142
00143 DefaultBoundaryConditionType m_DilateBoundaryCondition;
00144 } ;
00145
00146 }
00147
00148 #ifndef ITK_MANUAL_INSTANTIATION
00149 #include "itkBinaryDilateImageFilter.txx"
00150 #endif
00151
00152 #endif
00153
00154