00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __itkValuedRegionalMaximaImageFilter_h
00019 #define __itkValuedRegionalMaximaImageFilter_h
00020
00021 #include "itkValuedRegionalExtremaImageFilter.h"
00022 #include "itkNumericTraits.h"
00023 #include "itkConceptChecking.h"
00024
00025 namespace itk {
00048 template <class TInputImage, class TOutputImage>
00049 class ITK_EXPORT ValuedRegionalMaximaImageFilter :
00050 public
00051 ValuedRegionalExtremaImageFilter<TInputImage, TOutputImage,
00052 std::greater<typename TInputImage::PixelType>,
00053 std::greater<typename TOutputImage::PixelType> >
00054 {
00055 public:
00056 typedef ValuedRegionalMaximaImageFilter Self;
00057
00058 typedef ValuedRegionalExtremaImageFilter<TInputImage, TOutputImage,
00059 std::greater<typename TInputImage::PixelType>,
00060 std::greater<typename TOutputImage::PixelType> > Superclass;
00061
00062 typedef SmartPointer<Self> Pointer;
00063 typedef SmartPointer<const Self> ConstPointer;
00064
00065
00066 typedef TInputImage InputImageType;
00067 typedef typename InputImageType::PixelType InputImagePixelType;
00068
00070 itkNewMacro(Self);
00071
00073 itkTypeMacro(ValuedRegionalMaximaImageFilter,
00074 ValuedRegionalExtremaImageFilter);
00075
00076 #ifdef ITK_USE_CONCEPT_CHECKING
00077
00078 itkConceptMacro(InputPixelTypeComparable,
00079 (Concept::GreaterThanComparable<InputImagePixelType>));
00080 itkConceptMacro(InputHasPixelTraitsCheck,
00081 (Concept::HasPixelTraits<InputImagePixelType>));
00082 itkConceptMacro(InputHasNumericTraitsCheck,
00083 (Concept::HasNumericTraits<InputImagePixelType>));
00084
00086 #endif
00087
00088 protected:
00089 ValuedRegionalMaximaImageFilter()
00090 {
00091 SetMarkerValue(
00092 NumericTraits<ITK_TYPENAME TOutputImage::PixelType>::NonpositiveMin());
00093 }
00094 virtual ~ValuedRegionalMaximaImageFilter() {}
00095
00096 private:
00097 ValuedRegionalMaximaImageFilter(const Self&);
00098 void operator=(const Self&);
00099
00100 };
00101
00102 }
00103
00104 #endif
00105