#ifndef __FPA__IMAGE__FUNCTORS__REGIONGROWTHRESHOLDFUNCTION__H__
#define __FPA__IMAGE__FUNCTORS__REGIONGROWTHRESHOLDFUNCTION__H__
-#include <limits>
+#include <itkNumericTraits.h>
#include <fpa/Image/Functors/RegionGrowAllBelongsFunction.h>
namespace fpa
typedef itk::SmartPointer< const Self > ConstPointer;
// Superclass' types
- typedef typename Superclass::TInputImage TInputImage;
- typedef typename Superclass::TOutputValue TOutputValue;
- typedef typename Superclass::TIndex TIndex;
- typedef typename I::PixelType TPixel;
+ typedef I TInputImage;
+ typedef typename I::IndexType TIndex;
+ typedef typename I::PixelType TPixel;
public:
itkNewMacro( Self );
itkSetMacro( UpperThreshold, TPixel );
public:
- virtual TOutputValue Evaluate( const TIndex& idx ) const
+ virtual bool Evaluate( const TIndex& idx ) const
{
- const I* img = this->GetInputImage( );
+ const I* img = this->GetSpace( );
+
if( img != NULL )
{
- /* TODO
- if( this->IsInsideBuffer( idx ) )
- {
- */
TPixel v = img->GetPixel( idx );
- std::cout
- << v << " "
- << this->m_LowerThreshold << " "
- << this->m_UpperThreshold << std::endl;
return(
- this->m_LowerThreshold <= v && v < this->m_UpperThreshold
+ !( v < this->m_LowerThreshold || this->m_UpperThreshold < v )
);
- // TODO: } // fi
-
} // fi
return( false );
}
protected:
RegionGrowThresholdFunction( )
- : Superclass( ),
- m_LowerThreshold( std::numeric_limits< TPixel >::min( ) ),
- m_UpperThreshold( std::numeric_limits< TPixel >::max( ) )
- { }
+ : Superclass( )
+ {
+ itk::NumericTraits< TPixel >::min( this->m_LowerThreshold );
+ itk::NumericTraits< TPixel >::max( this->m_UpperThreshold );
+ }
virtual ~RegionGrowThresholdFunction( )
{ }