1 #ifndef __fpa__Image__Functors__SimpleDijkstraCost__h__
2 #define __fpa__Image__Functors__SimpleDijkstraCost__h__
4 #include <fpa/Image/Functors/Base.h>
5 #include <fpa/Base/DijkstraCostFunctionBase.h>
15 template< class _TImage, class _TOutput >
16 class SimpleDijkstraCost
17 : public fpa::Image::Functors::Base< _TImage, fpa::Base::DijkstraCostFunctionBase< typename _TImage::IndexType, _TOutput > >
20 typedef _TImage TImage;
21 typedef typename TImage::IndexType TIndex;
22 typedef _TOutput TOutput;
24 typedef fpa::Base::DijkstraCostFunctionBase< TIndex, TOutput > TBaseFunctor;
25 typedef fpa::Image::Functors::Base< TImage, TBaseFunctor > Superclass;
26 typedef SimpleDijkstraCost Self;
27 typedef itk::SmartPointer< Self > Pointer;
28 typedef itk::SmartPointer< const Self > ConstPointer;
32 itkTypeMacro( SimpleDijkstraCost, Base );
34 itkBooleanMacro( UseImageSpacing );
35 itkGetConstMacro( UseImageSpacing, bool );
36 itkSetMacro( UseImageSpacing, bool );
39 virtual TOutput Evaluate(
40 const TIndex& a, const TIndex& b
44 SimpleDijkstraCost( );
45 virtual ~SimpleDijkstraCost( );
48 // Purposely not implemented
49 SimpleDijkstraCost( const Self& other );
50 Self& operator=( const Self& other );
53 bool m_UseImageSpacing;
62 #ifndef ITK_MANUAL_INSTANTIATION
63 # include <fpa/Image/Functors/SimpleDijkstraCost.hxx>
64 #endif // ITK_MANUAL_INSTANTIATION
66 #endif // __fpa__Image__Functors__SimpleDijkstraCost__h__