43 #include <pcl/registration/transformation_estimation.h>
44 #include <pcl/registration/warp_point_rigid.h>
48 namespace registration {
57 template <
typename Po
intSource,
typename Po
intTarget,
typename MatScalar =
float>
71 shared_ptr<TransformationEstimationLM<PointSource, PointTarget, MatScalar>>;
73 shared_ptr<const TransformationEstimationLM<PointSource, PointTarget, MatScalar>>;
75 using VectorX = Eigen::Matrix<MatScalar, Eigen::Dynamic, 1>;
76 using Vector4 = Eigen::Matrix<MatScalar, 4, 1>;
118 Matrix4& transformation_matrix)
const override;
131 Matrix4& transformation_matrix)
const override;
147 Matrix4& transformation_matrix)
const override;
159 Matrix4& transformation_matrix)
const override;
184 Vector4 s(p_src.x, p_src.y, p_src.z, 0);
185 Vector4 t(p_tgt.x, p_tgt.y, p_tgt.z, 0);
186 return ((s - t).norm());
200 Vector4 t(p_tgt.x, p_tgt.y, p_tgt.z, 0);
201 return ((p_src - t).norm());
225 template <
typename _Scalar,
int NX = Eigen::Dynamic,
int NY = Eigen::Dynamic>
229 using InputType = Eigen::Matrix<_Scalar, InputsAtCompileTime, 1>;
230 using ValueType = Eigen::Matrix<_Scalar, ValuesAtCompileTime, 1>;
232 Eigen::Matrix<_Scalar, ValuesAtCompileTime, InputsAtCompileTime>;
351 #include <pcl/registration/impl/transformation_estimation_lm.hpp>
shared_ptr< PointCloud< PointSource > > Ptr
shared_ptr< const PointCloud< PointSource > > ConstPtr
shared_ptr< WarpPointRigid< PointSourceT, PointTargetT, Scalar > > Ptr
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
IndicesAllocator<> Indices
Type used for indices in PCL.
shared_ptr< ::pcl::PointIndices > Ptr
shared_ptr< const ::pcl::PointIndices > ConstPtr