1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Functors__RegionGrow__BinaryThreshold__h__
6 #define __fpa__Functors__RegionGrow__BinaryThreshold__h__
8 #include <itkFunctionBase.h>
18 template< class _TValue >
20 : public itk::FunctionBase< _TValue, bool >
23 typedef _TValue TValue;
24 typedef itk::FunctionBase< TValue, bool > Superclass;
25 typedef BinaryThreshold Self;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
32 fpa::Functors::RegionGrow::BinaryThreshold, itk::FunctionBase
35 itkGetConstMacro( LowerThreshold, TValue );
36 itkSetMacro( LowerThreshold, TValue );
38 itkGetConstMacro( UpperThreshold, TValue );
39 itkSetMacro( UpperThreshold, TValue );
41 itkBooleanMacro( Strict );
42 itkGetConstMacro( Strict, bool );
43 itkSetMacro( Strict, bool );
46 void ThresholdAbove( const TValue& a );
47 void ThresholdBetween( const TValue& a, const TValue& b );
48 void ThresholdBelow( const TValue& a );
50 virtual bool Evaluate( const TValue& v ) const override;
54 virtual ~BinaryThreshold( );
57 // Purposely not implemented.
58 BinaryThreshold( const Self& other );
59 Self& operator=( const Self& other );
62 TValue m_LowerThreshold;
63 TValue m_UpperThreshold;
73 #ifndef ITK_MANUAL_INSTANTIATION
74 # include <fpa/Functors/RegionGrow/BinaryThreshold.hxx>
75 #endif // ITK_MANUAL_INSTANTIATION
76 #endif // __fpa__Functors__RegionGrow__BinaryThreshold__h__