]> 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 >
12 fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits >::
13 Dijkstra( )
14   : Superclass( )
15 {
16   this->SetWeightFunction(
17     fpa::Functors::Dijkstra::Image::Identity< _TInputImage, typename _TOutputImage::PixelType >::New( )
18     );
19 }
20
21 // -------------------------------------------------------------------------
22 template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits >
23 fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits >::
24 ~Dijkstra( )
25 {
26 }
27
28 // -------------------------------------------------------------------------
29 template< class _TInputImage, class _TOutputImage, class _TMark, class _TTraits >
30 void fpa::Filters::Image::Dijkstra< _TInputImage, _TOutputImage, _TMark, _TTraits >::
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   typename _TInputImage::IndexType::OffsetType o;
45   o.Fill( 0 );
46   mst->FillBuffer( o );
47 }
48
49 #endif // __fpa__Filters__Image__Dijkstra__hxx__
50 // eof - $RCSfile$