]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/Algorithm.hxx
...
[FrontAlgorithms.git] / lib / fpa / Image / Algorithm.hxx
index a94f13130a128e20cc7619aede6c215c88af6f64..43ebeb0af9da0affc72c892300b2d5ee6e7b3f9d 100644 (file)
@@ -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,22 +45,21 @@ 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( );
   typename TInputImage::RegionType region = input->GetRequestedRegion( );
-  TSeeds seeds = this->GetSeeds( );
+  TSeeds& seeds = this->GetSeeds( );
   TNodes nodes;
 
   typename TSeeds::iterator sIt = seeds.begin( );
@@ -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,61 +150,53 @@ _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 >::
-_UpdateOutputValue( const TNode& n )
+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 >
-bool
-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 ) );
-  return( true );
 }
 
 #endif // __fpa__Image__Algorithm__hxx__