dijkstra->Update( );
// Compute end-points
+ const _TMST* mst = dijkstra->GetMinimumSpanningTree( );
std::vector< TIndex > end_points;
this->_EndPoints(
- end_points,
- this->m_DistanceMap->GetOutput( ),
- dijkstra->GetMinimumSpanningTree( ),
- dijkstra->GetSkeletonQueue( )
+ end_points, this->m_DistanceMap->GetOutput( ),
+ mst, dijkstra->GetSkeletonQueue( )
);
+
+ // Create branches
+ TSkeleton* sk = this->GetOutput( );
+ typename std::vector< TIndex >::const_iterator eIt = end_points.begin( );
+ std::map< TIndex, unsigned long, typename TIndex::LexicographicCompare > tags;
+ unsigned long t = 1;
+ for( ; eIt != end_points.end( ); ++eIt )
+ {
+ // Tag path
+ TIndex it = *eIt;
+ TIndex p = mst->GetParent( it );
+ while( it != p )
+ {
+ tags[ it ] = t;
+ it = p;
+ p = mst->GetParent( it );
+
+ } // elihw
+ // TODO: More on it
+
+ } // rof
}
// -------------------------------------------------------------------------