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