ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Registration.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
13 
14 namespace cloudViewer {
15 namespace t {
16 namespace pipelines {
17 namespace kernel {
18 
33 core::Tensor ComputePosePointToPlane(const core::Tensor &source_positions,
34  const core::Tensor &target_positions,
35  const core::Tensor &target_normals,
36  const core::Tensor &correspondence_indices,
37  const registration::RobustKernel &kernel);
38 
61 core::Tensor ComputePoseColoredICP(const core::Tensor &source_positions,
62  const core::Tensor &source_colors,
63  const core::Tensor &target_positions,
64  const core::Tensor &target_normals,
65  const core::Tensor &target_colors,
66  const core::Tensor &target_color_gradients,
67  const core::Tensor &correspondence_indices,
68  const registration::RobustKernel &kernel,
69  const double &lambda_geometric);
70 
107 core::Tensor ComputePoseDopplerICP(
108  const core::Tensor &source_points,
109  const core::Tensor &source_dopplers,
110  const core::Tensor &source_directions,
111  const core::Tensor &target_points,
112  const core::Tensor &target_normals,
113  const core::Tensor &correspondence_indices,
114  const core::Tensor &current_transform,
115  const core::Tensor &transform_vehicle_to_sensor,
116  const std::size_t iteration,
117  const double period,
118  const double lambda_doppler,
119  const bool reject_dynamic_outliers,
120  const double doppler_outlier_threshold,
121  const std::size_t outlier_rejection_min_iteration,
122  const std::size_t geometric_robust_loss_min_iteration,
123  const std::size_t doppler_robust_loss_min_iteration,
124  const registration::RobustKernel &geometric_kernel,
125  const registration::RobustKernel &doppler_kernel);
126 
138 std::tuple<core::Tensor, core::Tensor> ComputeRtPointToPoint(
139  const core::Tensor &source_positions,
140  const core::Tensor &target_positions,
141  const core::Tensor &correspondence_indices);
142 
153 core::Tensor ComputeInformationMatrix(
154  const core::Tensor &target_positions,
155  const core::Tensor &correspondence_indices);
156 
157 } // namespace kernel
158 } // namespace pipelines
159 } // namespace t
160 } // namespace cloudViewer
core::Tensor ComputePoseDopplerICP(const core::Tensor &source_points, const core::Tensor &source_dopplers, const core::Tensor &source_directions, const core::Tensor &target_points, const core::Tensor &target_normals, const core::Tensor &correspondence_indices, const core::Tensor &current_transform, const core::Tensor &transform_vehicle_to_sensor, const std::size_t iteration, const double period, const double lambda_doppler, const bool reject_dynamic_outliers, const double doppler_outlier_threshold, const std::size_t outlier_rejection_min_iteration, const std::size_t geometric_robust_loss_min_iteration, const std::size_t doppler_robust_loss_min_iteration, const registration::RobustKernel &geometric_kernel, const registration::RobustKernel &doppler_kernel)
Computes pose for DopplerICP registration method.
std::tuple< core::Tensor, core::Tensor > ComputeRtPointToPoint(const core::Tensor &source_points, const core::Tensor &target_points, const core::Tensor &correspondence_indices)
Computes (R) Rotation {3,3} and (t) translation {3,} for point to point registration method.
core::Tensor ComputePosePointToPlane(const core::Tensor &source_points, const core::Tensor &target_points, const core::Tensor &target_normals, const core::Tensor &correspondence_indices, const registration::RobustKernel &kernel)
Computes pose for point to plane registration method.
core::Tensor ComputeInformationMatrix(const core::Tensor &target_points, const core::Tensor &correspondence_indices)
Computes Information Matrix of shape {6, 6}, of dtype Float64 on device CPU:0, from the target point ...
core::Tensor ComputePoseColoredICP(const core::Tensor &source_points, const core::Tensor &source_colors, const core::Tensor &target_points, const core::Tensor &target_normals, const core::Tensor &target_colors, const core::Tensor &target_color_gradients, const core::Tensor &correspondence_indices, const registration::RobustKernel &kernel, const double &lambda_geometric)
Computes pose for colored-icp registration method.
Generic file read and write utility for python interface.