]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/RegionGrow.h
dbc57f00759be5d017c1c49bb0c42f0eba583c71
[FrontAlgorithms.git] / lib / fpa / Image / RegionGrow.h
1 #ifndef __fpa__Image__RegionGrow__h__
2 #define __fpa__Image__RegionGrow__h__
3
4 #include <fpa/Base/RegionGrow.h>
5 #include <fpa/Image/Algorithm.h>
6
7 namespace fpa
8 {
9   namespace Image
10   {
11     /**
12      */
13     template< class _TInputImage, class _TOutputImage >
14     class RegionGrow
15       : public fpa::Base::RegionGrow< fpa::Image::Algorithm< _TInputImage, _TOutputImage > >
16     {
17     public:
18       typedef fpa::Image::Algorithm< _TInputImage, _TOutputImage > TAlgorithm;
19       typedef RegionGrow                          Self;
20       typedef fpa::Base::RegionGrow< TAlgorithm > Superclass;
21       typedef itk::SmartPointer< Self >           Pointer;
22       typedef itk::SmartPointer< const Self >     ConstPointer;
23
24       typedef typename Superclass::TOutput TOutput;
25       typedef typename Superclass::TVertex TVertex;
26
27       typedef fpa::Image::Functors::Base< _TInputImage, typename Superclass::TGrowFunction > TGrowFunction;
28
29     public:
30       itkNewMacro( Self );
31       itkTypeMacro( fpa::Image::RegionGrow, fpa::Base::RegionGrow );
32
33     protected:
34       RegionGrow( );
35       virtual ~RegionGrow( );
36
37       virtual void _BeforeGenerateData( ) override;
38
39     private:
40       // Purposely not defined
41       RegionGrow( const Self& other );
42       Self& operator=( const Self& other );
43     };
44
45   } // ecapseman
46
47 } // ecapseman
48
49 #ifndef ITK_MANUAL_INSTANTIATION
50 #  include <fpa/Image/RegionGrow.hxx>
51 #endif // ITK_MANUAL_INSTANTIATION
52
53 #endif // __fpa__Image__RegionGrow__h__
54
55 // eof - $RCSfile$