typedef typename Superclass::TMembershipFunction TMembershipFunction;
typedef typename Superclass::TFunctions TFunctions;
- typedef std::set< TPixel > TThresholds;
+ typedef std::set< TPixel > TThresholds;
typedef fpa::Image::Functors::RegionGrowThresholdFunction< I > TFunction;
protected:
itkNewMacro( Self );
itkTypeMacro( RegionGrowWithMultipleThresholds, RegionGrow );
- itkGetConstMacro( DerivativeThreshold, double );
- itkSetMacro( DerivativeThreshold, double );
+ itkGetConstMacro( InsideValue, TPixel );
+ itkGetConstMacro( OutsideValue, TPixel );
+ itkGetConstMacro( DifferenceThreshold, double );
+
+ itkSetMacro( InsideValue, TPixel );
+ itkSetMacro( OutsideValue, TPixel );
+ itkSetMacro( DifferenceThreshold, double );
public:
void AddThreshold( const TPixel& v );
RegionGrowWithMultipleThresholds( );
virtual ~RegionGrowWithMultipleThresholds( );
- virtual bool _UpdateResult( _TNode& n );
- virtual void _BeforeLoop( );
+ virtual void _BeforeMainLoop( );
+ virtual void _AfterMainLoop( );
virtual void _AfterLoop( );
+ virtual bool _UpdateResult( _TNode& n );
+ virtual void _Mark( const _TNode& n );
+ virtual bool _CheckStopCondition( );
private:
RegionGrowWithMultipleThresholds( const Self& ); // Not impl.
protected:
TThresholds m_Thresholds;
- double m_DerivativeThreshold;
+ TPixel m_InsideValue;
+ TPixel m_OutsideValue;
+ double m_DifferenceThreshold;
THistogram m_Histogram;
+ unsigned long m_TotalCount;
+ double m_LastDiff;
+ bool m_StopForced;
+ TPixel m_StopThreshold;
};
} // ecapseman