13#include <pcl/registration/transformation_estimation.h>
14#include <pcl/cloud_iterator.h>
15#include <pcl/pcl_config.h>
18namespace registration {
28template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
32 using Ptr = shared_ptr<
55 Matrix4& transformation_matrix)
const override;
68 Matrix4& transformation_matrix)
const override;
84 Matrix4& transformation_matrix)
const override;
96 Matrix4& transformation_matrix)
const override;
120 Matrix4& transformation_matrix)
const;
131 const Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>& cloud_src_demean,
132 const Eigen::Matrix<Scalar, 4, 1>& centroid_src,
133 const Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>& cloud_tgt_demean,
134 const Eigen::Matrix<Scalar, 4, 1>& centroid_tgt,
135 const Eigen::Matrix<Scalar, Eigen::Dynamic, 1>& weights,
136 Matrix4& transformation_matrix)
const;
150 template <
typename Po
intT>
153 const Eigen::Matrix<Scalar, Eigen::Dynamic, 1>& weights,
154 Eigen::Matrix<Scalar, 4, 1>& centroid)
const;
163#include <pcl/registration/impl/transformation_estimation_point_to_point_robust.hpp>
Iterator class for point clouds with or without given indices.
PointCloud represents the base class in PCL for storing collections of 3D points.
unsigned int computeWeighted3DCentroid(ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &weights, Eigen::Matrix< Scalar, 4, 1 > ¢roid) const
Compute the 3D (X-Y-Z) centroid of a set of weighted points and return it as a 3D vector.
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
IndicesAllocator<> Indices
Type used for indices in PCL.