]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Base/Mori.hxx
...
[FrontAlgorithms.git] / lib / fpa / Base / Mori.hxx
diff --git a/lib/fpa/Base/Mori.hxx b/lib/fpa/Base/Mori.hxx
deleted file mode 100644 (file)
index 723e6fa..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-// =========================================================================
-// @author Leonardo Florez Valencia
-// @email florez-l@javeriana.edu.co
-// =========================================================================
-
-#ifndef __fpa__Base__Mori__hxx__
-#define __fpa__Base__Mori__hxx__
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-itk::ModifiedTimeType fpa::Base::Mori< _TAlgorithm >::
-GetMTime( ) const
-{
-  itk::ModifiedTimeType t = this->Superclass::GetMTime( );
-  itk::ModifiedTimeType q = this->m_Predicate->GetMTime( );
-  return( ( q < t )? q: t );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-typename fpa::Base::Mori< _TAlgorithm >::
-TOutputValue fpa::Base::Mori< _TAlgorithm >::
-GetOutsideValue( ) const
-{
-  return( this->GetInitValue( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-SetOutsideValue( const TOutputValue& v )
-{
-  this->SetInitValue( v );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-unsigned long fpa::Base::Mori< _TAlgorithm >::
-GetSignalKernelSize( ) const
-{
-  return( this->m_PeakDetector.GetKernelSize( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-double fpa::Base::Mori< _TAlgorithm >::
-GetSignalThreshold( ) const
-{
-  return( this->m_PeakDetector.GetThreshold( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-double fpa::Base::Mori< _TAlgorithm >::
-GetSignalInfluence( ) const
-{
-  return( this->m_PeakDetector.GetInfluence( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-SetSignalKernelSize( unsigned long k )
-{
-  this->m_PeakDetector.SetKernelSize( k );
-  this->Modified( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-SetSignalThreshold( double t )
-{
-  this->m_PeakDetector.SetThreshold( t );
-  this->Modified( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-SetSignalInfluence( double i )
-{
-  this->m_PeakDetector.SetInfluence( i );
-  this->Modified( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-ClearThresholds( )
-{
-  this->m_Thresholds.clear( );
-  this->Modified( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-AddThreshold( const TInputValue& thr )
-{
-  if( this->m_Thresholds.insert( thr ).second )
-    this->Modified( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-SetThresholds(
-  const TInputValue& init,
-  const TInputValue& end,
-  const TInputValue& delta
-  )
-{
-  for( TInputValue thr = init; thr <= end; thr += delta )
-    this->AddThreshold( thr );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-const typename fpa::Base::Mori< _TAlgorithm >::
-TThresholds& fpa::Base::Mori< _TAlgorithm >::
-GetThresholds( ) const
-{
-  return( this->m_Thresholds );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-unsigned long fpa::Base::Mori< _TAlgorithm >::
-GetNumberOfEvaluatedThresholds( ) const
-{
-  return( this->m_PeakDetector.GetNumberOfSamples( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-typename fpa::Base::Mori< _TAlgorithm >::
-TInputValue fpa::Base::Mori< _TAlgorithm >::
-GetOptimumThreshold( ) const
-{
-  TInputValue thr = TInputValue( 0 );
-  unsigned long n = this->m_PeakDetector.GetNumberOfSamples( );
-  if( n > 1 )
-    thr = TInputValue( this->m_PeakDetector.GetXValues( )[ n - 2 ] );
-  return( thr );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-GetSignalValues( unsigned long i, double& x, double& y, TPeak& p ) const
-{
-  if( i < this->m_PeakDetector.GetNumberOfSamples( ) )
-  {
-    x = this->m_PeakDetector.GetXValues( )[ i ];
-    y = this->m_PeakDetector.GetYValues( )[ i ];
-    p = this->m_PeakDetector.GetPeaks( )[ i ];
-
-  } // fi
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-fpa::Base::Mori< _TAlgorithm >::
-Mori( )
-  : Superclass( ),
-     m_InsideValue( TOutputValue( 1 ) )
-{
-  this->SetInitValue( TOutputValue( 0 ) );
-  this->m_Predicate = TPredicate::New( );
-  this->m_Predicate->StrictOff( );
-  if( std::numeric_limits< TInputValue >::is_integer )
-    this->m_MinimumThreshold = std::numeric_limits< TInputValue >::min( );
-  else
-    this->m_MinimumThreshold = -std::numeric_limits< TInputValue >::max( );
-  this->m_PeakDetector.SetKernelSize( 20 );
-  this->m_PeakDetector.SetThreshold( 500 );
-  this->m_PeakDetector.SetInfluence( 0.5 );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-fpa::Base::Mori< _TAlgorithm >::
-~Mori( )
-{
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_BeforeGenerateData( )
-{
-  this->Superclass::_BeforeGenerateData( );
-
-  // Prepare queues
-  this->_QueueClear( );
-  this->m_CurrQueue = 0;
-
-  // Prepare iteration over all thresholds
-  this->m_CurrThr = this->m_Thresholds.begin( );
-  this->m_Predicate->SetLower( *( this->m_CurrThr ) );
-  this->m_CurrThr++;
-  this->m_Predicate->SetUpper( *( this->m_CurrThr ) );
-
-  // Prepare counting signal
-  this->m_CurrCount = double( 0 );
-  this->m_PeakDetector.Clear( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_FinishOneLoop( )
-{
-  if( this->m_Queues[ this->m_CurrQueue ].size( ) == 0 )
-  {
-    // Update peak detector
-    TPeak p = this->m_PeakDetector.AddValue(
-      *this->m_CurrThr, this->m_CurrCount
-      );
-    this->m_CurrThr++;
-    this->m_CurrQueue = ( this->m_CurrQueue + 1 ) % 2;
-    if( this->m_CurrThr != this->m_Thresholds.end( ) )
-    {
-      // Update predicate and counting value
-      this->m_Predicate->SetUpper( *( this->m_CurrThr ) );
-      this->m_CurrCount = double( 0 );
-
-      // Peak detected? -> stop!
-      if(
-        p == TPeakDetector::PosPeak &&
-        this->m_MinimumThreshold < *( this->m_CurrThr )
-        )
-        this->_QueueClear( );
-    }
-    else
-      this->_QueueClear( );
-
-  } // fi
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_ComputeOutputValue( TNode& n )
-{
-  // Do nothing!!!
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_UpdateOutputValue( TNode& n )
-{
-  TInputValue value = this->_GetInputValue( n.Vertex );
-  bool inside = this->m_Predicate->Evaluate( value );
-  if( !inside )
-  {
-    n.Value = this->m_InitValue;
-    n.FrontId++;
-    this->m_Queues[ ( this->m_CurrQueue + 1 ) % 2 ].push_back( n );
-    n.FrontId = 0;
-  }
-  else
-  {
-    n.Value = this->m_InsideValue;
-    this->m_CurrCount += double( 1 );
-
-  } // fi
-  this->Superclass::_UpdateOutputValue( n );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_QueueClear( )
-{
-  this->m_Queues[ 0 ].clear( );
-  this->m_Queues[ 1 ].clear( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-typename fpa::Base::Mori< _TAlgorithm >::
-TNode fpa::Base::Mori< _TAlgorithm >::
-_QueuePop( )
-{
-  TNode n = this->m_Queues[ this->m_CurrQueue ].front( );
-  this->m_Queues[ this->m_CurrQueue ].pop_front( );
-  return( n );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_QueuePush( const TNode& node )
-{
-  this->m_Queues[ this->m_CurrQueue ].push_back( node );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-unsigned long fpa::Base::Mori< _TAlgorithm >::
-_QueueSize( ) const
-{
-  return( this->m_Queues[ this->m_CurrQueue ].size( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TAlgorithm >
-void fpa::Base::Mori< _TAlgorithm >::
-_PrepareSeeds( TNodes& nodes )
-{
-  typename TNodes::iterator nIt = nodes.begin( );
-  for( ; nIt != nodes.end( ); ++nIt )
-    nIt->Value = this->m_InitValue;
-}
-
-#endif // __fpa__Base__Mori__hxx__
-
-// eof - $RCSfile$