00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkReconstructionByDilationImageFilter_h
00018 #define __itkReconstructionByDilationImageFilter_h
00019
00020 #include "itkReconstructionImageFilter.h"
00021
00022 #include "itkNumericTraits.h"
00023
00024 namespace itk {
00058 template <class TInputImage, class TOutputImage>
00059 class ITK_EXPORT ReconstructionByDilationImageFilter :
00060 public ReconstructionImageFilter<TInputImage, TOutputImage, std::greater<typename TOutputImage::PixelType> >
00061 {
00062 public:
00063 typedef ReconstructionByDilationImageFilter Self;
00064 typedef ReconstructionImageFilter<
00065 TInputImage, TOutputImage, std::greater<typename TOutputImage::PixelType> >
00066 Superclass;
00067
00068 typedef SmartPointer<Self> Pointer;
00069 typedef SmartPointer<const Self> ConstPointer;
00070
00072 typedef TInputImage MarkerImageType;
00073 typedef typename MarkerImageType::Pointer MarkerImagePointer;
00074 typedef typename MarkerImageType::ConstPointer MarkerImageConstPointer;
00075 typedef typename MarkerImageType::RegionType MarkerImageRegionType;
00076 typedef typename MarkerImageType::PixelType MarkerImagePixelType;
00077 typedef TInputImage MaskImageType;
00078 typedef typename MaskImageType::Pointer MaskImagePointer;
00079 typedef typename MaskImageType::ConstPointer MaskImageConstPointer;
00080 typedef typename MaskImageType::RegionType MaskImageRegionType;
00081 typedef typename MaskImageType::PixelType MaskImagePixelType;
00082 typedef TOutputImage OutputImageType;
00083 typedef typename OutputImageType::Pointer OutputImagePointer;
00084 typedef typename OutputImageType::ConstPointer OutputImageConstPointer;
00085 typedef typename OutputImageType::RegionType OutputImageRegionType;
00086 typedef typename OutputImageType::PixelType OutputImagePixelType;
00087
00089 itkStaticConstMacro(MarkerImageDimension, unsigned int,
00090 TInputImage::ImageDimension);
00091 itkStaticConstMacro(MaskImageDimension, unsigned int,
00092 TInputImage::ImageDimension);
00093 itkStaticConstMacro(OutputImageDimension, unsigned int,
00094 TOutputImage::ImageDimension);
00096
00098 itkNewMacro(Self);
00099
00101 itkTypeMacro(ReconstructionByDilationImageFilter,
00102 ReconstructionImageFilter);
00103
00104
00105 protected:
00106 ReconstructionByDilationImageFilter()
00107 {
00108 this->m_MarkerValue = NumericTraits<ITK_TYPENAME TOutputImage::PixelType>::NonpositiveMin();
00109 }
00110 virtual ~ReconstructionByDilationImageFilter() {}
00111
00112 private:
00113 ReconstructionByDilationImageFilter(const Self&);
00114 void operator=(const Self&);
00115
00116 };
00117
00118 }
00119
00120 #endif
00121