]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/Algorithm.h
Refactoring: gaussian model estimator
[FrontAlgorithms.git] / lib / fpa / Image / Algorithm.h
index cd218a6ff0d9ef1eaae6694206a27a37d126237b..e59bed2311c19912e26c6d75df7aa6c91079f7d9 100644 (file)
@@ -2,6 +2,7 @@
 #define __FPA__IMAGE__ALGORITHM__H__
 
 #include <itkImage.h>
+#include <fpa/Image/MinimumSpanningTree.h>
 
 namespace fpa
 {
@@ -41,7 +42,10 @@ namespace fpa
       typedef typename Superclass::_TNode          _TNode;
       typedef typename Superclass::_TNodes         _TNodes;
 
-      typedef itk::Image< _TNode, I::ImageDimension > _TMarks;
+      typedef fpa::Image::MinimumSpanningTree< TVertex, _TNode, _TCollisions, I::ImageDimension, Self::AliveLabel > _TMarks;
+
+    public:
+      typedef _TMarks TMinimumSpanningTree;
 
     public:
       itkTypeMacro( Algorithm, TAlgorithm );
@@ -50,11 +54,17 @@ namespace fpa
       itkGetConstMacro( NeighborhoodOrder, unsigned int );
       itkSetMacro( NeighborhoodOrder, unsigned int );
 
+    public:
+      TMinimumSpanningTree* GetMinimumSpanningTree( );
+      const TMinimumSpanningTree* GetMinimumSpanningTree( ) const;
+      void GraftMinimumSpanningTree( itk::DataObject* obj );
+
     protected:
       Algorithm( );
       virtual ~Algorithm( );
 
       virtual void _BeforeGenerateData( );
+      virtual void _AfterGenerateData( );
 
       // Graph-related abstract methods
       virtual unsigned long _NumberOfVertices( ) const;
@@ -84,7 +94,6 @@ namespace fpa
 
     protected:
       unsigned int m_NeighborhoodOrder;
-      typename _TMarks::Pointer m_Marks;
     };
 
   } // ecapseman