X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FImage%2FRegionGrowWithMultipleThresholds.h;h=3bcc7db7abe21be0dd71ff75f491b0cf396c47da;hb=b63dc485b7255d1ab70ff72096beafe13a71f1be;hp=b4c3e4e536480c084c1ba040fa3120c3918e99fc;hpb=972dd44060dfff40ba3daab899c6365445f6de7e;p=FrontAlgorithms.git diff --git a/lib/fpa/Image/RegionGrowWithMultipleThresholds.h b/lib/fpa/Image/RegionGrowWithMultipleThresholds.h index b4c3e4e..3bcc7db 100644 --- a/lib/fpa/Image/RegionGrowWithMultipleThresholds.h +++ b/lib/fpa/Image/RegionGrowWithMultipleThresholds.h @@ -30,7 +30,7 @@ namespace fpa 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: @@ -40,8 +40,13 @@ namespace fpa 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 ); @@ -55,9 +60,12 @@ namespace fpa 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. @@ -65,8 +73,14 @@ namespace fpa 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