]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/LabelledSeedsInterface.h
...
[FrontAlgorithms.git] / lib / fpa / Image / LabelledSeedsInterface.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #ifndef __fpa__Image__LabelledSeedsInterface__h__
7 #define __fpa__Image__LabelledSeedsInterface__h__
8
9 #include <fpa/Base/SeedsInterface.h>
10
11 #include <itkImage.h>
12
13 namespace fpa
14 {
15   namespace Image
16   {
17     /**
18      */
19     template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare = std::greater< _TVertex > >
20     class LabelledSeedsInterface
21       : public fpa::Base::SeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >
22     {
23     public:
24       typedef _TVertex      TVertex;
25       typedef _TPoint       TPoint;
26       typedef _TInputValue  TInputValue;
27       typedef _TOutputValue TOutputValue;
28       typedef _TFrontId     TFrontId;
29       typedef _TCompare     TCompare;
30       typedef LabelledSeedsInterface Self;
31       typedef fpa::Base::SeedsInterface< TVertex, TPoint, TInputValue, TOutputValue, TFrontId, TCompare > Superclass;
32
33       typedef typename Superclass::TNode        TNode;
34       typedef typename Superclass::TNodeCompare TNodeCompare;
35       typedef typename Superclass::TSeeds       TSeeds;
36
37       typedef itk::Image< TFrontId, TVertex::Dimension > TLabelImage;
38
39     public:
40       virtual void AddSeed( const TVertex& seed ) override;
41       virtual void AddSeed( const TPoint& seed ) override;
42
43       const TLabelImage* GetLabels( ) const;
44       void SetLabels( const TLabelImage* image );
45
46     protected:
47       LabelledSeedsInterface( itk::ProcessObject* filter );
48       virtual ~LabelledSeedsInterface( );
49
50     protected:
51       typename TLabelImage::ConstPointer m_LabelImage;
52     };
53
54   } // ecapseman
55
56 } // ecapseman
57
58 #ifndef ITK_MANUAL_INSTANTIATION
59 #  include <fpa/Image/LabelledSeedsInterface.hxx>
60 #endif // ITK_MANUAL_INSTANTIATION
61
62 #endif // __fpa__Image__LabelledSeedsInterface__h__
63
64 // eof - $RCSfile$