00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkErodeObjectMorphologyImageFilter_h
00018
#define __itkErodeObjectMorphologyImageFilter_h
00019
00020
#include "itkObjectMorphologyImageFilter.h"
00021
00022
namespace itk {
00023
00043
template<
class TInputImage,
class TOutputImage,
class TKernel>
00044 class ITK_EXPORT ErodeObjectMorphologyImageFilter :
00045
public ObjectMorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00046 {
00047
public:
00049 typedef ErodeObjectMorphologyImageFilter
Self;
00050
typedef ObjectMorphologyImageFilter<TInputImage, TOutputImage, TKernel>
00051 Superclass;
00052 typedef SmartPointer<Self> Pointer;
00053 typedef SmartPointer<const Self> ConstPointer;
00054
00056
itkNewMacro(
Self);
00057
00059
itkTypeMacro(ErodeObjectMorphologyImageFilter,
ObjectMorphologyImageFilter);
00060
00062 typedef typename Superclass::PixelType
PixelType;
00063
00065 typedef TKernel
KernelType;
00066
00068 typedef typename KernelType::ConstIterator
KernelIteratorType ;
00069
00070
typedef NeighborhoodIterator<TOutputImage>
00071 OutputNeighborhoodIteratorType ;
00072
00074
itkSetMacro(BackgroundValue,
PixelType);
00075
00077
itkGetMacro(BackgroundValue,
PixelType);
00078
00079
protected:
00080 ErodeObjectMorphologyImageFilter();
00081 ~ErodeObjectMorphologyImageFilter() {};
00082
void PrintSelf(std::ostream& os,
Indent indent)
const;
00083
00088
void Evaluate(OutputNeighborhoodIteratorType &nit,
00089
const KernelType &kernel);
00090
00091
private:
00092 ErodeObjectMorphologyImageFilter(
const Self&);
00093
void operator=(
const Self&);
00094
00095 PixelType m_BackgroundValue;
00096
00097 } ;
00098
00099 }
00100
00101
#ifndef ITK_MANUAL_INSTANTIATION
00102
#include "itkErodeObjectMorphologyImageFilter.txx"
00103
#endif
00104
00105
#endif
00106
00107