#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(
}
// -------------------------------------------------------------------------
-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(
}
// -------------------------------------------------------------------------
-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 )
}
// -------------------------------------------------------------------------
-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( );
}
// -------------------------------------------------------------------------
-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( );
}
// -------------------------------------------------------------------------
-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 =
}
// -------------------------------------------------------------------------
-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 ) );