#include <limits>
// -------------------------------------------------------------------------
-template< class _TImage >
-bool fpa::Image::Functors::RegionGrow::BinaryThreshold< _TImage >::
+template< class _TImage, class _TOutput >
+_TOutput
+fpa::Image::Functors::RegionGrow::BinaryThreshold< _TImage, _TOutput >::
Evaluate( const TIndex& a, const TIndex& b ) const
{
const _TImage* im =
if( im != NULL )
{
TPixel v = im->GetPixel( b );
- return( this->m_Lower <= v && v <= this->m_Upper );
+ return(
+ ( this->m_Lower < v && v < this->m_Upper )?
+ this->m_InsideValue:
+ this->m_OutsideValue
+ );
}
else
- return( false );
+ return( this->m_OutsideValue );
}
// -------------------------------------------------------------------------
-template< class _TImage >
-fpa::Image::Functors::RegionGrow::BinaryThreshold< _TImage >::
+template< class _TImage, class _TOutput >
+fpa::Image::Functors::RegionGrow::BinaryThreshold< _TImage, _TOutput >::
BinaryThreshold( )
: Superclass( )
{
}
// -------------------------------------------------------------------------
-template< class _TImage >
-fpa::Image::Functors::RegionGrow::BinaryThreshold< _TImage >::
+template< class _TImage, class _TOutput >
+fpa::Image::Functors::RegionGrow::BinaryThreshold< _TImage, _TOutput >::
~BinaryThreshold( )
{
}