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