]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Filters/Image/Dijkstra.h
...
[FrontAlgorithms.git] / lib / fpa / Filters / Image / Dijkstra.h
index 712d5faaf815452cedc140a81daf73e4c3ba4296..c4d34976aec98788b41ef19a49825ffd00087483 100644 (file)
@@ -6,8 +6,8 @@
 #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
@@ -18,28 +18,22 @@ 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( );
@@ -48,7 +42,6 @@ namespace fpa
         virtual void _ConfigureOutputs( ) override;
 
       private:
-        // Purposely not implemented.
         Dijkstra( const Self& other );
         Self& operator=( const Self& other );
       };