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::BaseRobustEstimator Class Referenceabstract

Base class for parametric robust estimation from data set. More...

#include <BaseRobustEstimator.h>

Inheritance diagram for ipsdk::math::BaseRobustEstimator:
ipsdk::math::LMSRobustEstimator ipsdk::math::MLESACRobustEstimator ipsdk::math::MSACRobustEstimator ipsdk::math::RANSACRobustEstimator

Public Member Functions

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
 
Constructors and destructor
 BaseRobustEstimator ()
 
virtual ~BaseRobustEstimator ()=0
 

Protected Member Functions

void initBase (const EstimatorPtr &pEstimator)
 base class initialization method More...
 
virtual ipReal64 computeOutlierThreshold (const ipReal64 bestScore, const ipUInt32 nbData, const ipUInt32 nbMinRequestedData) const =0
 
virtual ipReal64 computeScore (const ResidualsSet &curResiduals)=0
 method used in derived classes to compute score associated to an estimation
 
virtual void clearDerived ()
 clear of data into derived class
 

Protected Attributes

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

Base class for parametric robust estimation from data set.

Author
E.Noirfalise
Date
2017/05/23

Member Function Documentation

◆ setExpectedOutlierRatio()

void ipsdk::math::BaseRobustEstimator::setExpectedOutlierRatio ( const ipReal64  expectedOutlierRatio)

selection of expected outlier ratio associated to data

This parameter control outlier detection process. User should not modify it without a good knowledge of underlying algorithm.

Note
Default value : 0.4 (0.4 stands for 40% of outliers)
Exceptions
ipsdk::math::IPSDKMathExceptionif expectedOutlierRatio < 0 || expectedOutlierRatio >= getMaxOutlierRatio()

◆ setSuccessRatio()

void ipsdk::math::BaseRobustEstimator::setSuccessRatio ( const ipReal64  successRatio)

selection of algorithm statistical success ratio parameter

This parameter control outlier detection process. User should not modify it without a good knowledge of underlying algorithm.

Note
Default value : 0.99
Exceptions
ipsdk::math::IPSDKMathExceptionif successRatio <= 0 || successRatio >= 1

◆ setDataPartition()

void ipsdk::math::BaseRobustEstimator::setDataPartition ( const DataPartitionPtr pDataPartition)

select data partition object type

Exceptions
ipsdk::math::IPSDKMathExceptionif pDataPartition.get() == 0
Note
Default value : AdaptiveGridPartition

◆ getEstimator()

const BaseEstimator& ipsdk::math::BaseRobustEstimator::getEstimator ( ) const

retrieve estimator associated to object

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

◆ getNbMinDataForRobustEstimation()

ipUInt32 ipsdk::math::BaseRobustEstimator::getNbMinDataForRobustEstimation ( ) const

retrieve minimum number of data to proceed to robust estimation

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

◆ getNbNeededRuns()

ipUInt32 ipsdk::math::BaseRobustEstimator::getNbNeededRuns ( ) const

retrieve number of needed estimator run for robust estimation process

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

◆ isEstimationDone()

bool ipsdk::math::BaseRobustEstimator::isEstimationDone ( ) const

check whether estimation has been proceeded

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

◆ computeEstimation()

BoolResult ipsdk::math::BaseRobustEstimator::computeEstimation ( const DataSet dataSet)

method allowing to estimate parameters from a given data set

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

◆ getEstimParams()

const ParameterType& ipsdk::math::BaseRobustEstimator::getEstimParams ( ) const

retrieve estimated parameters

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

◆ getOutlierFlags()

const OutlierFlags& ipsdk::math::BaseRobustEstimator::getOutlierFlags ( ) const

retrieve estimated outlier flags

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

◆ getEstimOutlierThreshold()

ipReal64 ipsdk::math::BaseRobustEstimator::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)

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

◆ initBase()

void ipsdk::math::BaseRobustEstimator::initBase ( const EstimatorPtr pEstimator)
protected

base class initialization method

Exceptions
ipsdk::math::IPSDKMathExceptionif pEstimator.get() == 0
ipsdk::math::IPSDKMathExceptionif pEstimator->isInit() == false

◆ computeOutlierThreshold()

virtual ipReal64 ipsdk::math::BaseRobustEstimator::computeOutlierThreshold ( const ipReal64  bestScore,
const ipUInt32  nbData,
const ipUInt32  nbMinRequestedData 
) const
protectedpure virtual

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

Implemented in ipsdk::math::MLESACRobustEstimator, ipsdk::math::LMSRobustEstimator, ipsdk::math::MSACRobustEstimator, and ipsdk::math::RANSACRobustEstimator.

Member Data Documentation

◆ _expectedOutlierRatio

ipReal64 ipsdk::math::BaseRobustEstimator::_expectedOutlierRatio
protected

expected outlier ratio associated to data

This parameter control outlier detection process. User should not modify it without a good knowledge of underlying algorithm.

Note
Default value : 0.4 (40% of outliers)

◆ _successRatio

ipReal64 ipsdk::math::BaseRobustEstimator::_successRatio
protected

algorithm statistical success ratio parameter

This parameter control outlier detection process. User should not modify it without a good knowledge of underlying algorithm.

Note
Default value : 0.99

◆ _pDataPartition

DataPartitionPtr ipsdk::math::BaseRobustEstimator::_pDataPartition
protected

shared pointer to used bucket algorithm

Note
Default value : AdaptiveGridPartition

◆ _nbNeededRuns

ipUInt32 ipsdk::math::BaseRobustEstimator::_nbNeededRuns
protected

number of theorical runs for estimator to ensure success ratio probability of getting a sample without outlier


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