IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::math::BaseCostFunction Class Referenceabstract

Base class for cost functions used during optimization process. More...

#include <BaseCostFunction.h>

Inheritance diagram for ipsdk::math::BaseCostFunction:
ipsdk::geom::Circle2dCostFunction ipsdk::geom::Sphere3dCostFunction

Public Member Functions

bool isInit () const
 check for object initialization
 
ipUInt32 getNbParameters () const
 retrieve number of parameters associated to cost function More...
 
ipUInt32 getNbEquations () const
 retrieve number of equations associated to cost function More...
 
BoolResult computeEquations (const Vector &parameters, Vector &equations) const
 computation of function equations More...
 
BoolResult computeJacobian (const Vector &parameters, Matrix &jacobian) const
 computation of function jacobian More...
 
void clear ()
 clear of object data
 
Constructors and destructor
 BaseCostFunction ()
 
virtual ~BaseCostFunction ()=0
 

Protected Member Functions

void initBase (const ipUInt32 nbParameters, const ipUInt32 nbEquations)
 base class initialization More...
 
virtual BoolResult processEquations (const Vector &parameters, Vector &equations) const =0
 computation of function equation in derived class
 
virtual BoolResult processJacobian (const Vector &parameters, Matrix &jacobian) const
 computation of function jacobian in derived class More...
 
virtual void clearDerived ()
 clear of object data in derived class
 

Protected Attributes

ipUInt32 _nbParameters
 number of parameters associated to cost function
 
ipUInt32 _nbEquations
 number of equations associated to cost function
 
bool _bInit
 object flag initialization
 

Detailed Description

Base class for cost functions used during optimization process.

Author
E. Noirfalise
Date
2016/02/17

Member Function Documentation

◆ getNbParameters()

ipUInt32 ipsdk::math::BaseCostFunction::getNbParameters ( ) const

retrieve number of parameters associated to cost function

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

◆ getNbEquations()

ipUInt32 ipsdk::math::BaseCostFunction::getNbEquations ( ) const

retrieve number of equations associated to cost function

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

◆ computeEquations()

BoolResult ipsdk::math::BaseCostFunction::computeEquations ( const Vector parameters,
Vector equations 
) const

computation of function equations

Exceptions
ipsdk::math::IPSDKMathExceptionif parameters.size() != getNbParameters()
ipsdk::math::IPSDKMathExceptionif equations.size() != getNbEquations()
Returns
false in case of failure

◆ computeJacobian()

BoolResult ipsdk::math::BaseCostFunction::computeJacobian ( const Vector parameters,
Matrix jacobian 
) const

computation of function jacobian

Exceptions
ipsdk::math::IPSDKMathExceptionif parameters.size() != getNbParameters()
ipsdk::math::IPSDKMathExceptionif jacobian.size2() != getNbEquations() || jacobian.size1() != getNbParameters()
Returns
false in case of failure

◆ initBase()

void ipsdk::math::BaseCostFunction::initBase ( const ipUInt32  nbParameters,
const ipUInt32  nbEquations 
)
protected

base class initialization

Exceptions
ipsdk::math::IPSDKMathExceptionif nbParameters == 0
ipsdk::math::IPSDKMathExceptionif nbEquations == 0

◆ processJacobian()

virtual BoolResult ipsdk::math::BaseCostFunction::processJacobian ( const Vector parameters,
Matrix jacobian 
) const
protectedvirtual

computation of function jacobian in derived class

Note
base class implementation process finite difference

Reimplemented in ipsdk::geom::Sphere3dCostFunction, and ipsdk::geom::Circle2dCostFunction.


The documentation for this class was generated from the following file: