+++ /dev/null
-// =========================================================================
-// @author Leonardo Florez Valencia
-// @email florez-l@javeriana.edu.co
-// =========================================================================
-#ifndef __fpa__Functors__Dijkstra__Invert__h__
-#define __fpa__Functors__Dijkstra__Invert__h__
-
-#include <itkFunctionBase.h>
-
-namespace fpa
-{
- namespace Functors
- {
- namespace Dijkstra
- {
- /**
- */
- template< class _TValue >
- class Invert
- : public itk::FunctionBase< _TValue, _TValue >
- {
- public:
- typedef _TValue TValue;
- typedef itk::FunctionBase< _TValue, _TValue > Superclass;
- typedef Invert Self;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
-
- public:
- itkNewMacro( Self );
- itkTypeMacro( fpa::Functors::Dijkstra::Invert, itk::FunctionBase );
-
- itkGetConstMacro( Alpha, double );
- itkSetMacro( Alpha, double );
-
- itkGetConstMacro( Beta, double );
- itkSetMacro( Beta, double );
-
- public:
- virtual TValue Evaluate( const TValue& v ) const override
- {
- double a = double( v );
- double d = this->m_Alpha;
- d += std::pow( double( a ), this->m_Beta );
- double x = -1;
- if( std::fabs( d ) > double( 0 ) )
- x =
- double( 1 ) /
- ( this->m_Alpha + std::pow( double( a ), this->m_Beta ) );
- return( TValue( x ) );
- }
-
- protected:
- Invert( )
- : Superclass( ),
- m_Alpha( double( 1 ) ),
- m_Beta( double( 1 ) )
- {
- }
- virtual ~Invert( )
- {
- }
-
- private:
- // Purposely not implemented.
- Invert( const Self& other );
- Self& operator=( const Self& other );
-
- protected:
- double m_Alpha;
- double m_Beta;
- };
-
- } // ecapseman
-
- } // ecapseman
-
-} // ecapseman
-
-#endif // __fpa__Functors__Dijkstra__Invert__h__
-// eof - $RCSfile$