]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/Image/Dijkstra.h
...
[FrontAlgorithms.git] / lib / fpa / Filters / Image / Dijkstra.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__Image__Dijkstra__h__
6 #define __fpa__Filters__Image__Dijkstra__h__
7
8 #include <fpa/Filters/Dijkstra.h>
9 #include <fpa/Filters/Image/Algorithm.h>
10 #include <fpa/Filters/Image/DefaultTraits.h>
11 #include <fpa/DataStructures/Image/MinimumSpanningTree.h>
12
13 namespace fpa
14 {
15   namespace Filters
16   {
17     namespace Image
18     {
19       /**
20        */
21       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 > >
22       class Dijkstra
23         : public fpa::Filters::Image::Algorithm< fpa::Filters::Dijkstra< _TTraits, _TMST > >
24       {
25       public:
26         typedef _TInputImage  TInputImage;
27         typedef _TOutputImage TOutputImage;
28         typedef _TTraits      TTraits;
29         typedef _TMST         TMST;
30         fpaTraitsMacro( typename, TTraits );
31
32         typedef fpa::Filters::Dijkstra< TTraits, TMST >      TAlgorithm;
33         typedef fpa::Filters::Image::Algorithm< TAlgorithm > Superclass;
34         typedef Dijkstra                                     Self;
35         typedef itk::SmartPointer< Self >                    Pointer;
36         typedef itk::SmartPointer< const Self >              ConstPointer;
37
38       public:
39         itkNewMacro( Self );
40         itkTypeMacro(
41           fpa::Filters::Image::Dijkstra, fpa::Filters::Image::Algorithm
42           );
43
44       protected:
45         Dijkstra( );
46         virtual ~Dijkstra( );
47
48         virtual void _ConfigureOutputs( ) override;
49
50       private:
51         // Purposely not implemented.
52         Dijkstra( const Self& other );
53         Self& operator=( const Self& other );
54       };
55
56     } // ecapseman
57
58   } // ecapseman
59
60 } // ecapseman
61
62 #ifndef ITK_MANUAL_INSTANTIATION
63 #  include <fpa/Filters/Image/Dijkstra.hxx>
64 #endif // ITK_MANUAL_INSTANTIATION
65 #endif // __fpa__Filters__Image__Dijkstra__h__
66 // eof - $RCSfile$