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

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

\[ RT = \{S, R(\chi, \beta, \alpha), T(t_x, t_y, t_z)\} \]

For more informations report to Rotations 3d. More...

#include <SimilarityTransform3dEstimator.h>

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

Public Types

enum  eEstimParams {
  eEP_Scale, eEP_Chi, eEP_Beta, eEP_Alpha,
  eEP_Tx, eEP_Ty, eEP_Tz
}
 
enum  eDataType {
  eDT_X1, eDT_Y1, eDT_Z1, eDT_X2,
  eDT_Y2, eDT_Z2
}
 

Public Member Functions

Constructors and destructor
 SimilarityTransform3dEstimator ()
 
 ~SimilarityTransform3dEstimator ()
 
- 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
 
static const ipUInt32 g_dataSize = eDataType::size
 size of data into data set
 

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 similarity transformation

We compute a similarity transformation such as :

\[ RT = \{S, R(\chi, \beta, \alpha), T(t_x, t_y, t_z)\} \]

For more informations report to Rotations 3d.

Author
E.Noirfalise
Date
2016/10/14

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 = S \times R \times p_1 + T \]

See also
Closed-form solution of absolute orientation using unit quaternions, Berthold.K.P Horn , Journal of Optical Society of America A, vol 4, page 629, April 1987

Member Enumeration Documentation

◆ eEstimParams

description of estimated parameters

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

scale of transformation

eEP_Chi 

chi component for euler rotation

eEP_Beta 

beta component for euler rotation

eEP_Alpha 

alpha component for euler rotation

eEP_Tx 

translation coordinate along x axis

eEP_Ty 

translation coordinate along y axis

eEP_Tz 

translation coordinate along z axis

◆ eDataType

description of data into data set

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

x coordinate of first point

eDT_Y1 

y coordinate of first point

eDT_Z1 

z coordinate of first point

eDT_X2 

x coordinate of second point

eDT_Y2 

y coordinate of second point

eDT_Z2 

z coordinate of second point

Member Function Documentation

◆ processEstimation()

BoolResult ipsdk::geom::SimilarityTransform3dEstimator::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::SimilarityTransform3dEstimator::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: