// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Image__LabelledSeedsInterface__h__ #define __fpa__Image__LabelledSeedsInterface__h__ #include #include namespace fpa { namespace Image { /** */ template< class _TVertex, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare = std::greater< _TVertex > > class LabelledSeedsInterface : public fpa::Base::SeedsInterface< _TVertex, _TInputValue, _TOutputValue, _TFrontId, _TCompare > { public: typedef _TVertex TVertex; typedef _TInputValue TInputValue; typedef _TOutputValue TOutputValue; typedef _TFrontId TFrontId; typedef _TCompare TCompare; typedef LabelledSeedsInterface Self; typedef fpa::Base::SeedsInterface< TVertex, TInputValue, TOutputValue, TFrontId, TCompare > Superclass; typedef typename Superclass::TNode TNode; typedef typename Superclass::TNodeCompare TNodeCompare; typedef typename Superclass::TSeeds TSeeds; typedef itk::Image< TFrontId, TVertex::Dimension > TLabelImage; public: virtual void AddSeed( const TVertex& seed ) override; const TLabelImage* GetLabels( ) const; void SetLabels( const TLabelImage* image ); protected: LabelledSeedsInterface( itk::ProcessObject* filter ); virtual ~LabelledSeedsInterface( ); protected: typename TLabelImage::ConstPointer m_LabelImage; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Image__LabelledSeedsInterface__h__ // eof - $RCSfile$