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

Base class allowing to estimate gaussian curve parameters from a set of input data (based on Caruana’s algorithm) More...

#include <BaseGaussianCurveEstimator.h>

Inheritance diagram for ipsdk::math::BaseGaussianCurveEstimator:
ipsdk::math::BaseEstimator ipsdk::math::GaussianCurve2dEstimator ipsdk::math::GaussianCurve3dEstimator ipsdk::math::GaussianCurveNdEstimator

Public Member Functions

Constructors and destructor
 BaseGaussianCurveEstimator (const ipUInt32 curveDomainSize)
 
virtual ~BaseGaussianCurveEstimator ()=0
 
- Public Member Functions inherited from ipsdk::math::BaseEstimator
bool isInit () const
 check for object initialization
 
ipUInt32 getNbMinRequestedData () const
 retrieve minimum data set size to ensure an estimation More...
 
ipUInt32 getNbEstimParams () const
 retrieve number of estimated parameters More...
 
ipUInt32 getDataSize () const
 unitary data size into data set collection More...
 
BoolResult computeEstimation (const DataSet &dataSet, ParameterType &estimParams)
 method allowing to estimate parameters from a given data set More...
 
BoolResult computeResiduals (const DataSet &dataSet, const ParameterType &estimParams, ResidualsSet &residualsSet) const
 method allowing to compute estimation residuals from a given data set and some estimated parameters More...
 
 BaseEstimator ()
 
virtual ~BaseEstimator ()=0
 

Protected Member Functions

BoolResult processEstimation (const math::DataSet &dataSet, math::ParameterType &estimParams)
 method allowing to compute estimation into derived classes More...
 
BoolResult processResiduals (const math::DataSet &dataSet, const math::ParameterType &estimParams, math::ResidualsSet &residualsSet) const
 method allowing to compute residuals into derived classes More...
 
- Protected Member Functions inherited from ipsdk::math::BaseEstimator
void initBase (const ipUInt32 nbMinRequestedData, const ipUInt32 nbEstimParams, const ipUInt32 dataSize)
 base class initialization More...
 
BoolResult checkData (const DataSet &dataSet, const ParameterType &estimParams) const
 method allowing to check input data properties associated to estimation More...
 

Detailed Description

Base class allowing to estimate gaussian curve parameters from a set of input data (based on Caruana’s algorithm)

Author
E.Noirfalise
Date
2018/07/20

Fitted gaussian curve is defined as follow :

\[ \begin{cases} G:\Re^n \rightarrow \Re \\ y = G(X) = Ae^{-\sum_{i=1}^{n}{\frac{(x_i-\mu_i)^2}{2\sigma_i^2}}} \end{cases} \]

Input data used for fit are tuple of values such as $(x^j_1, x^j_2, ..., x^j_n, y^j), j \in [1, m]$.

Note
Note that computed residuals are simplified taking the difference between gaussian curve computed value from $x_i$ and associated $y$ value
See also
Two-dimensional Gaussian regression for sub-pixel displacement estimation in particle image velocimetry or particle position estimation in particle tracking velocimetry, H. Nobach Æ M. Honkanen, Experiments in Fluids (2005) 38: 511–515
A Simple Algorithm for Fitting a Gaussian Function, Hongwei Guo, IEEE Signal Processing Magazine · September 2011

Member Function Documentation

◆ processEstimation()

BoolResult ipsdk::math::BaseGaussianCurveEstimator::processEstimation ( const math::DataSet dataSet,
math::ParameterType estimParams 
)
protectedvirtual

method allowing to compute estimation into derived classes

Returns
false in case of failure

Implements ipsdk::math::BaseEstimator.

◆ processResiduals()

BoolResult ipsdk::math::BaseGaussianCurveEstimator::processResiduals ( const math::DataSet dataSet,
const math::ParameterType estimParams,
math::ResidualsSet residualsSet 
) const
protectedvirtual

method allowing to compute residuals into derived classes

Returns
false in case of failure

Implements ipsdk::math::BaseEstimator.


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