|
core::Tensor | ComputeFPFHFeature (const geometry::PointCloud &input, const utility::optional< int > max_nn, const utility::optional< double > radius) |
|
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 std::function< void(const std::unordered_map< std::string, core::Tensor > &)> &callback_after_iteration=nullptr) |
| 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 std::function< void(const std::unordered_map< std::string, core::Tensor > &)> &callback_after_iteration=nullptr) |
| 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 stopping 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 transformation between source and target pointcloud. It returns the Information Matrix of shape {6, 6}, of dtype Float64 on device CPU:0 . More...
|
|
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::Float64, core::Device("CPU:0")) , |
|
|
const TransformationEstimation & |
estimation = TransformationEstimationPointToPoint() , |
|
|
const std::function< void(const std::unordered_map< std::string, core::Tensor > &)> & |
callback_after_iteration = nullptr |
|
) |
| |
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 stopping 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
-
source | The source point cloud. (Float32 or Float64 type). |
target | The target point cloud. (Float32 or Float64 type). |
voxel_sizes | VectorDouble of voxel scales of type double. |
criteria_list | Vector of ICPConvergenceCriteria objects for each scale. |
max_correspondence_distances | VectorDouble 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_target | Initial transformation estimation of type Float64 on CPU. |
estimation | Estimation method. |
callback_after_iteration | 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. |