Point Cloud Library (PCL)
1.11.1-dev
|
43 #include <pcl/common/utils.h>
44 #include <pcl/filters/voxel_grid_covariance.h>
45 #include <pcl/registration/registration.h>
49 #include <unsupported/Eigen/NonLinearOptimization>
62 template <
typename Po
intSource,
typename Po
intTarget>
88 using Ptr = shared_ptr<NormalDistributionsTransform<PointSource, PointTarget>>;
90 shared_ptr<const NormalDistributionsTransform<PointSource, PointTarget>>;
196 trans = Eigen::Translation<float, 3>(x.head<3>().cast<
float>()) *
197 Eigen::AngleAxis<float>(
float(x(3)), Eigen::Vector3f::UnitX()) *
198 Eigen::AngleAxis<float>(
float(x(4)), Eigen::Vector3f::UnitY()) *
199 Eigen::AngleAxis<float>(
float(x(5)), Eigen::Vector3f::UnitZ());
210 Eigen::Affine3f _affine;
212 trans = _affine.matrix();
249 const Eigen::Matrix4f& guess)
override;
270 Eigen::Matrix<double, 6, 6>& hessian,
272 const Eigen::Matrix<double, 6, 1>& transform,
273 bool compute_hessian =
true);
287 Eigen::Matrix<double, 6, 6>& hessian,
288 const Eigen::Vector3d& x_trans,
289 const Eigen::Matrix3d& c_inv,
290 bool compute_hessian =
true)
const;
300 bool compute_hessian =
true);
330 const
Eigen::Matrix<
double, 6, 1>& transform)
344 const Eigen::Vector3d& x_trans,
345 const Eigen::Matrix3d& c_inv)
const;
369 Eigen::Matrix<double, 6, 1>& step_dir,
374 Eigen::Matrix<double, 6, 1>& score_gradient,
375 Eigen::Matrix<double, 6, 6>& hessian,
450 double a,
double f_a,
double f_0,
double g_0,
double mu = 1.e-4)
const
452 return f_a - f_0 - mu * g_0 * a;
465 return g_a - mu * g_0;
517 #include <pcl/registration/impl/ndt.hpp>
Defines all the PCL and non-PCL macros used.
PointCloudTargetConstPtr target_
The input point cloud dataset target.
virtual void setInputTarget(const PointCloudTargetConstPtr &cloud)
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source t...
Registration represents the base registration class for general purpose, ICP-like methods.
PointCloudConstPtr input_
The input point cloud dataset.
const Leaf * LeafConstPtr
Const pointer to VoxelGridCovariance leaf structure.
void setLeafSize(const Eigen::Vector4f &leaf_size)
Set the voxel grid leaf size.
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
#define PCL_DEPRECATED(Major, Minor, Message)
macro for compatibility across compilers and help remove old deprecated items for the Major....
shared_ptr< const ::pcl::PointIndices > ConstPtr
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
shared_ptr< ::pcl::PointIndices > Ptr
void filter(PointCloud &output, bool searchable=false)
Filter cloud and initializes voxel structure.
int nr_iterations_
The number of iterations the internal optimization ran for (used internally).
void ignore(const T &...)
Utility function to eliminate unused variable warnings.
Defines functions, macros and traits for allocating and using memory.