Function ouster::sdk::algorithm::point_to_point_align

Function Documentation

core::Matrix4dR ouster::sdk::algorithm::point_to_point_align(Eigen::Ref<const core::ArrayX3dR> source_points, Eigen::Ref<const core::ArrayX3dR> target_points, const core::Matrix4dR &initial_guess = core::Matrix4dR::Identity(), double max_corr_dist = 0.25)

Align two point clouds using point-to-point ICP.

Returns source_to_target_transform: source_points are transformed by the returned pose and target_points stay fixed as the reference cloud.

Iteratively matches each transformed source point to its nearest target point within max_corr_dist and estimates a rigid transform using robust Huber weighting. Non-finite points are ignored.

Parameters:
  • source_points[in] Source points transformed by the returned pose as N x 3 XYZ rows.

  • target_points[in] Reference target points as M x 3 XYZ rows.

  • initial_guess[in] Initial estimate of source_to_target_transform.

  • max_corr_dist[in] Maximum correspondence distance in meters. Must be finite and greater than zero.

Throws:

std::invalid_argument – If max_corr_dist is not finite and positive.

Returns:

Estimated source_to_target_transform. Returns initial_guess if there are fewer than 20 usable points or correspondences.