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

Configuration structure used for estimation management. More...

#include <EstimationConfig.h>

Inheritance diagram for ipsdk::math::EstimationConfig:
ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

bool isInit () const
 check whether objet has been initialized
 
void setSuccessRatio (const ipReal64 successRatio)
 selection of algorithm statistical success ratio parameter More...
 
ipReal64 getSuccessRatio () const
 retrieve algorithm statistical success ratio parameter More...
 
void setDataPartition (const DataPartitionPtr &pDataPartition)
 select data partition object associated to configuration More...
 
DataPartitionPtr getDataPartitionPtr () const
 retrieve data partition object More...
 
void clear ()
 clear of object data
 
Constructors and destructor
 EstimationConfig ()
 
 ~EstimationConfig ()
 
Robust estimation type
void initNonRobust ()
 method used to initialize object to a non robust configuration
 
void initLMS (const ipReal64 expectedOutlierRatio=0.4)
 method used to initialize object to a Least Mean Square configuration More...
 
void initRANSAC (const ipReal64 outlierThreshold, const ipReal64 expectedOutlierRatio=0.4)
 method used to initialize object to a RANdom SAmple Consensus configuration More...
 
void initMSAC (const ipReal64 outlierThreshold, const ipReal64 expectedOutlierRatio=0.4)
 method used to initialize object to a M-estimator SAmple Consensus configuration More...
 
void initMLESAC (const ipReal64 gaussianSigma, const ipReal64 outlierThresholdFactor=3, const ipReal64 outlierRangeFactor=10, const ipReal64 expectedOutlierRatio=0.4)
 method used to initialize object to a Maximum Likelihood Estimation SAmple Consensus configuration More...
 
const eRobustEstimationTypegetRobustEstimationType () const
 retrieve robust estimation method More...
 
ipReal64 getOutlierThreshold () const
 retrieve used outlier threshold for processing More...
 
ipReal64 getGaussianSigma () const
 retrieve used sigma for gaussian noise estimation More...
 
ipReal64 getOutlierThresholdFactor () const
 used outlier threshold factor for processing More...
 
ipReal64 getOutlierRangeFactor () const
 used outlier range factor for processing More...
 
ipReal64 getExpectedOutlierRatio () const
 retrieve expected outlier ratio associated to data More...
 
void setAllowSimpleEstimation (const bool bAllowSimpleEstimation)
 access to flag indicating whether we allow a simple estimation in case were no enough data are available to process a robust estimation More...
 
bool getAllowSimpleEstimation () const
 access to flag indicating whether we allow a simple estimation in case were no enough data are available to process a robust estimation More...
 
void setAdaptiveGridPartition ()
 select data partition object type to adaptive grid More...
 
void setAdaptiveGridPartition (const ipUInt32 nbBucketsByAxis)
 select data partition object type to adaptive grid More...
 
void setRegularGridPartition ()
 select data partition object type to regular grid More...
 
void setRegularGridPartition (const ipUInt32 nbBucketsByAxis)
 select data partition object type to regular grid More...
 
- Public Member Functions inherited from ipsdk::BaseSerializationObject
 BaseSerializationObject ()
 Default constructor.
 
virtual ~BaseSerializationObject ()=0
 destructor
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 

Protected Attributes

bool _bInit
 flag indicating whether object has been initialized
 
eRobustEstimationType _robustEstimationType
 robust estimation method
 
ipReal64 _outlierThreshold
 used outlier threshold for processing
 
ipReal64 _gaussianSigma
 used sigma for gaussian noise estimation
 
ipReal64 _outlierRangeFactor
 used outlier range factor for processing
 
ipReal64 _expectedOutlierRatio
 
bool _bAllowSimpleEstimation
 
ipReal64 _successRatio
 
DataPartitionPtr _pDataPartition
 

Additional Inherited Members

- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 method allowing to retrieve class version information for serialization
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 method allowing to ensure serialization write part for object
 
virtual BoolResult read (BaseIArchive &ar)
 method allowing to ensure serialization read part for object
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Detailed Description

Configuration structure used for estimation management.

Author
E.Noirfalise
Date
2017/05/29

Member Function Documentation

◆ initLMS()

void ipsdk::math::EstimationConfig::initLMS ( const ipReal64  expectedOutlierRatio = 0.4)

method used to initialize object to a Least Mean Square configuration

Exceptions
ipsdk::math::IPSDKMathExceptionif expectedOutlierRatio < 0 || expectedOutlierRatio >= 0.5

◆ initRANSAC()

void ipsdk::math::EstimationConfig::initRANSAC ( const ipReal64  outlierThreshold,
const ipReal64  expectedOutlierRatio = 0.4 
)

