IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Functions

Parametric model estimation in geometric 2d case. More...

Classes

class  ipsdk::geom::Circle2dEstimator
 Class allowing to estimate a circle 2d from a data set of 2d contour points. More...
 
class  ipsdk::geom::Ellipse2dEstimator
 Class allowing to estimate an ellipse 2d from a data set of 2d contour points. More...
 
class  ipsdk::geom::HomographyTransform2dEstimator
 Class allowing to estimate a 2d homography transformationWe compute a homography transformation such as :

\[ H = \left \{ \begin{pmatrix} h_{xx} & h_{xy} & h_{xw} \\ h_{yx} & h_{yy} & h_{yw} \\ h_{wx} & h_{wy} & h_{ww} \\ \end{pmatrix} \right \} \]

. More...

 
class  ipsdk::geom::Line2dEstimator
 Class allowing to estimate a line 2d from a data set of 2d pointsLine parameters are expressed in polar coordinates : $\cos{\theta} \times x + \sin{\theta} \times y = \rho$ where : More...
 
class  ipsdk::geom::Line2dIntersectionEstimator
 Class allowing to estimate a intersection point 2d from a data set of 2d lines. More...
 
class  ipsdk::geom::RigidTransform2dEstimator
 Class allowing to estimate a 2d rigid transformationWe compute a rigid transformation such as :

\[ RT = \{R(\theta), T(t_x, t_y)\} = \left \{ \begin{pmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{pmatrix}, \begin{pmatrix} t_x \\ t_y \end{pmatrix} \right \} \]

. More...

 
class  ipsdk::geom::SimilarityTransform2dEstimator
 Class allowing to estimate a 2d similarity transformationWe compute a similarity transformation such as :

\[ RT = \{S, R(\theta), T(t_x, t_y)\} = \left \{ S \begin{pmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{pmatrix}, \begin{pmatrix} t_x \\ t_y \end{pmatrix} \right \} \]

. More...

 
class  ipsdk::geom::TranslationTransform2dEstimator
 Class allowing to estimate a 2d translation transformationWe compute a rigid transformation such as :

\[ T = \{T(t_x, t_y)\} = \left \{ \begin{pmatrix} t_x \\ t_y \end{pmatrix} \right \} \]

. More...

 

Functions

IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet (const std::vector< Line2d > &lineColl)
 function allowing to convert a line 2d collection to an estimation data set
 
template<typename T >
IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet (const std::vector< Point2d< T > > &ptColl)
 function allowing to convert a point collection to an estimation data set
 
template<typename T >
IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet (const std::vector< Point2dData< T > > &ptColl)
 function allowing to convert a point collection to an estimation data set
 
template<typename T >
IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet (const std::vector< Point2d< T > > &ptColl1, const std::vector< Point2d< T > > &ptColl2)
 function allowing to convert two point collections to an estimation data set More...
 
template<typename T >
IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet (const std::vector< Point2dData< T > > &ptColl1, const std::vector< Point2dData< T > > &ptColl2)
 function allowing to convert two point collections to an estimation data set More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::line2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl, const math::EstimationConfig &config)
 line 2d estimation from a cloud of 2d points More...
 
template<typename T >
boost::python::tuple ipsdk::python::line2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl)
 line 2d estimation from a cloud of 2d points More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::gaussianCurve2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl, const math::EstimationConfig &config)
 gaussian curve 2d estimation from a cloud of 2d points More...
 
template<typename T >
boost::python::tuple ipsdk::python::gaussianCurve2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl)
 gaussian curve 2d estimation from a cloud of 2d points More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::circle2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl, const math::EstimationConfig &config, const bool bProcessNonLinearPass)
 circle 2d estimation from a cloud of 2d contour points More...
 
template<typename T >
boost::python::tuple ipsdk::python::circle2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl)
 circle 2d estimation from a cloud of 2d contour points More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::ellipse2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl, const math::EstimationConfig &config)
 ellipse 2d estimation from a cloud of 2d contour points More...
 
