1 #ifndef __FPA__IMAGE__DIJKSTRA__H__
2 #define __FPA__IMAGE__DIJKSTRA__H__
4 #include <fpa/Base/Dijkstra.h>
5 #include <fpa/Image/Algorithm.h>
13 template< class _TInputImage, class _TOutputImage = _TInputImage >
15 : public fpa::Base::Dijkstra< fpa::Image::Algorithm< _TInputImage, _TOutputImage > >
18 typedef fpa::Base::Dijkstra< fpa::Image::Algorithm< _TInputImage, _TOutputImage > > Superclass;
19 typedef Dijkstra Self;
20 typedef itk::SmartPointer< Self > Pointer;
21 typedef itk::SmartPointer< const Self > ConstPointer;
24 typedef typename Superclass::TVertex TVertex;
25 typedef typename Superclass::TScalar TScalar;
26 typedef typename Superclass::TFilter TFilter;
27 typedef typename Superclass::TVertexCompare TVertexCompare;
28 typedef typename Superclass::TFrontId TFrontId;
29 typedef typename Superclass::TCollision TCollision;
30 typedef typename Superclass::TCollisionsRow TCollisionsRow;
31 typedef typename Superclass::TCollisions TCollisions;
32 typedef typename Superclass::TNodeLabel TNodeLabel;
33 typedef typename Superclass::TNode TNode;
34 typedef typename Superclass::TNodes TNodes;
35 typedef typename Superclass::TVertices TVertices;
39 itkTypeMacro( Dijkstra, fpa::Base::Dijkstra );
41 itkBooleanMacro( UseImageSpacing );
42 itkGetConstMacro( UseImageSpacing, bool );
43 itkSetMacro( UseImageSpacing, bool );
49 // Dijkstra methods to be overloaded
50 virtual TScalar _Cost(
51 const TVertex& a, const TVertex& b
55 // Purposely not implemented
56 Dijkstra( const Self& other );
57 Self& operator=( const Self& other );
60 bool m_UseImageSpacing;
67 #ifndef ITK_MANUAL_INSTANTIATION
68 # include <fpa/Image/Dijkstra.hxx>
71 #endif // __FPA__IMAGE__DIJKSTRA__H__