IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
ipsdk::geom::HomographyTransform3dEstimator Class Reference

Class allowing to estimate a 3d homography transformationWe compute a homography transformation such as :

\[ H = \left \{ \begin{pmatrix} h_{xx} & h_{xy} & h_{xz} & h_{xw} \\ h_{yx} & h_{yy} & h_{yz} & h_{yw} \\ h_{zx} & h_{zy} & h_{zz} & h_{zw} \\ h_{wx} & h_{wy} & h_{wz} & h_{ww} \\ \end{pmatrix} \right \} \]

. More...

#include <HomographyTransform3dEstimator.h>

Inheritance diagram for ipsdk::geom::HomographyTransform3dEstimator:
ipsdk::math::BaseEstimator

Public Types

enum  eEstimParams {
  eEP_Hxx, eEP_Hxy, eEP_Hxz, eEP_Hxw,
  eEP_Hyx, eEP_Hyy, eEP_Hyz, eEP_Hyw,
  eEP_Hzx, eEP_Hzy, eEP_Hzz, eEP_Hzw,
  eEP_Hwx, eEP_Hwy, eEP_Hwz, eEP_Hww
}
 

Public Member Functions

 IPSDK_ENUM (eDataType,(eDT_X1)(eDT_Y1)(eDT_Z1)(eDT_X2)(eDT_Y2)(eDT_Z2)) static const ipUInt32 g_dataSize
 description of data into data set More...
 
BoolResult computeEstimation (const math::DataSet &dataSet, math::Matrix4d &matH)
 method allowing to estimate homography matrix from a given data set More...
 
BoolResult computeResiduals (const math::DataSet &dataSet, const math::Matrix4d &matH, math::ResidualsSet &residualsSet) const
 method allowing to compute estimation residuals from a given data set and some estimated parameters More...
 
Constructors and destructor
 HomographyTransform3dEstimator ()
 
 ~HomographyTransform3dEstimator ()
 
- 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
 

Static Public Attributes

static const ipUInt32 g_parameterSize = eEstimParams::size
 size of estimated parameters
 

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...
 
virtual BoolResult processEstimation (const DataSet &dataSet, ParameterType &estimParams)=0
 method allowing to compute estimation into derived classes More...
 
virtual BoolResult processResiduals (const DataSet &dataSet, const ParameterType &estimParams, ResidualsSet &residualsSet) const =0
 method allowing to compute residuals into derived classes More...
 

Detailed Description

Class allowing to estimate a 3d homography transformation

We compute a homography transformation such as :

\[ H = \left \{ \begin{pmatrix} h_{xx} & h_{xy} & h_{xz} & h_{xw} \\ h_{yx} & h_{yy} & h_{yz} & h_{yw} \\ h_{zx} & h_{zy} & h_{zz} & h_{zw} \\ h_{wx} & h_{wy} & h_{wz} & h_{ww} \\ \end{pmatrix} \right \} \]

.

Author
E.Noirfalise
Date
2016/12/28

and where a pair of input points $p_1=\begin{pmatrix}x_1 \\ y_1 \\ z_1\end{pmatrix}$ and $p_2=\begin{pmatrix}x_2 \\ y_2 \\ z_2\end{pmatrix}$ are linked by following estimation formula :

\[ p_2 = H \times p_1 \]

Member Enumeration Documentation

◆ eEstimParams

description of estimated parameters (8 degrees of freedom)

Note
This object is associated to a strong enumerate definition
See also
IPSDK_Enum
Enumerator
eEP_Hxx 

XX coefficient of homography matrix.

eEP_Hxy 

XY coefficient of homography matrix.

eEP_Hxz 

XZ coefficient of homography matrix.

eEP_Hxw 

XW coefficient of homography matrix.

eEP_Hyx 

YX coefficient of homography matrix.

eEP_Hyy 

YY coefficient of homography matrix.

eEP_Hyz 

YZ coefficient of homography matrix.

eEP_Hyw 

YW coefficient of homography matrix.

eEP_Hzx 

ZX coefficient of homography matrix.

eEP_Hzy 

ZY coefficient of homography matrix.

eEP_Hzz 

ZZ coefficient of homography matrix.

eEP_Hzw 

ZW coefficient of homography matrix.

eEP_Hwx 

WX coefficient of homography matrix.

eEP_Hwy 

WY coefficient of homography matrix.

eEP_Hwz 

WZ coefficient of homography matrix.

eEP_Hww 

WW coefficient of homography matrix.

Member Function Documentation

◆ IPSDK_ENUM()

ipsdk::geom::HomographyTransform3dEstimator::IPSDK_ENUM ( eDataType  ,
(eDT_X1)(eDT_Y1)(eDT_Z1)(eDT_X2)(eDT_Y2)(eDT_Z2)   
) const

description of data into data set

size of data into data set

◆ computeEstimation()

BoolResult ipsdk::geom::HomographyTransform3dEstimator::computeEstimation ( const math::DataSet dataSet,
math::Matrix4d matH 
)

method allowing to estimate homography matrix from a given data set

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false
Returns
false in case of failure

◆ computeResiduals()

BoolResult ipsdk::geom::HomographyTransform3dEstimator::computeResiduals ( const math::DataSet dataSet,
const math::Matrix4d matH,
math::ResidualsSet residualsSet 
) const

method allowing to compute estimation residuals from a given data set and some estimated parameters

Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false
ipsdk::math::IPSDKMathExceptionif dataSet.size() != residualsSet.size()
Returns
false in case of failure

◆ processEstimation()

BoolResult ipsdk::geom::HomographyTransform3dEstimator::processEstimation ( const math::DataSet dataSet,
math::ParameterType estimParams 
)
protected

method allowing to compute estimation into derived classes

Returns
false in case of failure

◆ processResiduals()

BoolResult ipsdk::geom::HomographyTransform3dEstimator::processResiduals ( const math::DataSet dataSet,
const math::ParameterType estimParams,
math::ResidualsSet residualsSet 
) const
protected

method allowing to compute residuals into derived classes

Returns
false in case of failure

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