]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/RegionGrow.h
...
[FrontAlgorithms.git] / lib / fpa / Image / RegionGrow.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #ifndef __fpa__Image__RegionGrow__h__
7 #define __fpa__Image__RegionGrow__h__
8
9 #include <fpa/Base/MarksInterfaceWithCollisions.h>
10 #include <fpa/Base/RegionGrow.h>
11 #include <fpa/Base/SeedsInterface.h>
12 #include <fpa/Image/Algorithm.h>
13 #include <fpa/Image/DefaultTraits.h>
14
15
16 namespace fpa
17 {
18   namespace Image
19   {
20     /**
21      */
22     template< class _TInputImage, class _TOutputImage, class _TFrontId = unsigned char, class _TTraits = fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, _TFrontId > >
23     class RegionGrow
24       : public fpa::Base::RegionGrow< fpa::Image::Algorithm< _TTraits, fpa::Base::MarksInterfaceWithCollisions< _TTraits >, fpa::Base::SeedsInterface< _TTraits > > >
25     {
26     public:
27       typedef _TInputImage  TInputImage;
28       typedef _TOutputImage TOutputImage;
29       typedef _TTraits      TTraits;
30       typedef fpa::Base::MarksInterfaceWithCollisions< TTraits > TMarksInterface;
31       typedef fpa::Base::SeedsInterface< TTraits > TSeedsInterface;
32
33       typedef fpa::Image::Algorithm< TTraits, TMarksInterface, TSeedsInterface > TAlgorithm;
34       typedef fpa::Base::RegionGrow< TAlgorithm > Superclass;
35       typedef RegionGrow                          Self;
36       typedef itk::SmartPointer< Self >           Pointer;
37       typedef itk::SmartPointer< const Self >     ConstPointer;
38
39       fpa_Base_TraitTypes( typename TTraits );
40
41     public:
42       itkNewMacro( Self );
43       itkTypeMacro( fpa::Image::RegionGrow, fpa::Base::RegionGrow );
44
45     protected:
46       RegionGrow( ) : Superclass( ) { }
47       virtual ~RegionGrow( )        { }
48
49     private:
50       // Purposely not implemented.
51       RegionGrow( const Self& other );
52       Self& operator=( const Self& other );
53     };
54
55   } // ecapseman
56
57 } // ecapseman
58
59 #endif // __fpa__Image__RegionGrow__h__
60
61 // eof - $RCSfile$