|
Monado OpenXR Runtime
|
Ab-initio blob<->LED correspondence search. More...

Go to the source code of this file.
Data Structures | |
| struct | cs_image_point |
| struct | cs_model_info |
| struct | correspondence_search |
Macros | |
| #define | MAX_BLOB_SEARCH_DEPTH 5 |
| #define | ANCHOR_LED_MAX_DISTANCE_M_SQ (0.025 * 0.025) |
| Lambdatwist can sometimes have spurious failures, the anchor LED must be within 2.5mm to be accepted. | |
Enumerations | |
| enum | correspondence_search_flags { CS_FLAG_NONE = 0x0 , CS_FLAG_SHALLOW_SEARCH = 0x1 , CS_FLAG_DEEP_SEARCH = 0x2 , CS_FLAG_STOP_FOR_STRONG_MATCH = 0x4 , CS_FLAG_MATCH_ALL_BLOBS = 0x8 , CS_FLAG_HAVE_POSE_PRIOR = 0x10 , CS_FLAG_MATCH_GRAVITY = 0x20 } |
Functions | |
| struct correspondence_search * | correspondence_search_new (const enum u_logging_level *ct_log_level, struct camera_model *camera_calib) |
| void | correspondence_search_free (struct correspondence_search *cs) |
| void | correspondence_search_set_blobs (struct correspondence_search *cs, struct t_blob *blobs, int num_blobs) |
| bool | correspondence_search_find_one_pose (struct correspondence_search *cs, const struct t_constellation_search_model *model, enum correspondence_search_flags search_flags, struct xrt_pose *inout_pose, const struct xrt_vec3 *pos_error_thresh, const struct xrt_vec3 *rot_error_thresh, const struct xrt_vec3 *gravity_vector, float gravity_tolerance_rad, struct pose_metrics *out_score) |
| Does a brute-force search for a device's pose. | |
Ab-initio blob<->LED correspondence search.
| #define ANCHOR_LED_MAX_DISTANCE_M_SQ (0.025 * 0.025) |
Lambdatwist can sometimes have spurious failures, the anchor LED must be within 2.5mm to be accepted.
| bool correspondence_search_find_one_pose | ( | struct correspondence_search * | cs, |
| const struct t_constellation_search_model * | model, | ||
| enum correspondence_search_flags | search_flags, | ||
| struct xrt_pose * | inout_pose, | ||
| const struct xrt_vec3 * | pos_error_thresh, | ||
| const struct xrt_vec3 * | rot_error_thresh, | ||
| const struct xrt_vec3 * | gravity_vector, | ||
| float | gravity_tolerance_rad, | ||
| struct pose_metrics * | out_score | ||
| ) |
Does a brute-force search for a device's pose.
pose and score parameters are only written on success. References CS_FLAG_DEEP_SEARCH, CS_FLAG_HAVE_POSE_PRIOR, CS_FLAG_MATCH_GRAVITY, CS_FLAG_SHALLOW_SEARCH, xrt_quat::math_quat_decompose_swing_twist(), os_monotonic_get_ns(), and POSE_MATCH_GOOD.