state.* |
The state property and all subpaths are intended to include everything about the current state of the system and user. |
state.timestamp |
The timestamp when the state was last updated. |
state.frameRate |
The rate at which frames are being processed. |
state.calibration.confidence |
A scalar value that is correlated with gaze prediction accuracy. |
state.trackingSuspended |
An error flag, indicating that the gaze state could not be updated because we temporarily lost track of necessary facial features. |
state.head.* |
The pose of the user’s head as a 6 DOG rigid body. |
state.gaze.vector |
The relative eye pose of the user, as a 2D vector. |
state.gaze.measured |
The measured gaze focus of the user in screen coordinates. |
state.gaze.estimate |
An estimated gaze focus of the user in screen coordinates. |
state.image.size |
The resolution of the input image that was used to update the state. |
browser.* |
Properties of the user’s browser, that are relevant to gaze tracking. |
browser.screen.* |
Properties of the display device (screen). |
browser.canvas.* |
Properties of the xLabs Canvas element, which we use for drawing graphics on top of whatever page is being displayed. |
browser.canvas.paintLearning |
If set to 1, then in learning mode our UI will be drawn on the canvas. Set to 0 to display your own UI instead. |
browser.canvas.paintHeadPose |
If set to 1, then in head mode our UI will be drawn on the canvas. Set to 0 to display your own UI instead. |
browser.canvas.enabled |
If set to 1, our canvas is displayed. Normally not used by third party code. |
browser.canvas.captureMouse |
If set to 1, our canvas will intercept all mouse events and prevent them from reaching the page. This allows us to provide a UI. |
browser.canvas.captureKeyboard |
As captureMouse, but for keyboard events. |
browser.document.offset.* |
The offset of the document from the origin of the browser window, in pixels. |
system.mode |
The mode of the xLabs system. Possible values are “off”, “head”, “learning”, “mouse” and “training”. |
frame.stream.* |
Properties of the image stream that xLabs is using as input. |
frame.stream.enabled |
Whether the input image stream is enabled. If 0, then no images are received or processed. |
frame.stream.preview |
Activates the preview utility built into the xLabs Browser Extension. |
frame.stream.width |
The width in pixels of the image stream. |
frame.stream.height |
Height in pixels |
frame.stream.rate |
The rate in frames per second at which the system is receiving images. It may be processing at a slower rate. |
frame.stream.frameRateThrottler.enabled |
If set to 1, processing will be throttled to match the specified target FPS. This is useful to reduce processing load when near realtime results are not needed. |
frame.stream.frameRateThrottler.targetFps |
Target FPS for the throttler, described above. |
http.* |
Not used in Browser Extension API. The HTTP variant of the software uses this. |
truth.* |
Truth data is where we think the user was looking at particular times. Used for calibration. CSV format. |
watch.* |
Watch data is a CSV file containing measurements of the user’s face at particular times. Associated with truth data to enable calibration. |
pipeline.* |
The processing pipeline. Of interest because specific modules can be enabled or disabled. |
pipeline.tracking.enabled |
Enables tracking of the user’s face. |
pipeline.pinpoint.enabled |
Enables high-precision feature localization on the face (higher CPU workload). |
pipeline.validation.enabled |
Enables validation of the face region image quality. |
calibration.* |
The calibration process. |
calibration.status |
If zero, there is no good calibration. Else, there is a valid calibration dataset. |
calibration.clear |
Any write to this value will cause calibration data to be permanently deleted. |
calibration.active |
Value is 1 when calibration is executing, zero otherwise. |
calibration.completed |
Value is set, after calibration completion, to the value passed to calibration.request when calibration began. |
calibration.request |
Set a value to trigger calibration. The value will be copied to calibration.completed when it’s done. |
validation.* |
Validation of the image image – results. |
validation.lastFrameTimestamp |
Timestamp of the last time a frame was processed. Indicative of camera issues. |
validation.valid |
An overall assessment of the image quality, but may be too strict for many purposes. |
validation.errors |
An empty string indicates an absence of errors. Else, the string contains some of the following letters: D (too dark),B (too bright),U (unevenly illuminated), R (low resolution on face), F (frame rate too low). |
validation.facePosition |
A rectangle bounding the face region of the user in the image, in pixels, as x, y, w, h. e.g. “261,150,132,111” |
algorithm.* |
Properties of the algorithm. Probably best not to touch. |
mouseEmulator.* |
Properties of the mouse emulator mode. |
gaze.* |
Gaze is one of 4 logs maintained by the system. Each log is a CSV file with several properties. The CSV data cannot be directly obtained from the config structure. Instead, follow the steps outlined in the logging example code. Note that there are x and x.temp logs; the former are persistent. We only keep persistent logs for truth and watch; the other logs are all transient. |
gaze.temp.enabled |
Enables the transient log of gaze data. All gaze estimates will be logged. |
gaze.temp.clear |
Clears the transient log of gaze data. |
gaze.temp.id |
Set this path with the ID of a HTML element. The xLabs Browser Extension will then populate the element with the content of the transient CSV log file. |
error.temp.* |
Another log – see gaze.temp. A log of errors reported by the xLabs system. |
click.temp.* |
Another log – see gaze.temp. Values are screen x, y click coordinates, and a timestamp. |
scroll.temp.* |
Another log – see gaze.temp. Values are document x,y scroll offsets and timestamp. |
debug.* |
Used to implement the debug UI in the Browser Ex |