NDEVR
API Documentation
TransformationEstimationPointToPlaneLLS< t_type >

Estimates a rigid transformation using point-to-plane linear least squares minimization. More...

Collaboration diagram for TransformationEstimationPointToPlaneLLS< t_type >:
[legend]

Public Member Functions

void estimateRigidTransformation (const Buffer< Vertex< 3, t_type > > *points, const Buffer< Correspondance > &correspondences, Matrix< t_type > &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target.
void setReference (Buffer< Vertex< 3, t_type > > *reference_points, Buffer< Ray< 3, t_type > > *reference_normals)
 Sets the reference point cloud and its normals.

Protected Member Functions

void constructTransformationMatrix (t_type alpha, t_type beta, t_type gamma, t_type tx, t_type ty, t_type tz, Matrix< t_type > &transformation_matrix) const
 Construct a 4 by 4 transformation matrix from the provided rotation and translation.

Protected Attributes

const Buffer< Ray< 3, t_type > > * m_reference_normals
 The reference surface normals.
const Buffer< Vertex< 3, t_type > > * m_reference_points
 The reference point cloud.

Detailed Description

template<typename t_type = float>
class TransformationEstimationPointToPlaneLLS< t_type >

Estimates a rigid transformation using point-to-plane linear least squares minimization.


Definition at line 20 of file TransformPointToPlaneLLS.h.

Member Function Documentation

◆ constructTransformationMatrix()

template<typename t_type = float>
void TransformationEstimationPointToPlaneLLS< t_type >::constructTransformationMatrix ( t_type alpha,
t_type beta,
t_type gamma,
t_type tx,
t_type ty,
t_type tz,
Matrix< t_type > & transformation_matrix ) const
inlineprotected

Construct a 4 by 4 transformation matrix from the provided rotation and translation.

Parameters
[in]alphathe rotation about the x-axis
[in]betathe rotation about the y-axis
[in]gammathe rotation about the z-axis
[in]txthe x translation
[in]tythe y translation
[in]tzthe z translation
[out]transformation_matrixthe resultant transformation matrix

Definition at line 128 of file TransformPointToPlaneLLS.h.

References cast(), and sin().

Referenced by estimateRigidTransformation().

◆ estimateRigidTransformation()

template<typename t_type = float>
void TransformationEstimationPointToPlaneLLS< t_type >::estimateRigidTransformation ( const Buffer< Vertex< 3, t_type > > * points,
const Buffer< Correspondance > & correspondences,
Matrix< t_type > & transformation_matrix ) const
inline

Estimate a rigid rotation transformation between a source and a target.

Parameters
[in]source_itan iterator over the source point cloud dataset
[in]target_itan iterator over the target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Definition at line 36 of file TransformPointToPlaneLLS.h.

References constructTransformationMatrix().

◆ setReference()

template<typename t_type = float>
void TransformationEstimationPointToPlaneLLS< t_type >::setReference ( Buffer< Vertex< 3, t_type > > * reference_points,
Buffer< Ray< 3, t_type > > * reference_normals )
inline

Sets the reference point cloud and its normals.

Parameters
[in]reference_pointsThe reference point buffer.
[in]reference_normalsThe reference normal buffer.

Definition at line 26 of file TransformPointToPlaneLLS.h.

References m_reference_normals, and m_reference_points.


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