]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/FastMarching.h
...
[FrontAlgorithms.git] / lib / fpa / Image / FastMarching.h
1 #ifndef __fpa__Image__FastMarching__h__
2 #define __fpa__Image__FastMarching__h__
3
4 #include <fpa/Base/FastMarching.h>
5 #include <fpa/Image/Algorithm.h>
6
7 namespace fpa
8 {
9   namespace Image
10   {
11     /**
12      */
13     template< class _TInputImage, class _TOutputImage >
14     class FastMarching
15       : public fpa::Base::FastMarching< fpa::Image::Algorithm< _TInputImage, _TOutputImage > >
16     {
17     public:
18       typedef FastMarching                                         Self;
19       typedef fpa::Image::Algorithm< _TInputImage, _TOutputImage > TAlgorithm;
20       typedef fpa::Base::FastMarching< TAlgorithm > Superclass;
21       typedef itk::SmartPointer< Self >             Pointer;
22       typedef itk::SmartPointer< const Self >       ConstPointer;
23
24       typedef typename Superclass::TOutput TOutput;
25       typedef typename Superclass::TVertex TVertex;
26       typedef typename Superclass::TFastMarchingNeighbor TFastMarchingNeighbor;
27       typedef typename Superclass::TFastMarchingNeighborhood TFastMarchingNeighborhood;
28
29     public:
30       itkNewMacro( Self );
31       itkTypeMacro( fpa::Image::FastMarching, fpa::Base::FastMarching );
32
33     protected:
34       FastMarching( );
35       virtual ~FastMarching( );
36
37       virtual TFastMarchingNeighborhood _FastMarchingNeighbors( const TVertex& v ) const override;
38
39     private:
40       // Purposely not defined
41       FastMarching( const Self& other );
42       Self& operator=( const Self& other );
43     };
44
45   } // ecapseman
46
47 } // ecapseman
48
49 #ifndef ITK_MANUAL_INSTANTIATION
50 #  include <fpa/Image/FastMarching.hxx>
51 #endif // ITK_MANUAL_INSTANTIATION
52
53 #endif // __fpa__Image__FastMarching__h__
54
55 // eof - $RCSfile$