- return(
- "fpaPlugins::ExtractPathFromMinimumSpanningTree: No valid vertices."
- );
- if( vertices->Get( ).size( ) < 2 )
- return(
- "fpaPlugins::ExtractPathFromMinimumSpanningTree: Not enough vertices."
- );
- auto v0 = vertices->Get( )[ this->m_Parameters.GetUint( "Vertex0" ) ];
- auto v1 = vertices->Get( )[ this->m_Parameters.GetUint( "Vertex1" ) ];
+ this->_Error( "No valid vertices." );
+ if( vertices->GetNumberOfPoints( ) < 2 )
+ this->_Error( "Not enough vertices." );
+
+ double b0[ 3 ], b1[ 3 ];
+ vertices->GetPoint( this->m_Parameters.GetUint( "Vertex0" ), b0 );
+ vertices->GetPoint( this->m_Parameters.GetUint( "Vertex1" ), b1 );
+
+ typename _TMST::PointType p0, p1;
+ unsigned int dim = ( _TMST::ImageDimension < 3 )? _TMST::ImageDimension: 3;
+ for( unsigned int d = 0; d < dim; ++d )
+ {
+ p0[ d ] = b0[ d ];
+ p1[ d ] = b1[ d ];
+
+ } // rof
+ typename _TMST::TVertex v0, v1;
+ mst->TransformPhysicalPointToIndex( p0, v0 );
+ mst->TransformPhysicalPointToIndex( p1, v1 );