template<typename T >
boost::python::tuple ipsdk::python::ellipse2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl)
 ellipse 2d estimation from a cloud of 2d contour points More...
 
PYIPSDKBASE_API boost::python::tuple ipsdk::python::intersectionPoint2dEstimation (const std::vector< geom::Line2d > &line2dColl, const math::EstimationConfig &config)
 intersection point 2d estimation from a data set of 2d lines More...
 
boost::python::tuple ipsdk::python::intersectionPoint2dSimpleEstimation (const std::vector< geom::Line2d > &line2dColl)
 intersection point 2d estimation from a data set of 2d lines More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::homographyTransform2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl1, const std::vector< geom::Point2dData< T > > &ptColl2, const math::EstimationConfig &config)
 homography transformation estimation between two clouds of 2d points More...
 
template<typename T >
boost::python::tuple ipsdk::python::homographyTransform2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl1, const std::vector< geom::Point2dData< T > > &ptColl2)
 homography transformation estimation between two clouds of 2d points More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::rigidTransform2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl1, const std::vector< geom::Point2dData< T > > &ptColl2, const math::EstimationConfig &config)
 rigid transformation estimation between two clouds of 2d points More...
 
template<typename T >
boost::python::tuple ipsdk::python::rigidTransform2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl1, const std::vector< geom::Point2dData< T > > &ptColl2)
 rigid transformation estimation between two clouds of 2d points More...
 
template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::similarityTransform2dEstimation (const std::vector< geom::Point2dData< T > > &ptColl1, const std::vector< geom::Point2dData< T > > &ptColl2, const math::EstimationConfig &config)
 similarity transformation estimation between two clouds of 2d points More...
 
template<typename T >
boost::python::tuple ipsdk::python::similarityTransform2dSimpleEstimation (const std::vector< geom::Point2dData< T > > &ptColl1, const std::vector< geom::Point2dData< T > > &ptColl2)
 similarity transformation estimation between two clouds of 2d points More...
 

Detailed Description

Parametric model estimation in geometric 2d case.

Function Documentation

◆ toDataSet() [1/2]

template<typename T >
IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet ( const std::vector< Point2d< T > > &  ptColl1,
const std::vector< Point2d< T > > &  ptColl2 
)

function allowing to convert two point collections to an estimation data set

Exceptions
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()

◆ line2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::line2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl,
const math::EstimationConfig config 
)

line 2d estimation from a cloud of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Line2d : estimated line 2d, ipsdk::math::EstimationResults : estimation results}

◆ gaussianCurve2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::gaussianCurve2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl,
const math::EstimationConfig config 
)

gaussian curve 2d estimation from a cloud of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{A : height of the curve's peak, Mu : position of the center of the peak Sigma : width of the "bell" (the standard deviation) ipsdk::math::EstimationResults : estimation results}

◆ circle2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::circle2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl,
const math::EstimationConfig config,
const bool  bProcessNonLinearPass 
)

circle 2d estimation from a cloud of 2d contour points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Circle2d<ipReal64> : estimated circle 2d, ipsdk::math::EstimationResults : estimation results}

◆ ellipse2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::ellipse2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl,
const math::EstimationConfig config 
)

ellipse 2d estimation from a cloud of 2d contour points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Ellipse2d<ipReal64> : estimated ellipse 2d, ipsdk::math::EstimationResults : estimation results}

◆ intersectionPoint2dEstimation()

PYIPSDKBASE_API boost::python::tuple ipsdk::python::intersectionPoint2dEstimation ( const std::vector< geom::Line2d > &  line2dColl,
const math::EstimationConfig config 
)

intersection point 2d estimation from a data set of 2d lines

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Point3dData<ipReal64> : intersection point expressed in homogeneous coordinates, ipsdk::math::EstimationResults : estimation results}

◆ homographyTransform2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::homographyTransform2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl1,
const std::vector< geom::Point2dData< T > > &  ptColl2,
const math::EstimationConfig config 
)

