00001
00002 #ifndef __itkHMaximaImageFilterRobinson_h
00003 #define __itkHMaximaImageFilterRobinson_h
00004
00005 #include "itkImageToImageFilter.h"
00006
00007 namespace itk {
00008
00030 template<class TInputImage, class TOutputImage>
00031 class ITK_EXPORT HMaximaImageFilterRobinson :
00032 public ImageToImageFilter<TInputImage, TOutputImage>
00033 {
00034 public:
00036 typedef HMaximaImageFilterRobinson Self;
00037 typedef ImageToImageFilter<TInputImage, TOutputImage>
00038 Superclass;
00039 typedef SmartPointer<Self> Pointer;
00040 typedef SmartPointer<const Self> ConstPointer;
00041
00043 typedef TInputImage InputImageType;
00044 typedef TOutputImage OutputImageType;
00045 typedef typename InputImageType::Pointer InputImagePointer;
00046 typedef typename InputImageType::ConstPointer InputImageConstPointer;
00047 typedef typename InputImageType::RegionType InputImageRegionType;
00048 typedef typename InputImageType::PixelType InputImagePixelType;
00049 typedef typename OutputImageType::Pointer OutputImagePointer;
00050 typedef typename OutputImageType::ConstPointer OutputImageConstPointer;
00051 typedef typename OutputImageType::RegionType OutputImageRegionType;
00052 typedef typename OutputImageType::PixelType OutputImagePixelType;
00053
00055 itkStaticConstMacro(InputImageDimension, unsigned int,
00056 TInputImage::ImageDimension);
00057 itkStaticConstMacro(OutputImageDimension, unsigned int,
00058 TOutputImage::ImageDimension);
00060
00062 itkNewMacro(Self);
00063
00065 itkTypeMacro(HMaximaImageFilterRobinson,
00066 ImageToImageFilter);
00067
00072 itkSetMacro(Height, InputImagePixelType);
00073 itkGetMacro(Height, InputImagePixelType);
00075
00080 unsigned long GetNumberOfIterationsUsed()
00081 { itkLegacyBody(itk::HMaximaImageFilterRobinson::GetNumberOfIterationsUsed, 2.2);
00082 return m_NumberOfIterationsUsed; };
00084
00091 itkSetMacro(FullyConnected, bool);
00092 itkGetConstReferenceMacro(FullyConnected, bool);
00093 itkBooleanMacro(FullyConnected);
00095
00096 protected:
00097 HMaximaImageFilterRobinson();
00098 ~HMaximaImageFilterRobinson() {};
00099 void PrintSelf(std::ostream& os, Indent indent) const;
00100
00104 void GenerateInputRequestedRegion() ;
00105
00107 void EnlargeOutputRequestedRegion(DataObject *itkNotUsed(output));
00108
00111 void GenerateData();
00112
00113
00114 private:
00115 HMaximaImageFilterRobinson(const Self&);
00116 void operator=(const Self&);
00117
00118 InputImagePixelType m_Height;
00119 unsigned long m_NumberOfIterationsUsed;
00120 bool m_FullyConnected;
00121 } ;
00122
00123 }
00124
00125 #ifndef ITK_MANUAL_INSTANTIATION
00126 #include "itkHMaximaImageFilterRobinson.txx"
00127 #endif
00128
00129 #endif
00130
00131
00132