Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkVotingBinaryIterativeHoleFillingImageFilter_h
00018 #define __itkVotingBinaryIterativeHoleFillingImageFilter_h
00019
00020 #include "itkVotingBinaryHoleFillingImageFilter.h"
00021
00022 namespace itk
00023 {
00052 template <class TImage >
00053 class ITK_EXPORT VotingBinaryIterativeHoleFillingImageFilter :
00054 public ImageToImageFilter< TImage, TImage >
00055 {
00056 public:
00057
00059 typedef TImage InputImageType;
00060 typedef TImage OutputImageType;
00061
00063 typedef VotingBinaryIterativeHoleFillingImageFilter Self;
00064 typedef ImageToImageFilter< InputImageType, OutputImageType> Superclass;
00065 typedef SmartPointer<Self> Pointer;
00066 typedef SmartPointer<const Self> ConstPointer;
00067
00069 itkNewMacro(Self);
00070
00072 itkTypeMacro(VotingBinaryIterativeHoleFillingImageFilter, ImageToImageFilter);
00073
00075 typedef VotingBinaryHoleFillingImageFilter<
00076 InputImageType,
00077 OutputImageType
00078 > VotingFilterType;
00079
00081 typedef typename InputImageType::PixelType InputPixelType;
00082 typedef typename OutputImageType::PixelType OutputPixelType;
00083
00084 typedef typename InputImageType::RegionType InputImageRegionType;
00085 typedef typename OutputImageType::RegionType OutputImageRegionType;
00086
00087 typedef typename InputImageType::SizeType InputSizeType;
00088
00089
00093 itkGetConstReferenceMacro(MaximumNumberOfIterations, unsigned int);
00094 itkSetMacro(MaximumNumberOfIterations, unsigned int);
00096
00100 itkGetConstReferenceMacro(CurrentNumberOfIterations, unsigned int);
00101 itkSetMacro(CurrentNumberOfIterations, unsigned int);
00103
00104
00106 itkSetMacro(Radius, InputSizeType);
00107
00109 itkGetConstReferenceMacro(Radius, InputSizeType);
00110
00113 itkSetMacro(BackgroundValue, InputPixelType);
00114 itkSetMacro(ForegroundValue, InputPixelType);
00116
00119 itkGetConstReferenceMacro(BackgroundValue, InputPixelType);
00120 itkGetConstReferenceMacro(ForegroundValue, InputPixelType);
00122
00123
00130 itkGetConstReferenceMacro( MajorityThreshold, unsigned int );
00131 itkSetMacro( MajorityThreshold, unsigned int );
00133
00134
00136 itkGetConstReferenceMacro( NumberOfPixelsChanged, unsigned int );
00137
00138 #ifdef ITK_USE_CONCEPT_CHECKING
00139
00140 itkConceptMacro(InputEqualityComparableCheck,
00141 (Concept::EqualityComparable<InputPixelType>));
00142 itkConceptMacro(InputOStreamWritableeCheck,
00143 (Concept::OStreamWritable<InputPixelType>));
00144
00146 #endif
00147
00148 protected:
00149 VotingBinaryIterativeHoleFillingImageFilter();
00150 virtual ~VotingBinaryIterativeHoleFillingImageFilter() {}
00151 void PrintSelf(std::ostream& os, Indent indent) const;
00152
00156 void GenerateData();
00157
00158
00159 private:
00160 VotingBinaryIterativeHoleFillingImageFilter(const Self&);
00161 void operator=(const Self&);
00162
00163 InputSizeType m_Radius;
00164
00165 InputPixelType m_ForegroundValue;
00166 InputPixelType m_BackgroundValue;
00167
00168 unsigned int m_MaximumNumberOfIterations;
00169 unsigned int m_CurrentNumberOfIterations;
00170 unsigned int m_MajorityThreshold;
00171 unsigned int m_NumberOfPixelsChanged;
00172
00173 };
00174
00175 }
00176
00177 #ifndef ITK_MANUAL_INSTANTIATION
00178 #include "itkVotingBinaryIterativeHoleFillingImageFilter.txx"
00179 #endif
00180
00181 #endif
00182