1 #ifndef __fpa__Image__Dijkstra__h__
2 #define __fpa__Image__Dijkstra__h__
4 #include <fpa/Base/Dijkstra.h>
5 #include <fpa/Image/Algorithm.h>
6 #include <fpa/Image/MinimumSpanningTree.h>
7 #include <fpa/Image/Functors/Base.h>
15 template< class _TInputImage, class _TOutputImage >
17 : public fpa::Base::Dijkstra< fpa::Image::Algorithm< _TInputImage, _TOutputImage >, fpa::Image::MinimumSpanningTree< _TInputImage::ImageDimension > >
20 typedef Dijkstra Self;
21 typedef fpa::Image::Algorithm< _TInputImage, _TOutputImage > TAlgorithm;
22 typedef fpa::Image::MinimumSpanningTree< _TInputImage::ImageDimension > TMST;
23 typedef fpa::Base::Dijkstra< TAlgorithm, TMST > Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
27 typedef typename Superclass::TOutput TOutput;
28 typedef typename Superclass::TVertex TVertex;
30 typedef fpa::Image::Functors::Base< _TInputImage, fpa::Base::DijkstraCostFunctionBase< TVertex, TOutput > > TCostFunction;
34 itkTypeMacro( fpa::Image::Dijkstra, fpa::Base::Dijkstra );
40 virtual void _BeforeGenerateData( ) fpa_OVERRIDE;
43 // Purposely not defined
44 Dijkstra( const Self& other );
45 Self& operator=( const Self& other );
52 #ifndef ITK_MANUAL_INSTANTIATION
53 # include <fpa/Image/Dijkstra.hxx>
54 #endif // ITK_MANUAL_INSTANTIATION
56 #endif // __fpa__Image__Dijkstra__h__