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
00075 template<class TInputImage, class TOutputImage, class TKernel>
00076 class ITK_EXPORT BinaryDilateImageFilter :
00077 public MorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00078 {
00079 public:
00081 typedef BinaryDilateImageFilter Self;
00082 typedef MorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00083 Superclass;
00084 typedef SmartPointer<Self> Pointer;
00085 typedef SmartPointer<const Self> ConstPointer;
00086
00088 itkNewMacro(Self);
00089
00091 itkTypeMacro(BinaryDilateImageFilter, MorphologyImageFilter);
00092
00094 typedef typename Superclass::PixelType PixelType;
00095
00097 typedef ConstNeighborhoodIterator<TInputImage>
00098 NeighborhoodIteratorType ;
00099
00101 typedef TKernel KernelType;
00102
00104 typedef typename KernelType::ConstIterator KernelIteratorType ;
00105
00107 typedef typename Superclass::DefaultBoundaryConditionType DefaultBoundaryConditionType;
00108
00111 itkSetMacro(DilateValue, PixelType);
00112
00115 itkGetMacro(DilateValue, PixelType);
00116
00117 protected:
00118 BinaryDilateImageFilter();
00119 ~BinaryDilateImageFilter() {};
00120 void PrintSelf(std::ostream& os, Indent indent) const;
00121
00129 PixelType Evaluate(const NeighborhoodIteratorType &nit,
00130 const KernelIteratorType kernelBegin,
00131 const KernelIteratorType kernelEnd);
00132
00135 virtual void BeforeThreadedGenerateData();
00136
00137
00138 private:
00139 BinaryDilateImageFilter(const Self&);
00140 void operator=(const Self&);
00141
00142 PixelType m_DilateValue;
00143
00144
00145
00146 bool m_KernelCenterPixelOn;
00147
00148
00149
00150 DefaultBoundaryConditionType m_DilateBoundaryCondition;
00151 } ;
00152
00153 }
00154
00155 #ifndef ITK_MANUAL_INSTANTIATION
00156 #include "itkBinaryDilateImageFilter.txx"
00157 #endif
00158
00159 #endif
00160
00161