X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FImage%2FRandomWalker.hxx;h=5fb77681d925dd0a3c7b6b92072094de2fbaf6ac;hb=ed2108383e59a45c6fa2e9259a27256a93d8aa6a;hp=9016e970e987d4a253deb5fd36caf7e1db335914;hpb=3a438326c6901fafd9be8b5446a828aa5f63a1cc;p=FrontAlgorithms.git diff --git a/lib/fpa/Image/RandomWalker.hxx b/lib/fpa/Image/RandomWalker.hxx index 9016e97..5fb7768 100644 --- a/lib/fpa/Image/RandomWalker.hxx +++ b/lib/fpa/Image/RandomWalker.hxx @@ -61,8 +61,9 @@ _BeforeGenerateData( ) // ------------------------------------------------------------------------- template< class _TInputImage, class _TLabelImage, class _TScalar > -void fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >:: -_QueueInit( ) +typename fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >:: +TNodes fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >:: +_UnifySeeds( ) { this->m_Seeds.clear( ); const TLabelImage* lbl = this->GetLabels( ); @@ -98,25 +99,32 @@ _QueueInit( ) } // rof - typename TSeedsInterface::TNode node; - node.Vertex = lIt.GetIndex( ); - node.Parent = lIt.GetIndex( ); - node.FrontId = lIt.Get( ); - node.Value = TScalar( 0 ); if( !is_seed ) { - this->_Mark( lIt.GetIndex( ), lIt.Get( ) ); + typename TSeedsInterface::TNode node; + node.Vertex = lIt.GetIndex( ); + node.Parent = lIt.GetIndex( ); + node.FrontId = lIt.Get( ); + node.Value = TScalar( 0 ); + this->_Mark( node.Vertex, node.FrontId ); this->_UpdateOutputValue( node ); } else - this->m_Seeds.insert( node ); + { + typename TSeedsInterface::TSeed seed; + seed.Vertex = lIt.GetIndex( ); + seed.IsPoint = false; + seed.FrontId = lIt.Get( ); + this->m_Seeds.push_back( seed ); + + } // fi } // fi } // rof // Ok, finish initialization - this->Superclass::_QueueInit( ); + return( this->Superclass::_UnifySeeds( ) ); } #endif // __fpa__Image__RandomWalker__hxx__