Monado OpenXR Runtime
hg_debug_instrumentation.hpp
Go to the documentation of this file.
1// Copyright 2023, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Debug instrumentation for mercury_train or others to control hand tracking.
6 * @author Moshi Turner <moshiturner@protonmail.com>
7 * @ingroup tracking
8 */
9
10#pragma once
11
12#include "hg_interface.h"
13
14#include "util/u_var.h"
15
16
17#ifdef __cplusplus
18namespace xrt::tracking::hand::mercury {
19extern "C" {
20#endif
21
23{
24 bool new_user_event = false;
25 struct u_var_draggable_f32 after_detection_fac;
26 struct u_var_draggable_f32 dyn_radii_fac;
27 struct u_var_draggable_f32 dyn_joint_y_angle_error;
28 struct u_var_draggable_f32 amount_to_lerp_prediction;
29 struct u_var_draggable_f32 amt_use_depth;
30 struct u_var_draggable_f32 mpiou_any;
31 struct u_var_draggable_f32 mpiou_single_detection;
32 struct u_var_draggable_f32 mpiou_double_detection;
33 struct u_var_draggable_f32 max_reprojection_error;
34 struct u_var_draggable_f32 opt_smooth_factor;
35 struct u_var_draggable_f32 max_hand_dist;
36 struct u_var_draggable_f32 min_detection_confidence;
37 bool scribble_predictions_into_next_frame = false;
38 bool scribble_keypoint_model_outputs = false;
39 bool scribble_optimizer_outputs = true;
40 bool always_run_detection_model = false;
41 bool optimize_hand_size = true;
42 int max_num_outside_view = 6;
43 size_t num_frames_before_display = 10;
44 bool enable_pose_predicted_input = true;
45 bool enable_framerate_based_smoothing = false;
46
47 // Stuff that's only really useful for dataset playback:
48 bool detection_model_in_both_views = false;
49};
50
51struct hg_tuneable_values *
52t_hand_tracking_sync_mercury_get_tuneable_values_pointer(struct t_hand_tracking_sync *ht_sync);
53
54#ifdef __cplusplus
55}
56} // namespace xrt::tracking::hand::mercury
57#endif
Public interface of Mercury hand tracking.
Definition: hg_debug_instrumentation.hpp:23
Synchronously processes frames and returns two hands.
Definition: t_hand_tracking.h:120
Draggable single precision float information.
Definition: u_var.h:120
Variable tracking code.