Monado OpenXR Runtime
t_tracking.h File Reference

Tracking API interface. More...

#include "util/u_logging.h"
#include "xrt/xrt_defines.h"
#include "xrt/xrt_frame.h"
#include "xrt/xrt_tracking.h"
#include "util/u_misc.h"
#include <stdio.h>
Include dependency graph for t_tracking.h:

Go to the source code of this file.

Data Structures

struct  t_camera_calibration_rt5_params
 Parameters for T_DISTORTION_OPENCV_RADTAN_5. More...
 
struct  t_camera_calibration_rt8_params
 Parameters for T_DISTORTION_OPENCV_RADTAN_8. More...
 
struct  t_camera_calibration_rt14_params
 Parameters for T_DISTORTION_OPENCV_RADTAN_14. More...
 
struct  t_camera_calibration_kb4_params
 Parameters for T_DISTORTION_FISHEYE_KB4. More...
 
struct  t_camera_calibration_wmr_params
 Parameters for T_DISTORTION_WMR. More...
 
struct  t_camera_calibration
 Essential calibration data for a single camera, or single lens/sensor of a stereo camera. More...
 
struct  t_stereo_camera_calibration
 Stereo camera calibration data to be given to trackers. More...
 
struct  t_inertial_calibration
 Parameters for accelerometer and gyroscope calibration. More...
 
struct  t_imu_calibration
 Combined IMU calibration data. More...
 
struct  t_convert_table
 
struct  t_hsv_filter_color
 
struct  t_hsv_filter_params
 Parameters for constructing an HSV filter. More...
 
struct  t_hsv_filter_large_table
 
struct  t_hsv_filter_optimized_table
 
struct  t_slam_camera_calibration
 Extension to camera calibration for SLAM tracking. More...
 
struct  t_slam_imu_calibration
 Extension to IMU calibration for SLAM tracking. More...
 
struct  t_slam_calibration
 Calibration information necessary for SLAM tracking. More...
 
struct  t_slam_tracker_config
 SLAM tracker configuration. More...
 
struct  t_calibration_status
 
struct  t_calibration_params
 

Macros

#define XRT_DISTORTION_MAX_DIM   (14)
 Maximum size of rectilinear distortion coefficient array. More...
 
#define T_HSV_SIZE   32
 
#define T_HSV_STEP   (256 / T_HSV_SIZE)
 
#define T_HSV_DEFAULT_PARAMS()
 

Typedefs

typedef struct cJSON cJSON
 

Enumerations

enum  t_camera_distortion_model {
  T_DISTORTION_OPENCV_RADTAN_5 , T_DISTORTION_OPENCV_RADTAN_8 , T_DISTORTION_OPENCV_RADTAN_14 , T_DISTORTION_FISHEYE_KB4 ,
  T_DISTORTION_WMR
}
 The distortion model this camera calibration falls under. More...
 
enum  t_slam_prediction_type {
  SLAM_PRED_NONE = 0 , SLAM_PRED_SP_SO_SA_SL , SLAM_PRED_SP_SO_IA_SL , SLAM_PRED_SP_SO_IA_IL ,
  SLAM_PRED_IP_IO_IA_IL , SLAM_PRED_COUNT
}
 SLAM prediction type. More...
 
enum  t_board_pattern { T_BOARD_CHECKERS , T_BOARD_SB_CHECKERS , T_BOARD_CIRCLES , T_BOARD_ASYMMETRIC_CIRCLES }
 Board pattern type. More...
 

Functions

static const char * t_stringify_camera_distortion_model (const enum t_camera_distortion_model model)
 Stringifies a t_camera_distortion_model. More...
 
static size_t t_num_params_from_distortion_model (const enum t_camera_distortion_model model)
 Returns the number of parameters needed for this t_camera_distortion_model to be held by an OpenCV Mat and correctly interpreted by OpenCV's (un)projection functions. More...
 
void t_convert_fill_table (struct t_convert_table *t)
 
void t_convert_make_y8u8v8_to_r8g8b8 (struct t_convert_table *t)
 
void t_convert_make_y8u8v8_to_h8s8v8 (struct t_convert_table *t)
 
void t_convert_make_h8s8v8_to_r8g8b8 (struct t_convert_table *t)
 
void t_convert_in_place_y8u8v8_to_r8g8b8 (uint32_t width, uint32_t height, size_t stride, void *data_ptr)
 
void t_convert_in_place_y8u8v8_to_h8s8v8 (uint32_t width, uint32_t height, size_t stride, void *data_ptr)
 
void t_convert_in_place_h8s8v8_to_r8g8b8 (uint32_t width, uint32_t height, size_t stride, void *data_ptr)
 
void t_hsv_build_convert_table (struct t_hsv_filter_params *params, struct t_convert_table *t)
 
void t_hsv_build_large_table (struct t_hsv_filter_params *params, struct t_hsv_filter_large_table *t)
 
void t_hsv_build_optimized_table (struct t_hsv_filter_params *params, struct t_hsv_filter_optimized_table *t)
 
static uint8_t t_hsv_filter_sample (struct t_hsv_filter_optimized_table *t, uint32_t y, uint32_t u, uint32_t v)
 
void t_slam_fill_default_config (struct t_slam_tracker_config *config)
 Fills in a t_slam_tracker_config with default values. More...
 
void t_calibration_gui_params_load_or_default (struct t_calibration_params *p)
 
void t_calibration_gui_params_to_json (cJSON **out_json, struct t_calibration_params *p)
 
void t_calibration_gui_params_parse_from_json (const cJSON *params, struct t_calibration_params *p)
 
int t_calibration_stereo_create (struct xrt_frame_context *xfctx, const struct t_calibration_params *params, struct t_calibration_status *status, struct xrt_frame_sink *gui, struct xrt_frame_sink **out_sink)
 Create the camera calibration frame sink. More...
 
int t_convert_yuv_or_yuyv_create (struct xrt_frame_sink *next, struct xrt_frame_sink **out_sink)
 
int t_debug_hsv_picker_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *passthrough, struct xrt_frame_sink **out_sink)
 
int t_debug_hsv_viewer_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *passthrough, struct xrt_frame_sink **out_sink)
 
int t_debug_hsv_filter_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *passthrough, struct xrt_frame_sink **out_sink)
 

Detailed Description