]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Base/Mori.h
...
[FrontAlgorithms.git] / lib / fpa / Base / Mori.h
index 430ff03ae5bc222da3ac1547efab3e0074554006..ef8d7cc475d7e286e2392b394bbd6c7dcb494f76 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <deque>
 #include <set>
+#include <map>
 #include <itkConceptChecking.h>
 #include <itkFunctionBase.h>
 #include <fpa/Base/Functors/RegionGrow/BinaryThreshold.h>
@@ -37,6 +38,8 @@ namespace fpa
 
       typedef std::deque< TNode >     TQueue;
       typedef std::set< TInputValue > TThresholds;
+      typedef std::pair< TInputValue, unsigned long > TSignalData;
+      typedef std::map< TFrontId, TSignalData >       TSignal;
       typedef fpa::Base::Functors::RegionGrow::BinaryThreshold< TInputValue > TPredicate;
 
     public:
@@ -59,14 +62,18 @@ namespace fpa
       void SetThresholds(
         const TInputValue& init,
         const TInputValue& end,
-        unsigned long number_of_thresholds
+        const TInputValue& delta
         );
 
     protected:
       Mori( );
       virtual ~Mori( );
 
-      virtual TOutputValue _ComputeOutputValue( const TNode& n ) override;
+      virtual void _BeforeGenerateData( ) override;
+      virtual void _AfterGenerateData( ) override;
+      virtual void _FinishOneLoop( ) override;
+      virtual void _ComputeOutputValue( TNode& n ) override;
+      virtual void _UpdateOutputValue( TNode& n ) override;
       virtual void _QueueClear( ) override;
       virtual TNode _QueuePop( ) override;
       virtual void _QueuePush( const TNode& node ) override;
@@ -81,8 +88,11 @@ namespace fpa
     protected:
       typename TPredicate::Pointer m_Predicate;
       TThresholds m_Thresholds;
+      typename TThresholds::const_iterator m_CurrentThreshold;
       TQueue m_Queues[ 2 ];
       unsigned int m_CurrentQueue;
+      unsigned long m_Count;
+      TSignal m_Signal;
 
       TOutputValue m_InsideValue;
     };
@@ -91,11 +101,9 @@ namespace fpa
 
 } // ecapseman
 
-/* TODO
-   #ifndef ITK_MANUAL_INSTANTIATION
-   #  include <fpa/Base/Mori.hxx>
-   #endif // ITK_MANUAL_INSTANTIATION
-*/
+#ifndef ITK_MANUAL_INSTANTIATION
+#  include <fpa/Base/Mori.hxx>
+#endif // ITK_MANUAL_INSTANTIATION
 
 #endif // __fpa__Base__Mori__h__