Open3D (C++ API)  0.15.1
RGBDOdometry.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// The MIT License (MIT)
5//
6// Copyright (c) 2018-2021 www.open3d.org
7//
8// Permission is hereby granted, free of charge, to any person obtaining a copy
9// of this software and associated documentation files (the "Software"), to deal
10// in the Software without restriction, including without limitation the rights
11// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12// copies of the Software, and to permit persons to whom the Software is
13// furnished to do so, subject to the following conditions:
14//
15// The above copyright notice and this permission notice shall be included in
16// all copies or substantial portions of the Software.
17//
18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24// IN THE SOFTWARE.
25// ----------------------------------------------------------------------------
26
27#pragma once
28
29#include "open3d/core/Tensor.h"
30
31namespace open3d {
32namespace t {
33namespace pipelines {
34namespace kernel {
35namespace odometry {
36
38 const core::Tensor &source_vertex_map,
39 const core::Tensor &target_vertex_map,
40 const core::Tensor &target_normal_map,
41 const core::Tensor &intrinsics,
42 const core::Tensor &init_source_to_target,
43 core::Tensor &delta,
44 float &inlier_residual,
45 int &inlier_count,
46 const float depth_outlier_trunc,
47 const float depth_huber_delta);
48
49void ComputeOdometryResultIntensity(const core::Tensor &source_depth,
50 const core::Tensor &target_depth,
51 const core::Tensor &source_intensity,
52 const core::Tensor &target_intensity,
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 const float depth_outlier_trunc,
62 const float intensity_huber_delta);
63
64void ComputeOdometryResultHybrid(const core::Tensor &source_depth,
65 const core::Tensor &target_depth,
66 const core::Tensor &source_intensity,
67 const core::Tensor &target_intensity,
68 const core::Tensor &target_depth_dx,
69 const core::Tensor &target_depth_dy,
70 const core::Tensor &target_intensity_dx,
71 const core::Tensor &target_intensity_dy,
72 const core::Tensor &source_vertex_map,
73 const core::Tensor &intrinsics,
74 const core::Tensor &init_source_to_target,
75 core::Tensor &delta,
76 float &inlier_residual,
77 int &inlier_count,
78 const float depth_outlier_trunc,
79 const float depth_huber_delta,
80 const float intensity_huber_delta);
81
82} // namespace odometry
83} // namespace kernel
84} // namespace pipelines
85} // namespace t
86} // namespace open3d
void ComputeOdometryResultIntensity(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: RGBDOdometry.cpp:84
void ComputeOdometryResultPointToPlane(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: RGBDOdometry.cpp:38
void ComputeOdometryResultHybrid(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: RGBDOdometry.cpp:143
Definition: PinholeCameraIntrinsic.cpp:35