Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __itkErodeMaskImageFilter_h
00016 #define __itkErodeMaskImageFilter_h
00017
00018 #include "itkImageToImageFilter.h"
00019 #include "itkMultiResolutionPyramidImageFilter.h"
00020
00021 namespace itk
00022 {
00053 template <class TImage>
00054 class ErodeMaskImageFilter :
00055 public ImageToImageFilter< TImage, TImage >
00056 {
00057 public:
00059 typedef ErodeMaskImageFilter Self;
00060 typedef ImageToImageFilter< TImage, TImage > Superclass;
00061 typedef SmartPointer<Self> Pointer;
00062 typedef SmartPointer<const Self> ConstPointer;
00063
00065 itkTypeMacro( ErodeMaskImageFilter, ImageToImageFilter );
00066
00068 itkNewMacro( Self );
00069
00071 typedef TImage InputImageType;
00072 typedef TImage OutputImageType;
00073 typedef typename InputImageType::Pointer InputImagePointer;
00074 typedef typename OutputImageType::Pointer OutputImagePointer;
00075 typedef typename InputImageType::PixelType InputPixelType;
00076 typedef typename OutputImageType::PixelType OutputPixelType;
00077
00079 itkStaticConstMacro( InputImageDimension, unsigned int,
00080 InputImageType::ImageDimension );
00081 itkStaticConstMacro( OutputImageDimension, unsigned int,
00082 OutputImageType::ImageDimension);
00083 itkStaticConstMacro( ImageDimension, unsigned int,
00084 OutputImageType::ImageDimension );
00085
00087 typedef MultiResolutionPyramidImageFilter<
00088 InputImageType, OutputImageType> ImagePyramidFilterType;
00089 typedef typename ImagePyramidFilterType::ScheduleType ScheduleType;
00090
00095 virtual void SetSchedule( const ScheduleType & schedule )
00096 {
00097 this->m_Schedule = schedule;
00098 this->Modified();
00099 }
00100 itkGetConstReferenceMacro( Schedule, ScheduleType );
00101
00107 itkSetMacro( IsMovingMask, bool );
00108 itkGetConstMacro( IsMovingMask, bool );
00109
00111 itkSetMacro( ResolutionLevel, unsigned int );
00112 itkGetConstMacro( ResolutionLevel, unsigned int );
00113
00114 #ifdef ITK_USE_CONCEPT_CHECKING
00115
00116 itkConceptMacro(SameDimensionCheck,
00117 (Concept::SameDimension<InputImageDimension, OutputImageDimension>));
00119 #endif
00120
00121 protected:
00122
00124 ErodeMaskImageFilter();
00125
00127 virtual ~ErodeMaskImageFilter(){}
00128
00133 virtual void GenerateData( void );
00134
00135 private:
00136 ErodeMaskImageFilter( const Self & );
00137 void operator=( const Self& );
00138
00139 bool m_IsMovingMask;
00140 unsigned int m_ResolutionLevel;
00141 ScheduleType m_Schedule;
00142
00143 };
00144
00145 }
00146
00147 #ifndef ITK_MANUAL_INSTANTIATION
00148 #include "itkErodeMaskImageFilter.txx"
00149 #endif
00150
00151 #endif