// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Filters__Image__Dijkstra__hxx__ #define __fpa__Filters__Image__Dijkstra__hxx__ #include // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits, class _TMST > fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits, _TMST >:: Dijkstra( ) : Superclass( ) { typedef fpa::Functors::Dijkstra::Image::Identity< TInputImage, TOutputValue > _TFunc; this->SetWeightFunction( _TFunc::New( ) ); } // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits, class _TMST > fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits, _TMST >:: ~Dijkstra( ) { } // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits, class _TMST > void fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits, _TMST >:: _ConfigureOutputs( ) { this->Superclass::_ConfigureOutputs( ); const TInputImage* in = this->GetInput( ); TMST* mst = this->GetMinimumSpanningTree( ); mst->SetLargestPossibleRegion( in->GetLargestPossibleRegion( ) ); mst->SetRequestedRegion( in->GetRequestedRegion( ) ); mst->SetBufferedRegion( in->GetBufferedRegion( ) ); mst->SetSpacing( in->GetSpacing( ) ); mst->SetOrigin( in->GetOrigin( ) ); mst->SetDirection( in->GetDirection( ) ); mst->Allocate( ); typename TVertex::OffsetType o; o.Fill( 0 ); mst->FillBuffer( o ); } #endif // __fpa__Filters__Image__Dijkstra__hxx__ // eof - $RCSfile$