X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FImage%2FAlgorithm.hxx;h=43ebeb0af9da0affc72c892300b2d5ee6e7b3f9d;hb=6cdba92a782c9ca52b1be25868c2267b2e3966ca;hp=0fce0d597c85d14e51aa516b883ee351a6b87df1;hpb=a44c34f8d4118730a65ab3a7f9b6fc12614ce67a;p=FrontAlgorithms.git diff --git a/lib/fpa/Image/Algorithm.hxx b/lib/fpa/Image/Algorithm.hxx index 0fce0d5..43ebeb0 100644 --- a/lib/fpa/Image/Algorithm.hxx +++ b/lib/fpa/Image/Algorithm.hxx @@ -7,11 +7,9 @@ #define __fpa__Image__Algorithm__hxx__ // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -typename -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: -TMarks* -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +typename fpa::Image::Algorithm< _TTraits >::TMarks* +fpa::Image::Algorithm< _TTraits >:: GetMarks( ) { return( @@ -22,11 +20,9 @@ GetMarks( ) } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -const typename -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: -TMarks* -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +const typename fpa::Image::Algorithm< _TTraits >::TMarks* +fpa::Image::Algorithm< _TTraits >:: GetMarks( ) const { return( @@ -37,8 +33,8 @@ GetMarks( ) const } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +fpa::Image::Algorithm< _TTraits >:: Algorithm( ) : Superclass( ), m_NeigborhoodOrder( 1 ) @@ -49,17 +45,16 @@ Algorithm( ) } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +fpa::Image::Algorithm< _TTraits >:: ~Algorithm( ) { } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -typename -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: -TNodes fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +typename fpa::Image::Algorithm< _TTraits >::TNodes +fpa::Image::Algorithm< _TTraits >:: _UnifySeeds( ) { const TInputImage* input = this->GetInput( ); @@ -95,9 +90,8 @@ _UnifySeeds( ) } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -void -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +void fpa::Image::Algorithm< _TTraits >:: _ConfigureOutput( const TOutputValue& v ) { const TInputImage* in = this->GetInput( ); @@ -124,10 +118,9 @@ _ConfigureOutput( const TOutputValue& v ) } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -typename -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: -TNeighborhood fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +typename fpa::Image::Algorithm< _TTraits >::TNeighborhood +fpa::Image::Algorithm< _TTraits >:: _GetNeighbors( const TVertex& v ) const { typename TInputImage::RegionType region = @@ -157,57 +150,50 @@ _GetNeighbors( const TVertex& v ) const } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -typename -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: -TInputValue -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +typename fpa::Image::Algorithm< _TTraits >::TInputValue +fpa::Image::Algorithm< _TTraits >:: _GetInputValue( const TVertex& v ) const { return( this->GetInput( )->GetPixel( v ) ); } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -typename -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: -TOutputValue fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +typename fpa::Image::Algorithm< _TTraits >::TOutputValue +fpa::Image::Algorithm< _TTraits >:: _GetOutputValue( const TVertex& v ) const { return( this->GetOutput( )->GetPixel( v ) ); } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -void -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +void fpa::Image::Algorithm< _TTraits >:: _UpdateOutputValue( TNode& n ) { this->GetOutput( )->SetPixel( n.Vertex, n.Value ); } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -bool -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +bool fpa::Image::Algorithm< _TTraits >:: _IsMarked( const TVertex& v ) const { return( this->GetMarks( )->GetPixel( v ) > 0 ); } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -unsigned long -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +unsigned long fpa::Image::Algorithm< _TTraits >:: _GetMark( const TVertex& v ) const { return( ( unsigned long )( this->GetMarks( )->GetPixel( v ) ) ); } // ------------------------------------------------------------------------- -template< class _TInputImage, class _TOutputImage, class _TMarksInterface, class _TSeedsInterface > -void -fpa::Image::Algorithm< _TInputImage, _TOutputImage, _TMarksInterface, _TSeedsInterface >:: +template< class _TTraits > +void fpa::Image::Algorithm< _TTraits >:: _Mark( const TVertex& v, unsigned long frontId ) { this->GetMarks( )->SetPixel( v, TFrontId( frontId ) );