#ifndef __FPA__IMAGE__DIJKSTRA__HXX__ #define __FPA__IMAGE__DIJKSTRA__HXX__ // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage > fpa::Image::Dijkstra< _TInputImage, _TOutputImage >:: Dijkstra( ) : Superclass( ), m_UseImageSpacing( false ) { } // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage > fpa::Image::Dijkstra< _TInputImage, _TOutputImage >:: ~Dijkstra( ) { } // ------------------------------------------------------------------------- template< class _TInputImage, class _TOutputImage > typename fpa::Image::Dijkstra< _TInputImage, _TOutputImage >:: TScalar fpa::Image::Dijkstra< _TInputImage, _TOutputImage >:: _Cost( const TVertex& a, const TVertex& b ) const { auto input = this->GetInput( ); TScalar coeff = TScalar( 1 ); if( this->m_UseImageSpacing ) { typename _TInputImage::PointType pa, pb; input->TransformIndexToPhysicalPoint( a, pa ); input->TransformIndexToPhysicalPoint( b, pb ); coeff = TScalar( pa.EuclideanDistanceTo( pb ) ); } // fi TScalar va = TScalar( input->GetPixel( a ) ); return( va * coeff ); } #endif // __FPA__IMAGE__DIJKSTRA__HXX__ // eof - $RCSfile$