homography transformation estimation between two clouds of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()
Returns
{ipsdk::math::transform::Homography2d : estimated homography tranformation 2d, ipsdk::math::EstimationResults : estimation results}

◆ rigidTransform2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::rigidTransform2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl1,
const std::vector< geom::Point2dData< T > > &  ptColl2,
const math::EstimationConfig config 
)

rigid transformation estimation between two clouds of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()
Returns
{ipsdk::math::transform::Rigid2d : estimated rigid tranformation 2d, ipsdk::math::EstimationResults : estimation results}

◆ similarityTransform2dEstimation()

template<typename T >
PYIPSDKBASE_API boost::python::tuple ipsdk::python::similarityTransform2dEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl1,
const std::vector< geom::Point2dData< T > > &  ptColl2,
const math::EstimationConfig config 
)

similarity transformation estimation between two clouds of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()
Returns
{ipsdk::math::transform::Similarity2d : estimated similarity tranformation 2d, ipsdk::math::EstimationResults : estimation results}

◆ toDataSet() [2/2]

template<typename T >
IPSDKGEOMETRY_API math::DataSet ipsdk::geom::toDataSet ( const std::vector< Point2dData< T > > &  ptColl1,
const std::vector< Point2dData< T > > &  ptColl2 
)

function allowing to convert two point collections to an estimation data set

Exceptions
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()

◆ line2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::line2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl)
inline

line 2d estimation from a cloud of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Line2d : estimated line 2d, ipsdk::math::EstimationResults : estimation results}

◆ gaussianCurve2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::gaussianCurve2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl)
inline

gaussian curve 2d estimation from a cloud of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{A : height of the curve's peak, Mu : position of the center of the peak Sigma : width of the "bell" (the standard deviation) ipsdk::math::EstimationResults : estimation results}

◆ circle2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::circle2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl)
inline

circle 2d estimation from a cloud of 2d contour points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Circle2d<ipReal64> : estimated circle 2d, ipsdk::math::EstimationResults : estimation results}

◆ ellipse2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::ellipse2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl)
inline

ellipse 2d estimation from a cloud of 2d contour points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Ellipse2d<ipReal64> : estimated ellipse 2d, ipsdk::math::EstimationResults : estimation results}

◆ intersectionPoint2dSimpleEstimation()

boost::python::tuple ipsdk::python::intersectionPoint2dSimpleEstimation ( const std::vector< geom::Line2d > &  line2dColl)
inline

intersection point 2d estimation from a data set of 2d lines

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
Returns
{ipsdk::geom::Point3dData<ipReal64> : intersection point expressed in homogeneous coordinates, ipsdk::math::EstimationResults : estimation results}

◆ homographyTransform2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::homographyTransform2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl1,
const std::vector< geom::Point2dData< T > > &  ptColl2 
)
inline

homography transformation estimation between two clouds of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()
Returns
{ipsdk::math::transform::Homography2d : estimated homography tranformation 2d, ipsdk::math::EstimationResults : estimation results}

◆ rigidTransform2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::rigidTransform2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl1,
const std::vector< geom::Point2dData< T > > &  ptColl2 
)
inline

rigid transformation estimation between two clouds of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()
Returns
{ipsdk::math::transform::Rigid2d : estimated rigid tranformation 2d, ipsdk::math::EstimationResults : estimation results}

◆ similarityTransform2dSimpleEstimation()

template<typename T >
boost::python::tuple ipsdk::python::similarityTransform2dSimpleEstimation ( const std::vector< geom::Point2dData< T > > &  ptColl1,
const std::vector< geom::Point2dData< T > > &  ptColl2 
)
inline

similarity transformation estimation between two clouds of 2d points

Exceptions
ipsdk::python::PyIPSDKBaseExceptionon failure
ipsdk::geom::IPSDKGeometryExceptionif ptColl1.size() != ptColl2.size()
Returns
{ipsdk::math::transform::Similarity2d : estimated similarity tranformation 2d, ipsdk::math::EstimationResults : estimation results}