open3d.t.pipelines.registration.icp#

open3d.t.pipelines.registration.icp(source, target, max_correspondence_distance, init_source_to_target=[[1 0 0 0], [0 1 0 0], [0 0 1 0], [0 0 0 1]] Tensor[shape={4, 4}, stride={4, 1}, Float64, , estimation_method=TransformationEstimationPointToPoint, criteria=ICPConvergenceCriteria[relative_fitness_=1.000000e-06, relative_rmse=1.000000e-06, max_iteration_=30]., voxel_size=-1.0, callback_after_iteration=None)#

Function for ICP registration

Parameters:
  • source (open3d.t.geometry.PointCloud) – The source point cloud.

  • target (open3d.t.geometry.PointCloud) – The target point cloud.

  • max_correspondence_distance (float) – Maximum correspondence points-pair distance.

  • init_source_to_target (open3d.core.Tensor, optional, default=[[1 0 0 0], [0 1 0 0], [0 0 1 0], [0 0 0 1]] Tensor[shape={4, 4}, stride={4, 1}, Float64) – Initial transformation estimation ()

  • estimation_method (open3d.t.pipelines.registration.TransformationEstimation, optional, default=TransformationEstimationPointToPoint) – Estimation method. One of (TransformationEstimationPointToPoint, TransformationEstimationPointToPlane, TransformationEstimationForColoredICP, TransformationEstimationForGeneralizedICP)

  • criteria (open3d.t.pipelines.registration.ICPConvergenceCriteria, optional, default=ICPConvergenceCriteria[relative_fitness_=1.000000e-06, relative_rmse=1.000000e-06, max_iteration_=30].) – Convergence criteria

  • voxel_size (float, optional, default=-1.0) – The input pointclouds will be down-sampled to this voxel_size scale. If voxel_size < 0, original scale will be used. However it is highly recommended to down-sample the point-cloud for performance. By default original scale of the point-cloud will be used.

  • callback_after_iteration (Callable[[dict[str, open3d.core.Tensor]], None], optional, default=None) – Optional lambda function, saves string to tensor map of attributes such as iteration_index, scale_index, scale_iteration_index, inlier_rmse, fitness, transformation, on CPU device, updated after each iteration.

Returns:

open3d.t.pipelines.registration.RegistrationResult