Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
RGBDOdometryImpl.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2024 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8// Private header. Do not include in Open3d.h.
9#pragma once
10
11#include "open3d/core/Tensor.h"
12
13namespace open3d {
14namespace t {
15namespace pipelines {
16namespace kernel {
17namespace odometry {
18
20 const core::Tensor& source_vertex_map,
21 const core::Tensor& target_vertex_map,
22 const core::Tensor& source_normal_map,
23 const core::Tensor& intrinsics,
24 const core::Tensor& init_source_to_target,
25 core::Tensor& delta,
26 float& inlier_residual,
27 int& inlier_count,
28 const float depth_outlier_trunc,
29 const float depth_huber_delta);
30
32 const core::Tensor& source_depth,
33 const core::Tensor& target_depth,
34 const core::Tensor& source_intensity,
35 const core::Tensor& target_intensity,
36 const core::Tensor& target_intensity_dx,
37 const core::Tensor& target_intensity_dy,
38 const core::Tensor& source_vertex_map,
39 const core::Tensor& intrinsics,
40 const core::Tensor& init_source_to_target,
41 core::Tensor& delta,
42 float& inlier_residual,
43 int& inlier_count,
44 const float depth_outlier_trunc,
45 const float intensity_huber_delta);
46
47void ComputeOdometryResultHybridCPU(const core::Tensor& source_depth,
48 const core::Tensor& target_depth,
49 const core::Tensor& source_intensity,
50 const core::Tensor& target_intensity,
51 const core::Tensor& target_depth_dx,
52 const core::Tensor& target_depth_dy,
53 const core::Tensor& target_intensity_dx,
54 const core::Tensor& target_intensity_dy,
55 const core::Tensor& source_vertex_map,
56 const core::Tensor& intrinsics,
57 const core::Tensor& init_source_to_target,
58 core::Tensor& delta,
59 float& inlier_residual,
60 int& inlier_count,
61 float depth_outlier_trunc,
62 const float depth_huber_delta,
63 const float intensity_huber_delta);
64
65void ComputeOdometryInformationMatrixCPU(const core::Tensor& source_depth,
66 const core::Tensor& target_depth,
67 const core::Tensor& intrinsic,
68 const core::Tensor& source_to_target,
69 const float depth_outlier_trunc,
70 core::Tensor& information);
71
72#ifdef BUILD_CUDA_MODULE
73
74void ComputeOdometryResultPointToPlaneCUDA(
75 const core::Tensor& source_vertex_map,
76 const core::Tensor& target_vertex_map,
77 const core::Tensor& source_normal_map,
78 const core::Tensor& intrinsics,
79 const core::Tensor& init_source_to_target,
80 core::Tensor& delta,
81 float& inlier_residual,
82 int& inlier_count,
83 const float depth_outlier_trunc,
84 const float depth_huber_delta);
85
86void ComputeOdometryResultIntensityCUDA(
87 const core::Tensor& source_depth,
88 const core::Tensor& target_depth,
89 const core::Tensor& source_intensity,
90 const core::Tensor& target_intensity,
91 const core::Tensor& target_intensity_dx,
92 const core::Tensor& target_intensity_dy,
93 const core::Tensor& source_vertex_map,
94 const core::Tensor& intrinsics,
95 const core::Tensor& init_source_to_target,
96 core::Tensor& delta,
97 float& inlier_residual,
98 int& inlier_count,
99 const float depth_outlier_trunc,
100 const float intensity_huber_delta);
101
102void ComputeOdometryResultHybridCUDA(const core::Tensor& source_depth,
103 const core::Tensor& target_depth,
104 const core::Tensor& source_intensity,
105 const core::Tensor& target_intensity,
106 const core::Tensor& target_depth_dx,
107 const core::Tensor& target_depth_dy,
108 const core::Tensor& target_intensity_dx,
109 const core::Tensor& target_intensity_dy,
110 const core::Tensor& source_vertex_map,
111 const core::Tensor& intrinsics,
112 const core::Tensor& init_source_to_target,
113 core::Tensor& delta,
114 float& inlier_residual,
115 int& inlier_count,
116 const float depth_outlier_trunc,
117 const float depth_huber_delta,
118 const float intensity_huber_delta);
119
120void ComputeOdometryInformationMatrixCUDA(const core::Tensor& source_depth,
121 const core::Tensor& target_depth,
122 const core::Tensor& intrinsic,
123 const core::Tensor& source_to_target,
124 const float square_dist_thr,
125 core::Tensor& information);
126#endif
127
128#ifdef BUILD_SYCL_MODULE
130 const core::Tensor& source_vertex_map,
131 const core::Tensor& target_vertex_map,
132 const core::Tensor& target_normal_map,
133 const core::Tensor& intrinsics,
134 const core::Tensor& init_source_to_target,
135 core::Tensor& delta,
136 float& inlier_residual,
137 int& inlier_count,
138 const float depth_outlier_trunc,
139 const float depth_huber_delta);
140
142 const core::Tensor& source_depth,
143 const core::Tensor& target_depth,
144 const core::Tensor& source_intensity,
145 const core::Tensor& target_intensity,
146 const core::Tensor& target_intensity_dx,
147 const core::Tensor& target_intensity_dy,
148 const core::Tensor& source_vertex_map,
149 const core::Tensor& intrinsics,
150 const core::Tensor& init_source_to_target,
151 core::Tensor& delta,
152 float& inlier_residual,
153 int& inlier_count,
154 const float depth_outlier_trunc,
155 const float intensity_huber_delta);
156
157void ComputeOdometryResultHybridSYCL(const core::Tensor& source_depth,
158 const core::Tensor& target_depth,
159 const core::Tensor& source_intensity,
160 const core::Tensor& target_intensity,
161 const core::Tensor& target_depth_dx,
162 const core::Tensor& target_depth_dy,
163 const core::Tensor& target_intensity_dx,
164 const core::Tensor& target_intensity_dy,
165 const core::Tensor& source_vertex_map,
166 const core::Tensor& intrinsics,
167 const core::Tensor& init_source_to_target,
168 core::Tensor& delta,
169 float& inlier_residual,
170 int& inlier_count,
171 const float depth_outlier_trunc,
172 const float depth_huber_delta,
173 const float intensity_huber_delta);
174
175void ComputeOdometryInformationMatrixSYCL(const core::Tensor& source_depth,
176 const core::Tensor& target_depth,
177 const core::Tensor& intrinsic,
178 const core::Tensor& source_to_target,
179 const float square_dist_thr,
180 core::Tensor& information);
181#endif
182
183} // namespace odometry
184} // namespace kernel
185} // namespace pipelines
186} // namespace t
187} // namespace open3d
double t
Definition SurfaceReconstructionPoisson.cpp:172
void ComputeOdometryResultHybridSYCL(const core::Tensor &source_depth, const core::Tensor &target_depth, const core::Tensor &source_intensity, const core::Tensor &target_intensity, const core::Tensor &target_depth_dx, const core::Tensor &target_depth_dy, const core::Tensor &target_intensity_dx, const core::Tensor &target_intensity_dy, const core::Tensor &source_vertex_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, core::Tensor &delta, float &inlier_residual, int &inlier_count, const float depth_outlier_trunc, const float depth_huber_delta, const float intensity_huber_delta)
Definition RGBDOdometrySYCL.cpp:170
void ComputeOdometryResultPointToPlaneSYCL(const core::Tensor &source_vertex_map, const core::Tensor &target_vertex_map, const core::Tensor &target_normal_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, core::Tensor &delta, float &inlier_residual, int &inlier_count, const float depth_outlier_trunc, const float depth_huber_delta)
Definition RGBDOdometrySYCL.cpp:36
void ComputeOdometryResultHybridCPU(const core::Tensor &source_depth, const core::Tensor &target_depth, const core::Tensor &source_intensity, const core::Tensor &target_intensity, const core::Tensor &target_depth_dx, const core::Tensor &target_depth_dy, const core::Tensor &target_intensity_dx, const core::Tensor &target_intensity_dy, const core::Tensor &source_vertex_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, core::Tensor &delta, float &inlier_residual, int &inlier_count, const float depth_outlier_trunc, const float depth_huber_delta, const float intensity_huber_delta)
Definition RGBDOdometryCPU.cpp:207
void ComputeOdometryResultPointToPlaneCPU(const core::Tensor &source_vertex_map, const core::Tensor &target_vertex_map, const core::Tensor &target_normal_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, core::Tensor &delta, float &inlier_residual, int &inlier_count, const float depth_outlier_trunc, const float depth_huber_delta)
Definition RGBDOdometryCPU.cpp:315
void ComputeOdometryInformationMatrixSYCL(const core::Tensor &source_vertex_map, const core::Tensor &target_vertex_map, const core::Tensor &intrinsic, const core::Tensor &source_to_target, const float square_dist_thr, core::Tensor &information)
Definition RGBDOdometrySYCL.cpp:250
void ComputeOdometryInformationMatrixCPU(const core::Tensor &source_vertex_map, const core::Tensor &target_vertex_map, const core::Tensor &intrinsic, const core::Tensor &source_to_target, const float square_dist_thr, core::Tensor &information)
Definition RGBDOdometryCPU.cpp:26
void ComputeOdometryResultIntensityCPU(const core::Tensor &source_depth, const core::Tensor &target_depth, const core::Tensor &source_intensity, const core::Tensor &target_intensity, const core::Tensor &target_intensity_dx, const core::Tensor &target_intensity_dy, const core::Tensor &source_vertex_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, core::Tensor &delta, float &inlier_residual, int &inlier_count, const float depth_outlier_trunc, const float intensity_huber_delta)
Definition RGBDOdometryCPU.cpp:110
void ComputeOdometryResultIntensitySYCL(const core::Tensor &source_depth, const core::Tensor &target_depth, const core::Tensor &source_intensity, const core::Tensor &target_intensity, const core::Tensor &target_intensity_dx, const core::Tensor &target_intensity_dy, const core::Tensor &source_vertex_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, core::Tensor &delta, float &inlier_residual, int &inlier_count, const float depth_outlier_trunc, const float intensity_huber_delta)
Definition RGBDOdometrySYCL.cpp:97
Definition PinholeCameraIntrinsic.cpp:16