// ========================================================================= // @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 > fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits >:: Dijkstra( ) : Superclass( ) { this->SetWeightFunction( fpa::Functors::Dijkstra::Image::Identity< _TInputImage, typename _TOutputImage::PixelType >::New( ) ); } // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits > fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits >:: ~Dijkstra( ) { } // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits > void fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits >:: _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 _TInputImage::IndexType::OffsetType o; o.Fill( 0 ); mst->FillBuffer( o ); } #endif // __fpa__Filters__Image__Dijkstra__hxx__ // eof - $RCSfile$