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__
8 #include <fpa/Filters/RandomWalker.h>
16 template< class _TDataInterface, class _TMST >
18 : public fpa::Filters::RandomWalker< _TDataInterface >
21 typedef _TDataInterface TDataInterface;
23 typedef fpa::Filters::RandomWalker< TDataInterface > Superclass;
24 typedef Dijkstra Self;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
28 typedef typename Superclass::TTraits TTraits;
29 fpaTraitsMacro( typename TTraits );
30 typedef typename Superclass::TCost TCost;
31 typedef typename Superclass::TLabel TLabel;
33 typedef typename Superclass::TScalarWeight TScalarWeight;
34 typedef typename Superclass::TVertexWeight TVertexWeight;
37 itkTypeMacro( fpa::Filters::Dijkstra, fpa::Filters::RandomWalker );
39 fpaFilterOutputMacro( MinimumSpanningTree, TMST );
45 virtual void _PostComputeOutputValue( TNode& n ) override;
48 Dijkstra( const Self& other );
49 Self& operator=( const Self& other );
56 #ifndef ITK_MANUAL_INSTANTIATION
57 # include <fpa/Filters/Dijkstra.hxx>
58 #endif // ITK_MANUAL_INSTANTIATION
59 #endif // __fpa__Filters__Dijkstra__h__