]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h
...
[FrontAlgorithms.git] / lib / fpa / Base / ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h
index d6e97af8577dc0063cab5d9ff9946a23bbf6121c..598e15d20b1d717593abdd83cadbe11b8d5d5dd8 100644 (file)
@@ -1,9 +1,11 @@
 #ifndef __FPA__BASE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
 #define __FPA__BASE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__H__
 
+#include <utility>
 #include <vector>
 #include <itkProcessObject.h>
 #include <itkSimpleDataObjectDecorator.h>
+#include <cpExtensions/DataStructures/ImageIndexesContainer.h>
 
 namespace fpa
 {
@@ -22,9 +24,13 @@ namespace fpa
       typedef itk::SmartPointer< const Self >                        ConstPointer;
 
       typedef _TMST  TMinimumSpanningTree;
-      typedef typename _TMST::TVertex TVertex;
+      typedef typename _TMST::TVertex       TVertex;
+      typedef std::pair< TVertex, TVertex > TBranch;
+      typedef itk::SimpleDataObjectDecorator< std::vector< TBranch > > TBranches;
 
-      typedef itk::SimpleDataObjectDecorator< std::vector< TVertex > > TVertices;
+      typedef
+      cpExtensions::DataStructures::ImageIndexesContainer< TVertex::Dimension >
+      TVertices;
 
     public:
       itkTypeMacro(
@@ -39,8 +45,9 @@ namespace fpa
       TVertices* GetEndPoints( );
       TVertices* GetBifurcations( );
       TVertices* GetCollisions( );
+      TBranches* GetBranches( );
 
-      virtual void Update( ) override
+      virtual void Update( ) ITK_OVERRIDE
         {
           this->GenerateData( );
         }
@@ -49,7 +56,7 @@ namespace fpa
       ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
       virtual ~ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( );
 
-      virtual void GenerateData( ) override;
+      virtual void GenerateData( ) ITK_OVERRIDE;
 
       virtual void _MarkSkeleton(
         const TVertex& v, const unsigned long& l