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/RegionGrow.h>
10 #include <fpa/Base/MarksInterfaceWithCollisions.h>
11 #include <fpa/Base/SeedsInterface.h>
12 #include <fpa/Image/Algorithm.h>
20 template< class _TInputImage, class _TOutputImage, class _TFrontId = unsigned char >
22 : public fpa::Base::RegionGrow< fpa::Image::Algorithm< _TInputImage, _TOutputImage, fpa::Base::MarksInterfaceWithCollisions< typename _TInputImage::IndexType >, fpa::Base::SeedsInterface< typename _TInputImage::IndexType, typename _TInputImage::PixelType, typename _TOutputImage::PixelType, _TFrontId, typename _TInputImage::IndexType::LexicographicCompare > > >
25 typedef _TInputImage TInputImage;
26 typedef _TOutputImage TOutputImage;
27 typedef _TFrontId TFrontId;
29 typedef typename TInputImage::IndexType TVertex;
30 typedef typename TVertex::LexicographicCompare TVertexCompare;
31 typedef typename TInputImage::PixelType TInputValue;
32 typedef typename TOutputImage::PixelType TOutputValue;
34 typedef fpa::Base::MarksInterfaceWithCollisions< TVertex > TMarksInterface;
35 typedef fpa::Base::SeedsInterface< TVertex, TInputValue, TOutputValue, TFrontId, TVertexCompare > TSeedsInterface;
36 typedef fpa::Image::Algorithm< TInputImage, TOutputImage, TMarksInterface, TSeedsInterface > TAlgorithm;
38 typedef RegionGrow Self;
39 typedef fpa::Base::RegionGrow< TAlgorithm > Superclass;
40 typedef itk::SmartPointer< Self > Pointer;
41 typedef itk::SmartPointer< const Self > ConstPointer;
45 itkTypeMacro( fpa::Image::RegionGrow, fpa::Base::RegionGrow );
52 virtual ~RegionGrow( )
57 // Purposely not implemented.
58 RegionGrow( const Self& other );
59 Self& operator=( const Self& other );
66 #endif // __fpa__Image__RegionGrow__h__