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
00101
itkSetMacro(DilateValue,
PixelType);
00102
00105
itkGetMacro(DilateValue,
PixelType);
00106
00107
protected:
00108 BinaryDilateImageFilter();
00109 ~BinaryDilateImageFilter() {};
00110
void PrintSelf(std::ostream& os,
Indent indent)
const;
00111
00119 PixelType Evaluate(
const NeighborhoodIteratorType &nit,
00120
const KernelIteratorType kernelBegin,
00121
const KernelIteratorType kernelEnd);
00122
00125
virtual void BeforeThreadedGenerateData();
00126
00127
00128
private:
00129 BinaryDilateImageFilter(
const Self&);
00130
void operator=(
const Self&);
00131
00132 PixelType m_DilateValue;
00133
00134
00135
00136
bool m_KernelCenterPixelOn;
00137
00138 } ;
00139
00140 }
00141
00142
#ifndef ITK_MANUAL_INSTANTIATION
00143
#include "itkBinaryDilateImageFilter.txx"
00144
#endif
00145
00146
#endif
00147
00148