Open3D (C++ API)  0.13.0
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Data Structures | Typedefs | Enumerations | Functions
open3d::t::pipelines::registration Namespace Reference

Data Structures

class  ICPConvergenceCriteria
 Class that defines the convergence criteria of ICP. More...
 
class  RegistrationResult
 
class  TransformationEstimation
 
class  TransformationEstimationPointToPlane
 
class  TransformationEstimationPointToPoint
 

Typedefs

typedef std::pair< core::Tensor, core::TensorCorrespondenceSet
 CorrespondenceSet: pair of 2x Int64 tensors of shape {C,}, where C is the number of good correspondences between source and target pointcloud. The first tensor is the source indices, and the second tensor is corresponding target indices. Such that, source[correspondence.first] and target[correspondence.second] is a correspondence pair. More...
 

Enumerations

enum  TransformationEstimationType { TransformationEstimationType::Unspecified = 0, TransformationEstimationType::PointToPoint = 1, TransformationEstimationType::PointToPlane = 2, TransformationEstimationType::ColoredICP = 3 }
 

Functions

RegistrationResult EvaluateRegistration (const geometry::PointCloud &source, const geometry::PointCloud &target, double max_correspondence_distance, const core::Tensor &transformation=core::Tensor::Eye( 4, core::Dtype::Float64, core::Device("CPU:0")))
 Function for evaluating registration between point clouds. More...
 
RegistrationResult RegistrationICP (const geometry::PointCloud &source, const geometry::PointCloud &target, double max_correspondence_distance, const core::Tensor &init_source_to_target=core::Tensor::Eye( 4, core::Dtype::Float64, core::Device("CPU:0")), const TransformationEstimation &estimation=TransformationEstimationPointToPoint(), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria())
 Functions for ICP registration. More...
 
RegistrationResult RegistrationMultiScaleICP (const geometry::PointCloud &source, const geometry::PointCloud &target, const std::vector< double > &voxel_sizes, const std::vector< ICPConvergenceCriteria > &criteria_list, const std::vector< double > &max_correspondence_distances, const core::Tensor &init_source_to_target=core::Tensor::Eye( 4, core::Dtype::Float64, core::Device("CPU:0")), const TransformationEstimation &estimation=TransformationEstimationPointToPoint())
 Functions for Multi-Scale ICP registration. It will run ICP on different voxel level, from coarse to dense. The vector of ICPConvergenceCriteria(relative fitness, relative rmse, max_iterations) contains the stoping condition for each voxel level. The length of voxel_sizes vector, criteria vector, max_correspondence_distances vector must be same, and voxel_sizes must contain positive values in strictly decreasing order [Lower the voxel size, higher is the resolution]. Only the last value of the voxel_sizes vector can be {-1}, as it allows to run on the original scale without downsampling. More...
 

Typedef Documentation

◆ CorrespondenceSet

CorrespondenceSet: pair of 2x Int64 tensors of shape {C,}, where C is the number of good correspondences between source and target pointcloud. The first tensor is the source indices, and the second tensor is corresponding target indices. Such that, source[correspondence.first] and target[correspondence.second] is a correspondence pair.

Enumeration Type Documentation

◆ TransformationEstimationType

Enumerator
Unspecified 
PointToPoint 
PointToPlane 
ColoredICP 

Function Documentation

◆ EvaluateRegistration()

RegistrationResult open3d::t::pipelines::registration::EvaluateRegistration ( const geometry::PointCloud source,
const geometry::PointCloud target,
double  max_correspondence_distance,
const core::Tensor transformation = core::Tensor::Eye( 4, core::Dtype::Float64core::Device("CPU:0")) 
)

Function for evaluating registration between point clouds.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
max_correspondence_distanceMaximum correspondence points-pair distance.
transformationThe 4x4 transformation matrix to transform source to target of dtype Float64 on CPU device.

◆ RegistrationICP()

RegistrationResult open3d::t::pipelines::registration::RegistrationICP ( const geometry::PointCloud source,
const geometry::PointCloud target,
double  max_correspondence_distance,
const core::Tensor init_source_to_target = core::Tensor::Eye( 4, core::Dtype::Float64core::Device("CPU:0")),
const TransformationEstimation estimation = TransformationEstimationPointToPoint(),
const ICPConvergenceCriteria criteria = ICPConvergenceCriteria() 
)

Functions for ICP registration.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
max_correspondence_distanceMaximum correspondence points-pair distance.
init_source_to_targetInitial transformation estimation of type Float64 on CPU.
estimationEstimation method.
criteriaConvergence criteria.

◆ RegistrationMultiScaleICP()

RegistrationResult open3d::t::pipelines::registration::RegistrationMultiScaleICP ( const geometry::PointCloud source,
const geometry::PointCloud target,
const std::vector< double > &  voxel_sizes,
const std::vector< ICPConvergenceCriteria > &  criteria_list,
const std::vector< double > &  max_correspondence_distances,
const core::Tensor init_source_to_target = core::Tensor::Eye( 4, core::Dtype::Float64core::Device("CPU:0")),
const TransformationEstimation estimation = TransformationEstimationPointToPoint() 
)

Functions for Multi-Scale ICP registration. It will run ICP on different voxel level, from coarse to dense. The vector of ICPConvergenceCriteria(relative fitness, relative rmse, max_iterations) contains the stoping condition for each voxel level. The length of voxel_sizes vector, criteria vector, max_correspondence_distances vector must be same, and voxel_sizes must contain positive values in strictly decreasing order [Lower the voxel size, higher is the resolution]. Only the last value of the voxel_sizes vector can be {-1}, as it allows to run on the original scale without downsampling.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
voxel_sizesVectorDouble of voxel scales of type double.
criteria_listVector of ICPConvergenceCriteria objects for each scale.
max_correspondence_distancesVectorDouble of maximum correspondence points-pair distances of type double, for each iteration. Must be of same length as voxel_sizes and criterias.
init_source_to_targetInitial transformation estimation of type Float64 on CPU.
estimationEstimation method.