]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/Functors/RegionGrowBinaryThreshold.h
update
[FrontAlgorithms.git] / lib / fpa / Image / Functors / RegionGrowBinaryThreshold.h
1 #ifndef __fpa__Image__Functors__RegionGrowBinaryThreshold__h__
2 #define __fpa__Image__Functors__RegionGrowBinaryThreshold__h__
3
4 #include <fpa/Image/Functors/Base.h>
5 #include <fpa/Base/RegionGrowFunctionBase.h>
6
7 namespace fpa
8 {
9   namespace Image
10   {
11     namespace Functors
12     {
13       /**
14        */
15       template< class _TImage >
16       class RegionGrowBinaryThreshold
17         : public fpa::Image::Functors::Base< _TImage, fpa::Base::RegionGrowFunctionBase< typename _TImage::IndexType > >
18       {
19       public:
20         typedef _TImage                    TImage;
21         typedef typename TImage::IndexType TIndex;
22         typedef typename TImage::PixelType TPixel;
23
24         typedef fpa::Base::RegionGrowFunctionBase< TIndex >      TBaseFunctor;
25         typedef fpa::Image::Functors::Base< TImage, TBaseFunctor > Superclass;
26         typedef RegionGrowBinaryThreshold       Self;
27         typedef itk::SmartPointer< Self >       Pointer;
28         typedef itk::SmartPointer< const Self > ConstPointer;
29
30       public:
31         itkNewMacro( Self );
32         itkTypeMacro( RegionGrowBinaryThreshold, Base );
33
34         itkGetConstMacro( LowerThreshold, TPixel );
35         itkGetConstMacro( UpperThreshold, TPixel );
36         itkSetMacro( LowerThreshold, TPixel );
37         itkSetMacro( UpperThreshold, TPixel );
38
39       public:
40         virtual bool Evaluate(
41           const TIndex& a, const TIndex& b
42           ) const fpa_OVERRIDE;
43
44       protected:
45         RegionGrowBinaryThreshold( );
46         virtual ~RegionGrowBinaryThreshold( );
47
48       private:
49         // Purposely not implemented
50         RegionGrowBinaryThreshold( const Self& other );
51         Self& operator=( const Self& other );
52
53       protected:
54         TPixel m_LowerThreshold;
55         TPixel m_UpperThreshold;
56       };
57
58     } // ecapseman
59
60   } // ecapseman
61
62 } // ecapseman
63
64 #ifndef ITK_MANUAL_INSTANTIATION
65 #  include <fpa/Image/Functors/RegionGrowBinaryThreshold.hxx>
66 #endif // ITK_MANUAL_INSTANTIATION
67
68 #endif // __fpa__Image__Functors__RegionGrowBinaryThreshold__h__
69
70 // eof - $RCSfile$