]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/Dijkstra.h
37cb17e46f11e717f7433d263ede1974b9aa3356
[FrontAlgorithms.git] / lib / fpa / Filters / Dijkstra.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__Dijkstra__h__
6 #define __fpa__Filters__Dijkstra__h__
7
8 #include <fpa/Filters/RandomWalker.h>
9
10 namespace fpa
11 {
12   namespace Filters
13   {
14     /**
15      */
16     template< class _TDataInterface, class _TMST >
17     class Dijkstra
18       : public fpa::Filters::RandomWalker< _TDataInterface >
19     {
20     public:
21       typedef _TDataInterface TDataInterface;
22       typedef _TMST TMST;
23       typedef fpa::Filters::RandomWalker< TDataInterface > Superclass;
24       typedef Dijkstra                                     Self;
25       typedef itk::SmartPointer< Self >                    Pointer;
26       typedef itk::SmartPointer< const Self >              ConstPointer;
27
28       typedef typename Superclass::TTraits TTraits;
29       fpaTraitsMacro( typename TTraits );
30       typedef typename Superclass::TCost  TCost;
31       typedef typename Superclass::TLabel TLabel;
32
33       typedef typename Superclass::TScalarWeight TScalarWeight;
34       typedef typename Superclass::TVertexWeight TVertexWeight;
35
36     public:
37       itkTypeMacro( fpa::Filters::Dijkstra, fpa::Filters::RandomWalker );
38
39       fpaFilterOutputMacro( MinimumSpanningTree, TMST );
40
41     protected:
42       Dijkstra( );
43       virtual ~Dijkstra( );
44
45       virtual void _PostComputeOutputValue( TNode& n ) override;
46
47     private:
48       Dijkstra( const Self& other );
49       Self& operator=( const Self& other );
50     };
51
52   } // ecapseman
53
54 } // ecapseman
55
56 #ifndef ITK_MANUAL_INSTANTIATION
57 #  include <fpa/Filters/Dijkstra.hxx>
58 #endif // ITK_MANUAL_INSTANTIATION
59 #endif // __fpa__Filters__Dijkstra__h__
60 // eof - $RCSfile$