![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include "cloudViewer/t/pipelines/registration/Registration.h"#include <Helper.h>#include <Logging.h>#include "cloudViewer/core/Tensor.h"#include "cloudViewer/core/TensorCheck.h"#include "cloudViewer/core/TensorFunction.h"#include "cloudViewer/core/nns/NearestNeighborSearch.h"#include "cloudViewer/t/geometry/PointCloud.h"#include "cloudViewer/t/pipelines/kernel/Registration.h"
Go to the source code of this file.
Namespaces | |
| cloudViewer | |
| Generic file read and write utility for python interface. | |
| cloudViewer::t | |
| cloudViewer::t::pipelines | |
| cloudViewer::t::pipelines::registration | |
Functions | |
| static RegistrationResult | cloudViewer::t::pipelines::registration::ComputeRegistrationResult (const geometry::PointCloud &source, const core::nns::NearestNeighborSearch &target_nns, const double max_correspondence_distance, const core::Tensor &transformation) |
| RegistrationResult | cloudViewer::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::Float64, core::Device("CPU:0"))) |
| Function for evaluating registration between point clouds. More... | |
| RegistrationResult | cloudViewer::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::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... | |
| static void | cloudViewer::t::pipelines::registration::AssertInputMultiScaleICP (const geometry::PointCloud &source, const geometry::PointCloud &target, const std::vector< double > &voxel_sizes, const std::vector< ICPConvergenceCriteria > &criterias, const std::vector< double > &max_correspondence_distances, const core::Tensor &init_source_to_target, const TransformationEstimation &estimation, const int64_t &num_iterations, const core::Device &device, const core::Dtype &dtype) |
| static std::tuple< std::vector< t::geometry::PointCloud >, std::vector< t::geometry::PointCloud > > | cloudViewer::t::pipelines::registration::InitializePointCloudPyramidForMultiScaleICP (const geometry::PointCloud &source, const geometry::PointCloud &target, const std::vector< double > &voxel_sizes, const double &max_correspondence_distance, const TransformationEstimation &estimation, const int64_t &num_iterations) |
| static std::tuple< RegistrationResult, int > | cloudViewer::t::pipelines::registration::DoSingleScaleICPIterations (geometry::PointCloud &source, const geometry::PointCloud &target, const core::nns::NearestNeighborSearch &target_nns, const ICPConvergenceCriteria &criteria, const double max_correspondence_distance, const TransformationEstimation &estimation, const int scale_idx, const int prev_iteration_count, const core::Device &device, const core::Dtype &dtype, const RegistrationResult ¤t_result, const std::function< void(std::unordered_map< std::string, core::Tensor > &)> &callback_after_iteration) |
| RegistrationResult | cloudViewer::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. More... | |
| core::Tensor | cloudViewer::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. More... | |