Azure Kinect Body Tracking SDK  1.1.2
k4abttypes.h
1 
5 #ifndef K4ABTTYPES_H
6 #define K4ABTTYPES_H
7 
8 #include <k4a/k4atypes.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
34 K4A_DECLARE_HANDLE(k4abt_tracker_t);
35 
41 K4A_DECLARE_HANDLE(k4abt_frame_t);
42 
57 typedef enum
58 {
59  K4ABT_JOINT_PELVIS = 0,
60  K4ABT_JOINT_SPINE_NAVEL,
61  K4ABT_JOINT_SPINE_CHEST,
62  K4ABT_JOINT_NECK,
63  K4ABT_JOINT_CLAVICLE_LEFT,
64  K4ABT_JOINT_SHOULDER_LEFT,
65  K4ABT_JOINT_ELBOW_LEFT,
66  K4ABT_JOINT_WRIST_LEFT,
67  K4ABT_JOINT_HAND_LEFT,
68  K4ABT_JOINT_HANDTIP_LEFT,
69  K4ABT_JOINT_THUMB_LEFT,
70  K4ABT_JOINT_CLAVICLE_RIGHT,
71  K4ABT_JOINT_SHOULDER_RIGHT,
72  K4ABT_JOINT_ELBOW_RIGHT,
73  K4ABT_JOINT_WRIST_RIGHT,
74  K4ABT_JOINT_HAND_RIGHT,
75  K4ABT_JOINT_HANDTIP_RIGHT,
76  K4ABT_JOINT_THUMB_RIGHT,
77  K4ABT_JOINT_HIP_LEFT,
78  K4ABT_JOINT_KNEE_LEFT,
79  K4ABT_JOINT_ANKLE_LEFT,
80  K4ABT_JOINT_FOOT_LEFT,
81  K4ABT_JOINT_HIP_RIGHT,
82  K4ABT_JOINT_KNEE_RIGHT,
83  K4ABT_JOINT_ANKLE_RIGHT,
84  K4ABT_JOINT_FOOT_RIGHT,
85  K4ABT_JOINT_HEAD,
86  K4ABT_JOINT_NOSE,
87  K4ABT_JOINT_EYE_LEFT,
88  K4ABT_JOINT_EAR_LEFT,
89  K4ABT_JOINT_EYE_RIGHT,
90  K4ABT_JOINT_EAR_RIGHT,
91  K4ABT_JOINT_COUNT
93 
103 typedef enum
104 {
110 
117 typedef enum
118 {
126 
132 typedef struct _k4abt_tracker_configuration_t
133 {
139 
146 
161  int32_t gpu_device_id;
162 
167  const char* model_path;
169 
184 typedef union
185 {
187  struct _wxyz
188  {
189  float w;
190  float x;
191  float y;
192  float z;
193  } wxyz;
194  float v[4];
196 
203 typedef enum
204 {
211 
217 typedef struct _k4abt_joint_t
218 {
222 } k4abt_joint_t;
223 
226 typedef struct _k4abt_skeleton_t
227 {
228  k4abt_joint_t joints[K4ABT_JOINT_COUNT];
230 
233 typedef struct _k4abt_body_t
234 {
235  uint32_t id;
237 } k4abt_body_t;
238 
253 #define K4ABT_BODY_INDEX_MAP_BACKGROUND 255
254 
257 #define K4ABT_INVALID_BODY_ID 0xFFFFFFFF
258 
261 #define K4ABT_DEFAULT_TRACKER_SMOOTHING_FACTOR 0.0f
262 
269 #ifdef _WIN32
270  K4ABT_TRACKER_PROCESSING_MODE_GPU_DIRECTML, // default processing_mode for Windows
271 #else
272  K4ABT_TRACKER_PROCESSING_MODE_GPU_CUDA, // default processing_mode if not Windows
273 #endif
274  0, // gpu_device_id
275  NULL }; // model_path
276 
281 #ifdef __cplusplus
282 }
283 #endif
284 
285 #endif /* K4ABTTYPES_H */
k4a_float3_t position
The position of the joint specified in millimeters.
Definition: k4abttypes.h:219
The total number of confidence levels.
Definition: k4abttypes.h:209
k4abt_joint_id_t
Model fitting joint definition.
Definition: k4abttypes.h:57
k4abt_tracker_processing_mode_t processing_mode
Specify whether to use CPU only mode or GPU mode to run the tracker.
Definition: k4abttypes.h:145
uint32_t id
An id for the body that can be used for frame-to-frame correlation.
Definition: k4abttypes.h:235
float z
Z representation of a quaternion.
Definition: k4abttypes.h:192
k4abt_joint_confidence_level_t confidence_level
The confidence level of the joint.
Definition: k4abttypes.h:221
Handle to k4a body tracking component.
Definition: k4abttypes.h:34
Mount the sensor upside-down.
Definition: k4abttypes.h:108
Structure to define joints for skeleton.
Definition: k4abttypes.h:226
Structure to define body.
Definition: k4abttypes.h:233
k4abt_sensor_orientation_t
Sensor mounting orientation types.
Definition: k4abttypes.h:103
k4a_quaternion_t
Definition: k4abttypes.h:184
Handle to a k4a body tracking frame.
Definition: k4abttypes.h:41
k4abt_joint_confidence_level_t
k4abt_joint_confidence_level_t
Definition: k4abttypes.h:203
k4abt_sensor_orientation_t sensor_orientation
The sensor mounting orientation type.
Definition: k4abttypes.h:138
float y
Y representation of a quaternion.
Definition: k4abttypes.h:191
Clockwisely rotate the sensor 90 degree.
Definition: k4abttypes.h:106
int32_t gpu_device_id
Specify the GPU device ID to run the tracker.
Definition: k4abttypes.h:161
Medium confidence in joint pose.
Definition: k4abttypes.h:207
WXYZ or array representation of quaternion.
Definition: k4abttypes.h:187
Counter-clockwisely rotate the sensor 90 degrees.
Definition: k4abttypes.h:107
High confidence in joint pose.
Definition: k4abttypes.h:208
k4abt_tracker_processing_mode_t
Tracker processing mode types.
Definition: k4abttypes.h:117
const char * model_path
Specify the model file name and location used by the tracker.
Definition: k4abttypes.h:167
SDK will use CPU only mode to run the tracker.
Definition: k4abttypes.h:121
k4a_quaternion_t orientation
The orientation of the joint specified in normalized quaternion.
Definition: k4abttypes.h:220
Mount the sensor at its default orientation.
Definition: k4abttypes.h:105
Configuration parameters for a k4abt body tracker.
Definition: k4abttypes.h:132
The joint is out of range (too far from depth camera)
Definition: k4abttypes.h:205
static const k4abt_tracker_configuration_t K4ABT_TRACKER_CONFIG_DEFAULT
Default configuration setting for k4abt tracker.
Definition: k4abttypes.h:268
float x
X representation of a quaternion.
Definition: k4abttypes.h:190
Structure to define a single joint.
Definition: k4abttypes.h:217
SDK will use the most appropriate GPU mode for the operating system to run the tracker.
Definition: k4abttypes.h:119
SDK will use ONNX Cuda EP to run the tracker.
Definition: k4abttypes.h:122
The joint is not observed (likely due to occlusion), predicted joint pose.
Definition: k4abttypes.h:206
k4abt_skeleton_t skeleton
The skeleton information for the body.
Definition: k4abttypes.h:236
float w
W representation of a quaternion.
Definition: k4abttypes.h:189
SDK will use ONNX TensorRT EP to run the tracker.
Definition: k4abttypes.h:123
SDK will use ONNX DirectML EP to run the tracker (Windows only)
Definition: k4abttypes.h:124