]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/BaseSeedsInterface.h
...
[FrontAlgorithms.git] / lib / fpa / Filters / BaseSeedsInterface.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__BaseSeedsInterface__h__
6 #define __fpa__Filters__BaseSeedsInterface__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 BaseSeedsInterface
20     {
21     public:
22       typedef BaseSeedsInterface Self;
23       typedef _TTraits           TTraits;
24       fpaTraitsMacro( typename TTraits );
25
26     public:
27       const TNodes& GetSeeds( ) const
28         {
29           return( this->m_UnifiedSeeds );
30         }
31
32     protected:
33       BaseSeedsInterface( itk::ProcessObject* f )
34         : m_Filter( f )
35         {
36         }
37       virtual ~BaseSeedsInterface( )
38         {
39         }
40
41       virtual void _PrepareSeeds( const itk::DataObject* reference ) = 0;
42
43     protected:
44       TNodes m_UnifiedSeeds;
45       itk::ProcessObject::Pointer m_Filter;
46     };
47
48   } // ecapseman
49
50 } // ecapseman
51
52 #endif // __fpa__Filters__BaseSeedsInterface__h__
53 // eof - $RCSfile$