]> 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 #include <itkImage.h>
11
12 namespace fpa
13 {
14   namespace Image
15   {
16     /**
17      */
18     template< class _TTraits >
19     class LabelledSeedsInterface
20       : public fpa::Base::SeedsInterface< _TTraits >
21     {
22     public:
23       typedef _TTraits TTraits;
24       typedef LabelledSeedsInterface               Self;
25       typedef fpa::Base::SeedsInterface< TTraits > Superclass;
26       fpa_Base_TraitTypes( typename TTraits );
27
28       typedef itk::Image< TFrontId, TVertex::Dimension > TLabelImage;
29
30     public:
31       virtual void AddSeed( const TVertex& seed ) override;
32       virtual void AddSeed( const TPoint& seed ) override;
33
34       const TLabelImage* GetLabels( ) const;
35       void SetLabels( const TLabelImage* image );
36
37     protected:
38       LabelledSeedsInterface( itk::ProcessObject* filter );
39       virtual ~LabelledSeedsInterface( );
40
41     protected:
42       typename TLabelImage::ConstPointer m_LabelImage;
43     };
44
45   } // ecapseman
46
47 } // ecapseman
48
49 #ifndef ITK_MANUAL_INSTANTIATION
50 #  include <fpa/Image/LabelledSeedsInterface.hxx>
51 #endif // ITK_MANUAL_INSTANTIATION
52
53 #endif // __fpa__Image__LabelledSeedsInterface__h__
54
55 // eof - $RCSfile$