1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
6 #ifndef __fpa__Image__LabelledSeedsInterface__h__
7 #define __fpa__Image__LabelledSeedsInterface__h__
9 #include <fpa/Base/SeedsInterface.h>
19 template< class _TVertex, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare = std::greater< _TVertex > >
20 class LabelledSeedsInterface
21 : public fpa::Base::SeedsInterface< _TVertex, _TInputValue, _TOutputValue, _TFrontId, _TCompare >
24 typedef _TVertex TVertex;
25 typedef _TInputValue TInputValue;
26 typedef _TOutputValue TOutputValue;
27 typedef _TFrontId TFrontId;
28 typedef _TCompare TCompare;
29 typedef LabelledSeedsInterface Self;
30 typedef fpa::Base::SeedsInterface< TVertex, TInputValue, TOutputValue, TFrontId, TCompare > Superclass;
32 typedef typename Superclass::TNode TNode;
33 typedef typename Superclass::TNodeCompare TNodeCompare;
34 typedef typename Superclass::TSeeds TSeeds;
36 typedef itk::Image< TFrontId, TVertex::Dimension > TLabelImage;
39 virtual void AddSeed( const TVertex& seed ) override;
41 const TLabelImage* GetLabels( ) const;
42 void SetLabels( const TLabelImage* image );
45 LabelledSeedsInterface( itk::ProcessObject* filter );
46 virtual ~LabelledSeedsInterface( );
49 typename TLabelImage::ConstPointer m_LabelImage;
56 #ifndef ITK_MANUAL_INSTANTIATION
57 # include <fpa/Image/LabelledSeedsInterface.hxx>
58 #endif // ITK_MANUAL_INSTANTIATION
60 #endif // __fpa__Image__LabelledSeedsInterface__h__