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::MLESACRobustEstimator Class Reference

Robust Maximum Likelihood Estimation SAmple Consensus estimatorThis algorithm request a threshold value on residuals of model estimation. It has no outlier ratio upper bound. More...

#include <MLESACRobustEstimator.h>

Inheritance diagram for ipsdk::math::MLESACRobustEstimator:
ipsdk::math::BaseRobustEstimator

Public Member Functions

void init (const EstimatorPtr &pEstimator, const ipReal64 gaussianSigma, const ipReal64 outlierThresholdFactor=3, const ipReal64 outlierRangeFactor=10)
 initialization method More...
 
ipReal64 getGaussianSigma () const
 retrieve used sigma for gaussian noise estimation More...
 
ipReal64 getOutlierThresholdFactor () const
 retrieve used outlier threshold factor for processing (we compute outlierThreshold = _outlierThresholdFactor * _gaussianSigma) More...
 
ipReal64 getOutlierRangeFactor () const
 retrieve used outlier range factor for processing (we compute outlierRange = _outlierRangeFactor * _gaussianSigma) More...
 
Constructors and destructor
 MLESACRobustEstimator ()
 
 ~MLESACRobustEstimator ()
 
- Public Member Functions inherited from ipsdk::math::BaseRobustEstimator
bool isInit () const
 check for object initialization
 
virtual ipReal64 getMaxOutlierRatio () const
 retrieve maximum outlier ratio supported by underlying algorithm
 
ipReal64 getExpectedOutlierRatio () const
 retrieve expected outlier ratio associated to data
 
void setExpectedOutlierRatio (const ipReal64 expectedOutlierRatio)
 selection of expected outlier ratio associated to data More...
 
void setSuccessRatio (const ipReal64 successRatio)
 selection of algorithm statistical success ratio parameter More...
 
ipReal64 getSuccessRatio () const
 retrieve algorithm statistical success ratio parameter
 
void setDataPartition (const DataPartitionPtr &pDataPartition)
 select data partition object type More...
 
const BaseDataPartitiongetDataPartition () const
 retrieve data partition object
 
const BaseEstimatorgetEstimator () const
 retrieve estimator associated to object More...
 
ipUInt32 getNbMinDataForRobustEstimation () const
 retrieve minimum number of data to proceed to robust estimation More...
 
ipUInt32 getNbNeededRuns () const
 retrieve number of needed estimator run for robust estimation process More...
 
bool isEstimationDone () const
 check whether estimation has been proceeded More...
 
BoolResult computeEstimation (const DataSet &dataSet)
 method allowing to estimate parameters from a given data set More...
 
const ParameterTypegetEstimParams () const
 retrieve estimated parameters More...
 
const OutlierFlagsgetOutlierFlags () const
 retrieve estimated outlier flags More...
 
ipReal64 getEstimOutlierThreshold () const
 retrieve outlier threshold estimated during processing (data associated to residuals with absolute value greater or equal to this value are considered as outliers) More...
 
void clearEstimation ()
 clear of last estimation data
 
 BaseRobustEstimator ()
 
virtual ~BaseRobustEstimator ()=0
 

Protected Member Functions

ipReal64 computeScore (const ResidualsSet &curResiduals)
 method used in derived classes to compute score associated to an estimation
 
ipReal64 computeOutlierThreshold (const ipReal64 bestScore, const ipUInt32 nbData, const ipUInt32 nbMinRequestedData) const
 
- Protected Member Functions inherited from ipsdk::math::BaseRobustEstimator
void initBase (const EstimatorPtr &pEstimator)
 base class initialization method More...
 
virtual void clearDerived ()
 clear of data into derived class
 

Protected Attributes

ipReal64 _gaussianSigma
 used sigma for gaussian noise estimation
 
ipReal64 _outlierThresholdFactor
 
ipReal64 _outlierRangeFactor
 
- Protected Attributes inherited from ipsdk::math::BaseRobustEstimator
ipReal64 _expectedOutlierRatio
 
ipReal64 _successRatio
 
DataPartitionPtr _pDataPartition
 
ipUInt32 _nbNeededRuns
 
EstimatorPtr _pEstimator
 shared pointer to used estimator
 
ParameterType _estimParams
 parameters estimated by robust algorithm
 
OutlierFlags _outlierFlags
 outlier flag collection associated to input data
 
ipReal64 _estimOutlierThreshold
 outlier threshold computed during processing
 

Detailed Description

Robust Maximum Likelihood Estimation SAmple Consensus estimator

This algorithm request a threshold value on residuals of model estimation. It has no outlier ratio upper bound.

Author
E.Noirfalise
Date
2017/05/23

Member Function Documentation

◆ init()

void ipsdk::math::MLESACRobustEstimator::init ( const EstimatorPtr pEstimator,
const ipReal64  gaussianSigma,
const ipReal64  outlierThresholdFactor = 3,
const ipReal64  outlierRangeFactor = 10 
)

initialization method

Note
we compute following processing constants :
  • outlierThreshold = _outlierThresholdFactor * _gaussianSigma
  • outlierRange = _outlierRangeFactor * _gaussianSigma
Exceptions
ipsdk::math::IPSDKMathExceptionif pEstimator.get() == 0
ipsdk::math::IPSDKMathExceptionif pEstimator->isInit() == false
ipsdk::math::IPSDKMathExceptionif gaussianSigma <= 0
ipsdk::math::IPSDKMathExceptionif outlierThresholdFactor <= 0
ipsdk::math::IPSDKMathExceptionif outlierRangeFactor <= outlierThresholdFactor

◆ getGaussianSigma()

ipReal64 ipsdk::math::MLESACRobustEstimator::getGaussianSigma ( ) const

retrieve used sigma for gaussian noise estimation

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

◆ getOutlierThresholdFactor()

ipReal64 ipsdk::math::MLESACRobustEstimator::getOutlierThresholdFactor ( ) const

retrieve used outlier threshold factor for processing (we compute outlierThreshold = _outlierThresholdFactor * _gaussianSigma)

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

◆ getOutlierRangeFactor()

ipReal64 ipsdk::math::MLESACRobustEstimator::getOutlierRangeFactor ( ) const

retrieve used outlier range factor for processing (we compute outlierRange = _outlierRangeFactor * _gaussianSigma)

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

◆ computeOutlierThreshold()

ipReal64 ipsdk::math::MLESACRobustEstimator::computeOutlierThreshold ( const ipReal64  bestScore,
const ipUInt32  nbData,
const ipUInt32  nbMinRequestedData 
) const
protectedvirtual

compute outlier threshold (data associated to residuals with absolute value greater or equal to this value are considered as outliers)

Implements ipsdk::math::BaseRobustEstimator.

Member Data Documentation

◆ _outlierThresholdFactor

ipReal64 ipsdk::math::MLESACRobustEstimator::_outlierThresholdFactor
protected

used outlier threshold factor for processing (we compute outlierThreshold = _outlierThresholdFactor * _gaussianSigma)

◆ _outlierRangeFactor

ipReal64 ipsdk::math::MLESACRobustEstimator::_outlierRangeFactor
protected

used outlier range factor for processing (we compute outlierRange = _outlierRangeFactor * _gaussianSigma)


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