include
lvr2
registration
EigenSVDPointAlign.hpp
Go to the documentation of this file.
1
34
#ifndef EIGENSVDPOINTALIGN_HPP_
35
#define EIGENSVDPOINTALIGN_HPP_
36
37
#include "
SLAMScanWrapper.hpp
"
38
#include "
lvr2/types/MatrixTypes.hpp
"
39
40
#include <Eigen/Dense>
41
42
namespace
lvr2
43
{
44
45
template
<
typename
T,
typename
Po
int
T =
float
>
46
class
EigenSVDPointAlign
47
{
48
public
:
49
using
Vec3
=
Vector3<T>
;
50
using
Mat4
=
Transform<T>
;
51
using
Mat3
= Eigen::Matrix<T, 3, 3>;
52
using
Point3
=
Vector3<PointT>
;
53
using
PointPairVector
= std::vector<std::pair<Point3, Point3>>;
54
55
EigenSVDPointAlign
() {};
56
72
T
alignPoints
(
73
SLAMScanPtr
scan,
74
Point3
** neighbors,
75
const
Vec3
& centroid_m,
76
const
Vec3
& centroid_d,
77
Mat4
& align)
const
;
78
92
T
alignPoints
(
93
PointPairVector
& points,
94
const
Vec3
& centroid_m,
95
const
Vec3
& centroid_d,
96
Mat4
& align)
const
;
97
};
98
99
}
/* namespace lvr2 */
100
101
#include "EigenSVDPointAlign.tcc"
102
103
#endif
/* EIGENSVDPOINTALIGN_HPP_ */
lvr2::EigenSVDPointAlign::alignPoints
T alignPoints(SLAMScanPtr scan, Point3 **neighbors, const Vec3 ¢roid_m, const Vec3 ¢roid_d, Mat4 &align) const
Calculates the estimated Transformation to match a Data Pointcloud to a Model Pointcloud.
lvr2::EigenSVDPointAlign::PointPairVector
std::vector< std::pair< Point3, Point3 > > PointPairVector
Definition:
EigenSVDPointAlign.hpp:53
lvr2::EigenSVDPointAlign::Point3
Vector3< PointT > Point3
Definition:
EigenSVDPointAlign.hpp:52
SLAMScanWrapper.hpp
lvr2::Transform
Eigen::Matrix< T, 4, 4 > Transform
General 4x4 transformation matrix (4x4)
Definition:
MatrixTypes.hpp:65
MatrixTypes.hpp
lvr2::SLAMScanPtr
std::shared_ptr< SLAMScanWrapper > SLAMScanPtr
Definition:
SLAMScanWrapper.hpp:221
lvr2::Vector3
Eigen::Matrix< T, 3, 1 > Vector3
Eigen 3D vector.
Definition:
MatrixTypes.hpp:115
lvr2::EigenSVDPointAlign::Mat4
Transform< T > Mat4
Definition:
EigenSVDPointAlign.hpp:50
lvr2
Definition:
BaseBufferManipulators.hpp:39
lvr2::EigenSVDPointAlign::EigenSVDPointAlign
EigenSVDPointAlign()
Definition:
EigenSVDPointAlign.hpp:55
lvr2::EigenSVDPointAlign
Definition:
EigenSVDPointAlign.hpp:46
lvr2::EigenSVDPointAlign::Mat3
Eigen::Matrix< T, 3, 3 > Mat3
Definition:
EigenSVDPointAlign.hpp:51
lvr2::EigenSVDPointAlign::Vec3
Vector3< T > Vec3
Definition:
EigenSVDPointAlign.hpp:49
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:23