Loading [MathJax]/jax/output/HTML-CSS/config.js
Open3D (C++ API)  0.14.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Data Structures | Enumerations | Functions
open3d::t::pipelines::registration Namespace Reference

Data Structures

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

Enumerations

enum  RobustKernelMethod {
  RobustKernelMethod::L2Loss = 0, RobustKernelMethod::L1Loss = 1, RobustKernelMethod::HuberLoss = 2, RobustKernelMethod::CauchyLoss = 3,
  RobustKernelMethod::GMLoss = 4, RobustKernelMethod::TukeyLoss = 5, RobustKernelMethod::GeneralizedLoss = 6
}
 
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::Float64, core::Device("CPU:0")))
 Function for evaluating registration between point clouds. More...
 
RegistrationResult ICP (const geometry::PointCloud &source, const geometry::PointCloud &target, const double max_correspondence_distance, const core::Tensor &init_source_to_target=core::Tensor::Eye(4, core::Float64, core::Device("CPU:0")), const TransformationEstimation &estimation=TransformationEstimationPointToPoint(), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria(), const double voxel_size=-1.0, const bool save_loss_log=false)
 Functions for ICP registration. More...
 
RegistrationResult MultiScaleICP (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::Float64, core::Device("CPU:0")), const TransformationEstimation &estimation=TransformationEstimationPointToPoint(), const bool save_loss_log=false)
 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...
 
core::Tensor GetInformationMatrix (const geometry::PointCloud &source, const geometry::PointCloud &target, const double max_correspondence_distance, const core::Tensor &transformation)
 Computes Information Matrix, from the transfromation between source and target pointcloud. It returns the Information Matrix of shape {6, 6}, of dtype Float64 on device CPU:0. More...
 

Enumeration Type Documentation

◆ RobustKernelMethod

Enumerator
L2Loss 
L1Loss 
HuberLoss 
CauchyLoss 
GMLoss 
TukeyLoss 
GeneralizedLoss 

◆ 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::Float64core::Device("CPU:0")) 
)

Function for evaluating registration between point clouds.

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

◆ GetInformationMatrix()

core::Tensor open3d::t::pipelines::registration::GetInformationMatrix ( const geometry::PointCloud source,
const geometry::PointCloud target,
const double  max_correspondence_distance,
const core::Tensor transformation 
)

Computes Information Matrix, from the transfromation between source and target pointcloud. It returns the Information Matrix of shape {6, 6}, of dtype Float64 on device CPU:0.

Parameters
sourceThe source point cloud. (Float32 or Float64 type).
targetThe target point cloud. (Float32 or Float64 type).
max_correspondence_distanceMaximum correspondence points-pair distance.
transformationThe 4x4 transformation matrix to transform source to target.

◆ ICP()

RegistrationResult open3d::t::pipelines::registration::ICP ( const geometry::PointCloud source,
const geometry::PointCloud target,
const double  max_correspondence_distance,
const core::Tensor init_source_to_target = core::Tensor::Eye(4, core::Float64core::Device("CPU:0")),
const TransformationEstimation estimation = TransformationEstimationPointToPoint(),
const ICPConvergenceCriteria criteria = ICPConvergenceCriteria(),
const double  voxel_size = -1.0,
const bool  save_loss_log = false 
)

Functions for ICP registration.

Parameters
sourceThe source point cloud. (Float32 or Float64 type).
targetThe target point cloud. (Float32 or Float64 type).
max_correspondence_distanceMaximum correspondence points-pair distance.
init_source_to_targetInitial transformation estimation of type Float64 on CPU.
estimationEstimation method.
criteriaConvergence criteria.
voxel_sizeThe 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 origianl scale of the point-cloud will be used.
save_loss_logWhen True, it saves the iteration-wise values of fitness, inlier_rmse, transformation, scale, iteration in a TensorMap loss_log_ in RegsitrationResult. Default: False.

◆ MultiScaleICP()

RegistrationResult open3d::t::pipelines::registration::MultiScaleICP ( 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::Float64core::Device("CPU:0")),
const TransformationEstimation estimation = TransformationEstimationPointToPoint(),
const bool  save_loss_log = false 
)

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. (Float32 or Float64 type).
targetThe target point cloud. (Float32 or Float64 type).
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.
save_loss_logWhen True, it saves the iteration-wise values of fitness, inlier_rmse, transformation, scale, iteration in a TensorMap loss_log_ in RegsitrationResult. Default: False.