]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/SeedsInterface.h
...
[FrontAlgorithms.git] / lib / fpa / Filters / SeedsInterface.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__SeedsInterface__h__
6 #define __fpa__Filters__SeedsInterface__h__
7
8 #include <itkDataObject.h>
9 #include <itkProcessObject.h>
10 #include <fpa/Config.h>
11
12 namespace fpa
13 {
14   namespace Filters
15   {
16     /**
17      */
18     template< class _TTraits >
19     class SeedsInterface
20     {
21     public:
22       typedef SeedsInterface Self;
23       typedef _TTraits       TTraits;
24       fpaInternalTraitsMacro( typename, TTraits );
25
26     public:
27       SeedsInterface( itk::ProcessObject* f );
28       virtual ~SeedsInterface( );
29
30       void AddSeed( const TPoint& s );
31       void AddSeed( const TVertex& s );
32       void ClearSeeds( );
33       unsigned long GetNumberOfSeeds( ) const;
34
35       const TNodes& GetSeeds( ) const;
36
37     protected:
38       virtual void _PrepareSeeds( const itk::DataObject* input );
39
40     protected:
41       TSeeds m_InputSeeds;
42       TNodes m_UnifiedSeeds;
43       itk::ProcessObject::Pointer m_Filter;
44     };
45
46   } // ecapseman
47
48 } // ecapseman
49
50 #ifndef ITK_MANUAL_INSTANTIATION
51 #  include <fpa/Filters/SeedsInterface.hxx>
52 #endif // ITK_MANUAL_INSTANTIATION
53
54 #endif // __fpa__Filters__SeedsInterface__h__
55 // eof - $RCSfile$