method used to initialize object to a RANdom SAmple Consensus configuration

Exceptions
ipsdk::math::IPSDKMathExceptionif expectedOutlierRatio < 0 || expectedOutlierRatio >= 1

◆ initMSAC()

void ipsdk::math::EstimationConfig::initMSAC ( const ipReal64  outlierThreshold,
const ipReal64  expectedOutlierRatio = 0.4 
)

method used to initialize object to a M-estimator SAmple Consensus configuration

Exceptions
ipsdk::math::IPSDKMathExceptionif expectedOutlierRatio < 0 || expectedOutlierRatio >= 1

◆ initMLESAC()

void ipsdk::math::EstimationConfig::initMLESAC ( const ipReal64  gaussianSigma,
const ipReal64  outlierThresholdFactor = 3,
const ipReal64  outlierRangeFactor = 10,
const ipReal64  expectedOutlierRatio = 0.4 
)

method used to initialize object to a Maximum Likelihood Estimation SAmple Consensus configuration

Exceptions
ipsdk::math::IPSDKMathExceptionif gaussianSigma <= 0
ipsdk::math::IPSDKMathExceptionif outlierThresholdFactor <= 0
ipsdk::math::IPSDKMathExceptionif outlierRangeFactor <= outlierThresholdFactor
ipsdk::math::IPSDKMathExceptionif expectedOutlierRatio < 0 || expectedOutlierRatio >= 1

◆ getRobustEstimationType()

const eRobustEstimationType& ipsdk::math::EstimationConfig::getRobustEstimationType ( ) const

retrieve robust estimation method

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

◆ getOutlierThreshold()

ipReal64 ipsdk::math::EstimationConfig::getOutlierThreshold ( ) const

retrieve used outlier threshold for processing

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

◆ getGaussianSigma()

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

retrieve used sigma for gaussian noise estimation

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

◆ getOutlierThresholdFactor()

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

used outlier threshold factor for processing

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

◆ getOutlierRangeFactor()

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

used outlier range factor for processing

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

◆ getExpectedOutlierRatio()

ipReal64 ipsdk::math::EstimationConfig::getExpectedOutlierRatio ( ) const

retrieve expected outlier ratio associated to data

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

◆ setAllowSimpleEstimation()

void ipsdk::math::EstimationConfig::setAllowSimpleEstimation ( const bool  bAllowSimpleEstimation)

access to flag indicating whether we allow a simple estimation in case were no enough data are available to process a robust estimation

Note
Default value : true
Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

◆ getAllowSimpleEstimation()

bool ipsdk::math::EstimationConfig::getAllowSimpleEstimation ( ) const

access to flag indicating whether we allow a simple estimation in case were no enough data are available to process a robust estimation

Note
Default value : true
Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

◆ setSuccessRatio()

void ipsdk::math::EstimationConfig::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 isInit() == false
ipsdk::math::IPSDKMathExceptionif successRatio <= 0 || successRatio >= 1

◆ getSuccessRatio()

ipReal64 ipsdk::math::EstimationConfig::getSuccessRatio ( ) const

retrieve algorithm statistical success ratio parameter

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

◆ setDataPartition()

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

select data partition object associated to configuration

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false
ipsdk::math::IPSDKMathExceptionif pDataPartition.get() == 0

◆ setAdaptiveGridPartition() [1/2]

void ipsdk::math::EstimationConfig::setAdaptiveGridPartition ( )

select data partition object type to adaptive grid

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false
Note
This is the default value

◆ setAdaptiveGridPartition() [2/2]

void ipsdk::math::EstimationConfig::setAdaptiveGridPartition ( const ipUInt32  nbBucketsByAxis)

select data partition object type to adaptive grid

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false
Note
This is the default value

◆ setRegularGridPartition() [1/2]

void ipsdk::math::EstimationConfig::setRegularGridPartition ( )

select data partition object type to regular grid

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

◆ setRegularGridPartition() [2/2]

void ipsdk::math::EstimationConfig::setRegularGridPartition ( const ipUInt32  nbBucketsByAxis)

select data partition object type to regular grid

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

◆ getDataPartitionPtr()

DataPartitionPtr ipsdk::math::EstimationConfig::getDataPartitionPtr ( ) const

retrieve data partition object

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

Member Data Documentation

◆ _expectedOutlierRatio

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

◆ _bAllowSimpleEstimation

bool ipsdk::math::EstimationConfig::_bAllowSimpleEstimation
protected

flag indicating whether we allow a simple estimation in case were no enough data are available to process a robust estimation

◆ _successRatio

ipReal64 ipsdk::math::EstimationConfig::_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::EstimationConfig::_pDataPartition
protected

shared pointer to used bucket algorithm

Note
Default value : GridBucket

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