#ifndef __fpa__Image__Functors__SimpleDijkstraCost__h__ #define __fpa__Image__Functors__SimpleDijkstraCost__h__ #include #include namespace fpa { namespace Image { namespace Functors { /** */ template< class _TImage, class _TOutput > class SimpleDijkstraCost : public fpa::Image::Functors::Base< _TImage, fpa::Base::DijkstraCostFunctionBase< typename _TImage::IndexType, _TOutput > > { public: typedef _TImage TImage; typedef typename TImage::IndexType TIndex; typedef _TOutput TOutput; typedef fpa::Base::DijkstraCostFunctionBase< TIndex, TOutput > TBaseFunctor; typedef fpa::Image::Functors::Base< TImage, TBaseFunctor > Superclass; typedef SimpleDijkstraCost Self; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( SimpleDijkstraCost, Base ); itkBooleanMacro( UseImageSpacing ); itkGetConstMacro( UseImageSpacing, bool ); itkSetMacro( UseImageSpacing, bool ); public: virtual TOutput Evaluate( const TIndex& a, const TIndex& b ) const override; protected: SimpleDijkstraCost( ); virtual ~SimpleDijkstraCost( ); private: // Purposely not implemented SimpleDijkstraCost( const Self& other ); Self& operator=( const Self& other ); protected: bool m_UseImageSpacing; }; } // ecapseman } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Image__Functors__SimpleDijkstraCost__h__ // eof - $RCSfile$