]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/Image/Dijkstra.hxx
...
[FrontAlgorithms.git] / lib / fpa / Filters / Image / Dijkstra.hxx
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__Image__Dijkstra__hxx__
6 #define __fpa__Filters__Image__Dijkstra__hxx__
7
8 #include <fpa/Functors/Dijkstra/Image/Identity.h>
9
10 // -------------------------------------------------------------------------
11 template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits, class _TMST >
12 fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits, _TMST >::
13 Dijkstra( )
14   : Superclass( )
15 {
16   typedef fpa::Functors::Dijkstra::Image::Identity< TInputImage, TOutputValue > _TFunc;
17
18   this->SetWeightFunction( _TFunc::New( ) );
19 }
20
21 // -------------------------------------------------------------------------
22 template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits, class _TMST >
23 fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits, _TMST >::
24 ~Dijkstra( )
25 {
26 }
27
28 // -------------------------------------------------------------------------
29 template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits, class _TMST >
30 void fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits, _TMST >::
31 _ConfigureOutputs( )
32 {
33   this->Superclass::_ConfigureOutputs( );
34
35   const TInputImage* in = this->GetInput( );
36   TMST* mst = this->GetMinimumSpanningTree( );
37   mst->SetLargestPossibleRegion( in->GetLargestPossibleRegion( ) );
38   mst->SetRequestedRegion( in->GetRequestedRegion( ) );
39   mst->SetBufferedRegion( in->GetBufferedRegion( ) );
40   mst->SetSpacing( in->GetSpacing( ) );
41   mst->SetOrigin( in->GetOrigin( ) );
42   mst->SetDirection( in->GetDirection( ) );
43   mst->Allocate( );
44
45   typename TVertex::OffsetType o;
46   o.Fill( 0 );
47   mst->FillBuffer( o );
48 }
49
50 #endif // __fpa__Filters__Image__Dijkstra__hxx__
51 // eof - $RCSfile$