1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
6 #ifndef __fpa__Image__RegionGrow__h__
7 #define __fpa__Image__RegionGrow__h__
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>
22 template< class _TInputImage, class _TOutputImage, class _TFrontId = unsigned char, class _TTraits = fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, _TFrontId > >
24 : public fpa::Base::RegionGrow< fpa::Image::Algorithm< _TTraits, fpa::Base::MarksInterfaceWithCollisions< _TTraits >, fpa::Base::SeedsInterface< _TTraits > > >
27 typedef _TInputImage TInputImage;
28 typedef _TOutputImage TOutputImage;
29 typedef _TFrontId TFrontId;
30 typedef _TTraits TTraits;
31 typedef fpa::Base::MarksInterfaceWithCollisions< TTraits > TMarksInterface;
32 typedef fpa::Base::SeedsInterface< TTraits > TSeedsInterface;
34 typedef fpa::Image::Algorithm< TTraits, TMarksInterface, TSeedsInterface > TAlgorithm;
35 typedef fpa::Base::RegionGrow< TAlgorithm > Superclass;
36 typedef RegionGrow Self;
37 typedef itk::SmartPointer< Self > Pointer;
38 typedef itk::SmartPointer< const Self > ConstPointer;
40 fpa_Base_TraitTypes( typename TTraits );
44 itkTypeMacro( fpa::Image::RegionGrow, fpa::Base::RegionGrow );
47 RegionGrow( ) : Superclass( ) { }
48 virtual ~RegionGrow( ) { }
51 // Purposely not implemented.
52 RegionGrow( const Self& other );
53 Self& operator=( const Self& other );
60 #endif // __fpa__Image__RegionGrow__h__