]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/MinimumSpanningTree.h
Refactoring: gaussian model estimator
[FrontAlgorithms.git] / lib / fpa / Image / MinimumSpanningTree.h
1 #ifndef __FPA__IMAGE__MINIMUMSPANNINGTREE__H__
2 #define __FPA__IMAGE__MINIMUMSPANNINGTREE__H__
3
4 #include <itkImage.h>
5 #include <fpa/Base/MinimumSpanningTree.h>
6
7 namespace fpa
8 {
9   namespace Image
10   {
11     /**
12      */
13     template< class V, class N, class C, unsigned int D, unsigned long L >
14     class MinimumSpanningTree
15       : public fpa::Base::MinimumSpanningTree< V, C, itk::Image< N, D > >
16     {
17     public:
18       typedef fpa::Base::MinimumSpanningTree< V, C, itk::Image< N, D > > Superclass;
19       typedef MinimumSpanningTree             Self;
20       typedef itk::SmartPointer< Self >       Pointer;
21       typedef itk::SmartPointer< const Self > ConstPointer;
22
23       typedef V TVertex;
24       typedef C TCollisions;
25
26     protected:
27       typedef N _TNode;
28
29     public:
30       itkNewMacro( Self );
31       itkTypeMacro( MinimumSpanningTree, fpa_Base_MinimumSpanningTree );
32
33     protected:
34       MinimumSpanningTree( );
35       virtual ~MinimumSpanningTree( );
36
37       virtual long _FrontId( const V& v ) const;
38       virtual V _Parent( const V& v ) const;
39
40     private:
41       // Purposely not implemented
42       MinimumSpanningTree( const Self& other );
43       Self& operator=( const Self& other );
44     };
45
46   } // ecapseman
47
48 } // ecapseman
49
50 #include <fpa/Image/MinimumSpanningTree.hxx>
51
52 #endif // __FPA__IMAGE__MINIMUMSPANNINGTREE__H__
53
54 // eof - $RCSfile$