#define __fpa__Filters__Image__Dijkstra__h__
#include <fpa/Filters/Dijkstra.h>
-#include <fpa/Filters/Image/Algorithm.h>
#include <fpa/Filters/Image/DefaultTraits.h>
+#include <fpa/Filters/Image/Interface.h>
#include <fpa/DataStructures/Image/MinimumSpanningTree.h>
namespace fpa
{
/**
*/
- template< class _TInputImage, class _TOutputImage, class _TMark = unsigned char, class _TTraits = fpa::Filters::Image::DefaultTraits< _TInputImage, _TOutputImage, _TMark >, class _TMST = fpa::DataStructures::Image::MinimumSpanningTree< _TTraits::TInternalTraits::Dimension > >
+ template< class _TInputImage, class _TOutputImage, class _TMark = unsigned char, class _TTraits = fpa::Filters::Image::DefaultTraits< _TInputImage, _TOutputImage, _TMark > >
class Dijkstra
- : public fpa::Filters::Image::Algorithm< fpa::Filters::Dijkstra< _TTraits, _TMST > >
+ : public fpa::Filters::Dijkstra< fpa::Filters::Image::Interface< _TTraits >, fpa::DataStructures::Image::MinimumSpanningTree< _TTraits::Dimension > >
{
public:
- typedef _TInputImage TInputImage;
- typedef _TOutputImage TOutputImage;
- typedef _TTraits TTraits;
- typedef _TMST TMST;
- fpaTraitsMacro( typename, TTraits );
+ typedef _TTraits TTraits;
+ typedef fpa::DataStructures::Image::MinimumSpanningTree< _TTraits::Dimension > TMST;
- typedef fpa::Filters::Dijkstra< TTraits, TMST > TAlgorithm;
- typedef fpa::Filters::Image::Algorithm< TAlgorithm > Superclass;
- typedef Dijkstra Self;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
+ typedef fpa::Filters::Image::Interface< TTraits > TInterface;
+ typedef fpa::Filters::Dijkstra< TInterface, TMST > Superclass;
+ typedef Dijkstra Self;
+ typedef itk::SmartPointer< Self > Pointer;
+ typedef itk::SmartPointer< const Self > ConstPointer;
public:
itkNewMacro( Self );
- itkTypeMacro(
- fpa::Filters::Image::Dijkstra, fpa::Filters::Image::Algorithm
- );
protected:
Dijkstra( );
virtual void _ConfigureOutputs( ) override;
private:
- // Purposely not implemented.
Dijkstra( const Self& other );
Self& operator=( const Self& other );
};