Public Types | Public Member Functions | List of all members
lvr2::EigenSVDPointAlign< T, PointT > Class Template Reference

#include <EigenSVDPointAlign.hpp>

Public Types

using Mat3 = Eigen::Matrix< T, 3, 3 >
 
using Mat4 = Transform< T >
 
using Point3 = Vector3< PointT >
 
using PointPairVector = std::vector< std::pair< Point3, Point3 > >
 
using Vec3 = Vector3< T >
 

Public Member Functions

alignPoints (PointPairVector &points, const Vec3 &centroid_m, const Vec3 &centroid_d, Mat4 &align) const
 Calculates the estimated Transformation to match a Data Pointcloud to a Model Pointcloud. More...
 
alignPoints (SLAMScanPtr scan, Point3 **neighbors, const Vec3 &centroid_m, const Vec3 &centroid_d, Mat4 &align) const
 Calculates the estimated Transformation to match a Data Pointcloud to a Model Pointcloud. More...
 
 EigenSVDPointAlign ()
 

Detailed Description

template<typename T, typename PointT = float>
class lvr2::EigenSVDPointAlign< T, PointT >

Definition at line 46 of file EigenSVDPointAlign.hpp.

Member Typedef Documentation

◆ Mat3

template<typename T , typename PointT = float>
using lvr2::EigenSVDPointAlign< T, PointT >::Mat3 = Eigen::Matrix<T, 3, 3>

Definition at line 51 of file EigenSVDPointAlign.hpp.

◆ Mat4

template<typename T , typename PointT = float>
using lvr2::EigenSVDPointAlign< T, PointT >::Mat4 = Transform<T>

Definition at line 50 of file EigenSVDPointAlign.hpp.

◆ Point3

template<typename T , typename PointT = float>
using lvr2::EigenSVDPointAlign< T, PointT >::Point3 = Vector3<PointT>

Definition at line 52 of file EigenSVDPointAlign.hpp.

◆ PointPairVector

template<typename T , typename PointT = float>
using lvr2::EigenSVDPointAlign< T, PointT >::PointPairVector = std::vector<std::pair<Point3, Point3> >

Definition at line 53 of file EigenSVDPointAlign.hpp.

◆ Vec3

template<typename T , typename PointT = float>
using lvr2::EigenSVDPointAlign< T, PointT >::Vec3 = Vector3<T>

Definition at line 49 of file EigenSVDPointAlign.hpp.

Constructor & Destructor Documentation

◆ EigenSVDPointAlign()

template<typename T , typename PointT = float>
lvr2::EigenSVDPointAlign< T, PointT >::EigenSVDPointAlign ( )
inline

Definition at line 55 of file EigenSVDPointAlign.hpp.

Member Function Documentation

◆ alignPoints() [1/2]

template<typename T , typename PointT = float>
T lvr2::EigenSVDPointAlign< T, PointT >::alignPoints ( PointPairVector points,
const Vec3 centroid_m,
const Vec3 centroid_d,
Mat4 align 
) const

Calculates the estimated Transformation to match a Data Pointcloud to a Model Pointcloud.

Apply the resulting Transform to the Data Pointcloud.

Parameters
pointsA vector of pairs with (model, data) Points
centroid_mThe center of the Model Pointcloud
centroid_dThe center of the Data Pointcloud
alignWill be set to the Transformation
Returns
The average Point-to-Point error of the Scans

◆ alignPoints() [2/2]

template<typename T , typename PointT = float>
T lvr2::EigenSVDPointAlign< T, PointT >::alignPoints ( SLAMScanPtr  scan,
Point3 **  neighbors,
const Vec3 centroid_m,
const Vec3 centroid_d,
Mat4 align 
) const

Calculates the estimated Transformation to match a Data Pointcloud to a Model Pointcloud.

Apply the resulting Transform to the Data Pointcloud.

Parameters
scanThe Data Pointcloud
neighborsAn array containing a Pointer to a neighbor in the Model Pointcloud for each Point in scan, or nullptr if there is no neighbor for a Point
centroid_mThe center of the Model Pointcloud
centroid_dThe center of the Data Pointcloud
alignWill be set to the Transformation
Returns
The average Point-to-Point error of the Scans

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


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:27