Introduction

gazefilter.app is a versatile web application designed for real-time eye-tracking, offering seamless integration capabilities for developers and researchers. This powerful tool can be easily incorporated into various applications, enhancing them with eye-tracking functionality.

GazeFilter application provides web-based eye-tracking with these core features:

  • Local Processing: Video stream is processed on-device, ensuring privacy and lowest latency for real-time tracking.
  • Resource Efficiency: Utilizes classical machine learning and computer vision algorithms for optimal performance, avoiding heavy deep learning models.
  • Web Embeddable: Easily integrate eye-tracking into your applications by running it in a separate browser context.

Compatibility

Gazefilter aims to provide broad compatibility across different browsers and operating systems. The table below illustrates the current compatibility status:

PlatformChromeEdgeFirefoxSafari
Windows
Mac
Linux
Android
iOS

✅ — compatible, 🚧 — under development, ❔ — unknown, ❌ — not compatible, ➖ — browser not available

gazefilter.app can be used as an overlay with gaze visualization in OBS Studio without requiring any plugins or additional software. You just need to do a little setup to get it working seamlessly.

To begin, launch OBS with the additional CLI parameter --enable-media-stream. This parameter is essential for enabling the Browser Source in OBS to utilize media devices.

  • Windows using PowerShell:

    Start-Process "obs64.exe" -ArgumentList "--enable-media-stream" -WorkingDirectory "C:\Program Files\obs-studio\bin\64bit"
    
  • Windows Command Prompt:

    cd /d "C:\Program Files\obs-studio\bin\64bit" && obs64.exe --enable-media-stream
    

For convinience, you can add this parameter to the “Target” field at the end (after ") in the shortcut properties on Windows.

OBS Studio (64bit) Properties Windows Stortcut Screeshot

Enabling the --enable-media-stream parameter allows any Browser Source you add in OBS to access media devices such as your camera and microphone. Ensure that you trust any other site you use as a Browser Source to avoid potential privacy and security risks.

Setup Scene Source

Next, create a new Browser Source.

OBS Studio add a Browser Source

You can name this source as you like, for instance, “Gazefilter Eye Tracker”.

OBS Studio name a Browser Source

In the properties for the newly created browser source, you’ll need to configure several settings:

  • Set the URL:

    https://gazefilter.app?startup=true
    

    The startup parameter ensures that gazefilter attempts to connect to a video device immediately upon loading.

  • Adjust the width and height to match the resolution of the display you’re recording.

    For example, if you have two screens with resolutions of 1920x1080 and 2560x1440, and you intend to stream the second one, set the width to 2560 and the height to 1440.

  • Check the Use custom frame rate option and set the FPS to 60.

    Even if your camera does not support 60 FPS, it is better to set the custom frame rate to the highest possible value. This setting controls the rendering rate for the web page, and a higher rate can reduce video frame processing drops and make the calibration process smoother.

  • Add the following custom CSS:

    body { background-color: transparent; }
    

    Note: This custom CSS makes the Gazefilter appear as a transparent overlay, allowing it to blend with your OBS scene.

  • Optionally, if you prefer Gazefilter to disconnect from a device when source is not visible, check the Shutdown source when not visible option.

OBS Browser Source Parameters

Leave all other parameters at their default settings and click OK.

If your screen resolution does not match the recording output size (for instance, if your screen has a 2K resolution but OBS output is Full HD), you can fit the browser source to the recording output by right-clicking on the browser source, selecting Transform → Fit to Screen, or by selecting the browser source and pressing Ctrl+F.

OBS Fit to Screen

Interaction with Eye Tracking

To fine-tune eye settings such as detection models, device selection, and calibration, you’ll need to interact directly with the web page within OBS. Select the browser source with gazefilter and click Interact.

OBS Interact with Browser Source

This will open a new window where you can interact with the gazefilter UI.

If multiple video devices are available, you can select the desired device by pressing the digit key from 1 to 0 on your keyboard, where 1 is the first device.

Keep this interaction window open for the subsequent steps.

Eye Tracking Calibration

For optimal eye-tracking performance:

  • ensure your camera is positioned at eye level near the screen you want to use for gaze overlay,
  • use the application in a well-lit environment, ideally with the light source positioned behind the camera,
  • the screen should be within a hand’s reach,
  • if you wear glasses, make sure that reflections on the lenses do not obstruct the visibility of your pupils.

You can try the calibration at gazefilter.app in the web browser of your choice to test the gaze calibration. The workflow there will be the same.

Before enabling a gaze overlay, you need to perform gaze calibration. To do this, Gazefilter should be rendered over the screen that OBS is capturing. Right-click on the browser source with gazefilter and select Fullscreen Projector → [display name].

OBS Fullscreen Projector

In the interaction window, click the calibration button (located to the right of the power button) and follow the instructions on the projected window. Ensure that the interaction window is in focus for key-based interactions during calibration.

OBS Gazefilter Calibration

Ensure you look at the screen where the Fullscreen Projector window is displayed, not the OBS or browser source interaction window.

Once calibration is complete, you should see a thin circle moving on the screen, which visualizes your gaze. You can close the projection window.

Gaze Projection

This overlay will now be visible in the OBS recording preview. Make sure that the browser source is positioned above other opaque sources in the source list.

OBS Gaze Preview

Calibration is saved automatically. To open the gaze overlay without going through the calibration process again, start calibration and then double-click inside the interaction window.

All is set up! You can now stream or record with the active gaze overlay.

Web Applications

Integrating with JavaScript and HTML

To integrate Gazefilter into your web application using plain JavaScript and HTML, you need to:

  1. Add an <iframe /> element pointing to gazefilter.app
  2. Handle the initial message from the iframe containing a MessagePort
  3. Add a message handler to the message port for ongoing communication

Let’s go through each step in detail.

Step 1: Add an iframe element

Add the following HTML code where you want the gazefilter interface to appear:

<iframe
  src="https://gazefilter.app"
  width="640"
  height="480"
  allowfullscreen
  allow="camera">
</iframe>

Explanation of the attributes:

  • src: The URL of the gazefilter application. See available parameters for advanced initialization.

  • allow="camera": This mandatory attribute grants the iframe permission to access the user’s camera, which is necessary for the gazefilter’s functionality.

  • (optional) width and height: These set the size of the iframe. See Interface Behaviour for details.

  • (optional) allowfullscreen: Necessary if gaze calibration need to be started by a user gesture requiring fullscreen mode.

Step 2: Handle the initial message

Add an event listener to handle the initial message:

// initialize placeholder variable for message port
let port = null;

window.addEventListener('message', event => {
  // check if the current event comes from gazefilter
  if (event.origin !== 'https://gazefilter.app') return;

  // check channel event which holds a message port
  if (event.data.type === 'channel') {
    // close previous message port
    if (port !== null) port.close();

    // set message port
    port = event.ports[0];
    port.onmessage = ongazefilter; // this function is described in the next step
  }
});

Step 3: Define handler for the message port

Implement the function to handle incoming events from the message port:

function ongazefilter(event) {
    const data = event.data;

    switch (data.type) {
      case 'capture':
        console.log('Gazefilter capture:', data);
        break;

      case 'interface':
        console.log('Gazefilter mode:', data.interfaceMode);
        break;

      case 'connect':
        console.log('Gazefilter connected ', data.deviceLabel);
        break;

      case 'dispose':
        console.log('Gazefilter disconnected from camera');
        break;

      // Add more cases for other message types as needed
    }
}

This basic setup allows to receive and handle messages from the eye-tracker. The message handler can be expanded to process other types of messages. See Gazefilter Events for detailed description.

For a full working example following this guide you can check out this CodePen.

Web Integration Demo

Event Log

Initialization Parameters

When loading gazefilter.app, you can use several query parameters to customize the initialization behavior of the application.

startup

The startup parameter overrides the default behavior for camera connection on application launch.

By default, gazefilter.app does not attempt to connect to a camera automatically when launched for the first time. However, on subsequent launches, if there was a successful camera connection in a previous session, the application will attempt to connect to the most recently used camera.

Values:

  • true — attempts to connect to a camera even on first launch,
  • false — never attempts to connect to a camera automatically.

origin

The origin parameter provides an extra layer of security by restricting the Gazefilter communicate only with the specified origin.

vfp

The vfp parameter enables polyfilling for Video Frame API, even if the browser supports it.

Can be useful when the browser’s implementation of the Video Frames API has known bugs or issues.

Initialization Example

You can combine multiple parameters using the & symbol:

https://gazefilter.app?origin=https://example.com&startup=true&vfp

This initialization URL will attempt to connect to a camera on startup, restrict communication to the specified origin, and enforce Video Frame API polyfilling.

GazefilterEvent

Title: GazefilterEvent

Typecombining
RequiredNo
Additional properties[Any type: allowed]

Description: Events from gazefilter.app.

JSON schema source for the events is available at gazefilter.app/event.schema.json.

1. Property GazefilterChannelEvent

Title: GazefilterChannelEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Handshake event. Sent once the app is ready to communicate.

1.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "channel"

1.2. [Required] Property timeOrigin
Typenumber
RequiredYes
Formatdouble

Description: Timestamp of the web application initialization.

See performance.timeOrigin.

1.3. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

2. Property GazefilterInterfaceEvent

Title: GazefilterInterfaceEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Interface type change event.

2.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "interface"

2.2. [Required] Property interfaceMode
Typeenum (of string)
RequiredYes
Defined in#/$defs/InterfaceMode

Description: Updated interface mode.

Must be one of:

  • “status”
  • “tracker”
  • “calibration”
2.3. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

3. Property GazefilterFocusEvent

Title: GazefilterFocusEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Browser focus event. Sent every time window is focused or blurred.

3.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "focus"

3.2. [Required] Property hasFocus
Typeboolean
RequiredYes

Description: Whether the application window has focus.

See document.hasFocus.

3.3. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

4. Property GazefilterVisibilityEvent

Title: GazefilterVisibilityEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Document visibility change event. Sent every time the document is hidden or shown.

4.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "visibility"

4.2. [Required] Property visibilityState
Typeenum (of string)
RequiredYes
Defined in#/$defs/VisibilityState

Description: Current visibility state of the document.

See document.visibilityState.

Must be one of:

  • “unknown”
  • “hidden”
  • “visible”
4.3. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

5. Property GazefilterConfigEvent

Title: GazefilterConfigEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Gazefilter configuration update event.

5.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "config"

5.2. [Required] Property gazefilterConfig
Typeobject
RequiredYes
Additional properties[Any type: allowed]
Defined in#/$defs/GazefilterConfig

Description: Updated gazefilter configuration.

5.2.1. [Optional] Property user
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
UserConfig
item 1
5.2.1.1. Property UserConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/UserConfig
5.2.1.1.1. [Optional] Property face_model
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
FaceModel
item 1
5.2.1.1.1.1. Property FaceModel
Typeobject
RequiredNo
Additional properties[Should-conform]
Defined in#/$defs/FaceModel
5.2.1.1.1.1.1. Property additionalProperties
Typearray of number
RequiredNo
Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
additionalProperties items-
5.2.1.1.1.1.1.1. additionalProperties items
Typenumber
RequiredNo
Formatfloat
5.2.1.1.1.2. Property item 1
Typenull
RequiredNo
5.2.1.1.2. [Optional] Property vision
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
Vision
item 1
5.2.1.1.2.1. Property Vision
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/Vision
One of(Option)
item 0
item 1
5.2.1.1.2.1.1. Property item 0
Typeobject
RequiredNo
Additional properties[Any type: allowed]
5.2.1.1.2.1.1.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "binocular"

5.2.1.1.2.1.2. Property item 1
Typeobject
RequiredNo
Additional properties[Any type: allowed]
5.2.1.1.2.1.2.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "monocular"

5.2.1.1.2.1.2.2. [Required] Property side
Typecombining
RequiredYes
Additional properties[Any type: allowed]
Defined in#/$defs/Side
One of(Option)
item 0
item 1
5.2.1.1.2.1.2.2.1. Property item 0
Typeconst
RequiredNo

Description: Left side.

Specific value: "left"

5.2.1.1.2.1.2.2.2. Property item 1
Typeconst
RequiredNo

Description: Right side.

Specific value: "right"

5.2.1.1.2.2. Property item 1
Typenull
RequiredNo
5.2.1.2. Property item 1
Typenull
RequiredNo
5.2.2. [Optional] Property camera
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
CameraConfig
item 1
5.2.2.1. Property CameraConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/CameraConfig
5.2.2.1.1. [Optional] Property intrinsics
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
5.2.2.1.1.1. Property CameraIntrinsicsConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/CameraIntrinsicsConfig
5.2.2.1.1.1.1. [Optional] Property focals
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
focals item 0-
focals item 1-
5.2.2.1.1.1.1.1. focals item 0
Typenumber
RequiredNo
Formatdouble
5.2.2.1.1.1.1.2. focals item 1
Typenumber
RequiredNo
Formatdouble
5.2.2.1.1.1.2. [Optional] Property principal
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
principal item 0-
principal item 1-
5.2.2.1.1.1.2.1. principal item 0
Typenumber
RequiredNo
Formatdouble
5.2.2.1.1.1.2.2. principal item 1
Typenumber
RequiredNo
Formatdouble
5.2.2.1.1.1.3. [Optional] Property skew
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.2.1.1.2. Property item 1
Typenull
RequiredNo
5.2.2.1.2. [Optional] Property specs
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
5.2.2.1.2.1. Property CameraSpecificationConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/CameraSpecificationConfig
5.2.2.1.2.1.1. [Optional] Property pixels
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
pixels item 0-
pixels item 1-
5.2.2.1.2.1.1.1. pixels item 0
Typeinteger
RequiredNo
Formatuint
Restrictions
Minimum≥ 0
5.2.2.1.2.1.1.2. pixels item 1
Typeinteger
RequiredNo
Formatuint
Restrictions
Minimum≥ 0
5.2.2.1.2.1.2. [Optional] Property dimensions
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
dimensions item 0-
dimensions item 1-
5.2.2.1.2.1.2.1. dimensions item 0
Typenumber
RequiredNo
Formatdouble
5.2.2.1.2.1.2.2. dimensions item 1
Typenumber
RequiredNo
Formatdouble
5.2.2.1.2.2. Property item 1
Typenull
RequiredNo
5.2.2.1.3. [Optional] Property fps
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.2.1.4. [Optional] Property fov
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
FieldOfView
item 1
5.2.2.1.4.1. Property FieldOfView
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/FieldOfView

Description: Camera Field of View in degrees.

One of(Option)
item 0
item 1
item 2
5.2.2.1.4.1.1. Property item 0
Typeobject
RequiredNo
Additional properties[Not allowed]
5.2.2.1.4.1.1.1. [Required] Property horizontal
Typenumber
RequiredYes
Formatdouble
5.2.2.1.4.1.2. Property item 1
Typeobject
RequiredNo
Additional properties[Not allowed]
5.2.2.1.4.1.2.1. [Required] Property vertical
Typenumber
RequiredYes
Formatdouble
5.2.2.1.4.1.3. Property item 2
Typeobject
RequiredNo
Additional properties[Not allowed]
5.2.2.1.4.1.3.1. [Required] Property diagonal
Typenumber
RequiredYes
Formatdouble
5.2.2.1.4.2. Property item 1
Typenull
RequiredNo
5.2.2.2. Property item 1
Typenull
RequiredNo
5.2.3. [Optional] Property screen
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
ScreenConfig
item 1
5.2.3.1. Property ScreenConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/ScreenConfig
5.2.3.1.1. [Optional] Property offset
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
offset item 0-
offset item 1-
5.2.3.1.1.1. offset item 0
Typeinteger
RequiredNo
Formatint32
5.2.3.1.1.2. offset item 1
Typeinteger
RequiredNo
Formatint32
5.2.3.1.2. [Optional] Property resolution
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
resolution item 0-
resolution item 1-
5.2.3.1.2.1. resolution item 0
Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0
5.2.3.1.2.2. resolution item 1
Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0
5.2.3.1.3. [Optional] Property pixel
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
pixel item 0-
pixel item 1-
5.2.3.1.3.1. pixel item 0
Typenumber
RequiredNo
Formatfloat
5.2.3.1.3.2. pixel item 1
Typenumber
RequiredNo
Formatfloat
5.2.3.2. Property item 1
Typenull
RequiredNo
5.2.4. [Optional] Property core
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
CoreConfig
item 1
5.2.4.1. Property CoreConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/CoreConfig
5.2.4.1.1. [Optional] Property seed
Typeinteger or null
RequiredNo
Formatuint64
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.2. [Optional] Property face
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
FaceTrackerConfig
item 1
5.2.4.1.2.1. Property FaceTrackerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/FaceTrackerConfig
5.2.4.1.2.1.1. [Optional] Property tolerance
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.2. [Optional] Property threshold
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.3. [Optional] Property detect
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
DetectConfig
item 1
5.2.4.1.2.1.3.1. Property DetectConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/DetectConfig
5.2.4.1.2.1.3.1.1. [Optional] Property multiscaler
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
MultiscalerConfig
item 1
5.2.4.1.2.1.3.1.1.1. Property MultiscalerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/MultiscalerConfig
5.2.4.1.2.1.3.1.1.1.1. [Optional] Property min_size
Typeinteger or null
RequiredNo
Formatuint32
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.2.1.3.1.1.1.2. [Optional] Property max_size
Typeinteger or null
RequiredNo
Formatuint32
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.2.1.3.1.1.1.3. [Optional] Property shift_factor
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.3.1.1.1.4. [Optional] Property scale_factor
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.3.1.1.2. Property item 1
Typenull
RequiredNo
5.2.4.1.2.1.3.1.2. [Optional] Property padding
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PaddingConfig
item 1
5.2.4.1.2.1.3.1.2.1. Property PaddingConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PaddingConfig
5.2.4.1.2.1.3.1.2.1.1. [Optional] Property top
Typeinteger or null
RequiredNo
Formatint32
Defaultnull
5.2.4.1.2.1.3.1.2.1.2. [Optional] Property left
Typeinteger or null
RequiredNo
Formatint32
Defaultnull
5.2.4.1.2.1.3.1.2.1.3. [Optional] Property right
Typeinteger or null
RequiredNo
Formatint32
Defaultnull
5.2.4.1.2.1.3.1.2.1.4. [Optional] Property bottom
Typeinteger or null
RequiredNo
Formatint32
Defaultnull
5.2.4.1.2.1.3.1.2.2. Property item 1
Typenull
RequiredNo
5.2.4.1.2.1.3.1.3. [Optional] Property clusterizer
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
ClusterizerConfig
item 1
5.2.4.1.2.1.3.1.3.1. Property ClusterizerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/ClusterizerConfig
5.2.4.1.2.1.3.1.3.1.1. [Optional] Property intersection_threshold
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.3.1.3.1.2. [Optional] Property score_threshold
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.3.1.3.2. Property item 1
Typenull
RequiredNo
5.2.4.1.2.1.3.2. Property item 1
Typenull
RequiredNo
5.2.4.1.2.1.4. [Optional] Property redetect
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
RedetectConfig
item 1
5.2.4.1.2.1.4.1. Property RedetectConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/RedetectConfig
5.2.4.1.2.1.4.1.1. [Optional] Property shift_factor
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.4.1.2. [Optional] Property stride_count
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.2.1.4.2. Property item 1
Typenull
RequiredNo
5.2.4.1.2.1.5. [Optional] Property filter
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
FilterConfig
item 1
5.2.4.1.2.1.5.1. Property FilterConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/FilterConfig
5.2.4.1.2.1.5.1.1. [Optional] Property beta
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.5.1.2. [Optional] Property mincutoff
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.5.1.3. [Optional] Property dcutoff
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.2.1.5.2. Property item 1
Typenull
RequiredNo
5.2.4.1.2.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3. [Optional] Property pose
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PoseTrackerConfig
item 1
5.2.4.1.3.1. Property PoseTrackerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PoseTrackerConfig
5.2.4.1.3.1.1. [Optional] Property solver
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PoseSolverConfig
item 1
5.2.4.1.3.1.1.1. Property PoseSolverConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PoseSolverConfig
5.2.4.1.3.1.1.1.1. [Optional] Property consensus
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PoseConsensusConfig
item 1
5.2.4.1.3.1.1.1.1.1. Property PoseConsensusConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PoseConsensusConfig
5.2.4.1.3.1.1.1.1.1.1. [Optional] Property initialization_hypotheses
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.1.1.2. [Optional] Property initialization_blocks
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.1.1.3. [Optional] Property max_candidate_hypotheses
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.1.1.4. [Optional] Property estimations_per_block
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.1.1.5. [Optional] Property block_size
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.1.1.6. [Optional] Property likelihood_ratio_threshold
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.3.1.1.1.1.1.7. [Optional] Property inlier_threshold
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.4.1.3.1.1.1.1.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.1.1.2. [Optional] Property estimator
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PoseEstimatorConfig
item 1
5.2.4.1.3.1.1.1.2.1. Property PoseEstimatorConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PoseEstimatorConfig
5.2.4.1.3.1.1.1.2.1.1. [Optional] Property gauss_newton_iterations
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.2.1.2. [Optional] Property rotation_convergence_iterations
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.2.1.3. [Optional] Property rotation_convergence_epsilon
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.4.1.3.1.1.1.2.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.1.1.3. [Optional] Property optimizer
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PoseOptimizerConfig
item 1
5.2.4.1.3.1.1.1.3.1. Property PoseOptimizerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PoseOptimizerConfig
5.2.4.1.3.1.1.1.3.1.1. [Optional] Property ftol
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.4.1.3.1.1.1.3.1.2. [Optional] Property xtol
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.4.1.3.1.1.1.3.1.3. [Optional] Property gtol
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.4.1.3.1.1.1.3.1.4. [Optional] Property stepbound
Typenumber or null
RequiredNo
Formatdouble
Defaultnull
5.2.4.1.3.1.1.1.3.1.5. [Optional] Property patience
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.3.1.1.1.3.1.6. [Optional] Property scale_diag
Typeboolean or null
RequiredNo
Defaultnull
5.2.4.1.3.1.1.1.3.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.1.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.2. [Optional] Property filter
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PoseFilterConfig
item 1
5.2.4.1.3.1.2.1. Property PoseFilterConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PoseFilterConfig
5.2.4.1.3.1.2.1.1. [Optional] Property translation
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
5.2.4.1.3.1.2.1.1.1. Property KalmanFilter3DConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/KalmanFilter3DConfig
5.2.4.1.3.1.2.1.1.1.1. [Optional] Property process_error_covariance
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.3.1.2.1.1.1.2. [Optional] Property measurement_error_covariance
Typenumber or null
RequiredNo
Formatfloat
Defaultnull
5.2.4.1.3.1.2.1.1.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.2.1.2. [Optional] Property rotation
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
5.2.4.1.3.1.2.1.2.1. Property KalmanFilter3DConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Same definition asKalmanFilterConfig
5.2.4.1.3.1.2.1.2.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.2.2. Property item 1
Typenull
RequiredNo
5.2.4.1.3.1.3. [Optional] Property keys
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
FacePin-
5.2.4.1.3.1.3.1. FacePin
Typeenum (of string)
RequiredNo
Defined in#/$defs/FacePin

Must be one of:

  • “nose_bottom”
  • “nose_top”
  • “nose_tip”
  • “left_eye_inner_corner”
  • “left_eye_outer_corner”
  • “right_eye_inner_corner”
  • “right_eye_outer_corner”
  • “left_eye_lower_lid”
  • “left_eye_upper_lid”
  • “right_eye_lower_lid”
  • “right_eye_upper_lid”
  • “left_mouth_corner”
  • “right_mouth_corner”
  • “chin_tip”
5.2.4.1.3.2. Property item 1
Typenull
RequiredNo
5.2.4.1.4. [Optional] Property eye
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
EyeTrackerConfig
item 1
5.2.4.1.4.1. Property EyeTrackerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/EyeTrackerConfig
5.2.4.1.4.1.1. [Optional] Property scale
Typenumber or null
RequiredNo
Formatfloat
5.2.4.1.4.2. Property item 1
Typenull
RequiredNo
5.2.4.1.5. [Optional] Property pupil
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PupilTrackerConfig
item 1
5.2.4.1.5.1. Property PupilTrackerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PupilTrackerConfig
5.2.4.1.5.1.1. [Optional] Property localize
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
LocalizeConfig
item 1
5.2.4.1.5.1.1.1. Property LocalizeConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/LocalizeConfig
5.2.4.1.5.1.1.1.1. [Optional] Property perturbator
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
PerturbatorConfig
item 1
5.2.4.1.5.1.1.1.1.1. Property PerturbatorConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/PerturbatorConfig
5.2.4.1.5.1.1.1.1.1.1. [Optional] Property translate
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
translate item 0-
translate item 1-
5.2.4.1.5.1.1.1.1.1.1.1. translate item 0
Typenumber
RequiredNo
Formatfloat
5.2.4.1.5.1.1.1.1.1.1.2. translate item 1
Typenumber
RequiredNo
Formatfloat
5.2.4.1.5.1.1.1.1.1.2. [Optional] Property scale
Typearray or null
RequiredNo
Defaultnull
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
scale item 0-
scale item 1-
5.2.4.1.5.1.1.1.1.1.2.1. scale item 0
Typenumber
RequiredNo
Formatfloat
5.2.4.1.5.1.1.1.1.1.2.2. scale item 1
Typenumber
RequiredNo
Formatfloat
5.2.4.1.5.1.1.1.1.2. Property item 1
Typenull
RequiredNo
5.2.4.1.5.1.1.1.2. [Optional] Property perturbations
Typeinteger or null
RequiredNo
Formatuint
Defaultnull
Restrictions
Minimum≥ 0
5.2.4.1.5.1.1.2. Property item 1
Typenull
RequiredNo
5.2.4.1.5.1.2. [Optional] Property filter
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
FilterConfig
item 1
5.2.4.1.5.1.2.1. Property FilterConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Same definition asoneOf_i4_gazefilterConfig_core_anyOf_i0_face_anyOf_i0_filter_anyOf_i0
5.2.4.1.5.1.2.2. Property item 1
Typenull
RequiredNo
5.2.4.1.5.2. Property item 1
Typenull
RequiredNo
5.2.4.1.6. [Optional] Property gaze
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
GazeTrackerConfig
item 1
5.2.4.1.6.1. Property GazeTrackerConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/GazeTrackerConfig
5.2.4.1.6.1.1. [Optional] Property threshold
Typenumber or null
RequiredNo
Formatfloat
5.2.4.1.6.1.2. [Optional] Property tolerance
Typenumber or null
RequiredNo
Formatfloat
5.2.4.1.6.1.3. [Optional] Property filter
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Any of(Option)
FilterConfig
item 1
5.2.4.1.6.1.3.1. Property FilterConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Same definition asoneOf_i4_gazefilterConfig_core_anyOf_i0_face_anyOf_i0_filter_anyOf_i0
5.2.4.1.6.1.3.2. Property item 1
Typenull
RequiredNo
5.2.4.1.6.2. Property item 1
Typenull
RequiredNo
5.2.4.2. Property item 1
Typenull
RequiredNo
5.2.5. [Optional] Property backend
Typecombining
RequiredNo
Additional properties[Any type: allowed]
Defaultnull
Any of(Option)
BackendConfig
item 1
5.2.5.1. Property BackendConfig
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Defined in#/$defs/BackendConfig
5.2.5.1.1. [Optional] Property face_detector
Typestring or null
RequiredNo
Defaultnull
5.2.5.1.2. [Optional] Property face_shaper
Typestring or null
RequiredNo
Defaultnull
5.2.5.1.3. [Optional] Property face_pinmap
Typestring or null
RequiredNo
Defaultnull
5.2.5.1.4. [Optional] Property pupil_localizer
Typestring or null
RequiredNo
Defaultnull
5.2.5.1.5. [Optional] Property gaze_calibration
Typestring or null
RequiredNo
Defaultnull
5.2.5.2. Property item 1
Typenull
RequiredNo
5.3. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

6. Property GazefilterConnectEvent

Title: GazefilterConnectEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Device connect event.

6.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "connect"

6.2. [Required] Property frameRate
Typenumber
RequiredYes
Formatdouble

Description: Frames per second of the connected device.

See MediaTrackSettings.frameRate.

6.3. [Required] Property frameSize
Typearray
RequiredYes

Description: Frame size in pixels of the connected device as width and height.

See MediaTrackSettings.width and MediaTrackSettings.height.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
frameSize item 0-
frameSize item 1-

6.3.1. frameSize item 0

Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0

6.3.2. frameSize item 1

Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0
6.4. [Required] Property deviceLabel
Typestring
RequiredYes

Description: Label of the connected device.

See MediaDeviceInfo.label.

6.5. [Optional] Property facingMode
Typecombining
RequiredNo
Additional properties[Any type: allowed]

Description: Facing mode of the connected device.

See MediaTrackSettings.facingMode.

Any of(Option)
FacingMode
item 1

6.5.1. Property FacingMode

Typeenum (of string)
RequiredNo
Defined in#/$defs/FacingMode

Must be one of:

  • “user”
  • “environment”
  • “left”
  • “right”

6.5.2. Property item 1

Typenull
RequiredNo
6.6. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

7. Property GazefilterCaptureEvent

Title: GazefilterCaptureEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Tracking event. Sent every time the new frame is processed.

7.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "capture"

7.2. [Required] Property presentedFrames
Typeinteger
RequiredYes
Formatuint32

Description: See presentedFrames in HTMLVideoElement.requestVideoFrameCallback#metadata

Restrictions
Minimum≥ 0
7.3. [Required] Property frameSize
Typearray
RequiredYes

Description: See width and height in HTMLVideoElement.requestVideoFrameCallback#metadata

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
frameSize item 0-
frameSize item 1-

7.3.1. frameSize item 0

Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0

7.3.2. frameSize item 1

Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0
7.4. [Required] Property presentationTime
Typenumber
RequiredYes
Formatdouble

Description: See presentationTime in HTMLVideoElement.requestVideoFrameCallback#metadata

7.5. [Required] Property expectedDisplayTime
Typenumber
RequiredYes
Formatdouble

Description: See expectedDisplayTime in HTMLVideoElement.requestVideoFrameCallback#metadata

7.6. [Required] Property mediaTime
Typenumber
RequiredYes
Formatdouble

Description: See mediaTime in HTMLVideoElement.requestVideoFrameCallback#metadata

7.7. [Optional] Property processingDuration
Typenumber
RequiredNo
Formatdouble
Defaultnull

Description: See processingDuration in HTMLVideoElement.requestVideoFrameCallback#metadata

7.8. [Optional] Property captureTime
Typenumber
RequiredNo
Formatdouble
Defaultnull

Description: See captureTime in HTMLVideoElement.requestVideoFrameCallback#metadata

7.9. [Optional] Property trackTime
Typenumber
RequiredNo
Formatdouble
Default0.0

Description: Monotonic time in milliseconds since the tracking initialization.

7.10. [Optional] Property frameOffset
Typearray of integer
RequiredNo
Default[0, 0]

Description: Difference between camera model frame and processed image in pixels.

Positive values means camera frame is bigger than image, and negative values means camera frame is smaller than image.

Default values are [0, 0] and means that camera frame is same as image.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
frameOffset items-

7.10.1. frameOffset items

Typeinteger
RequiredNo
Formatint32
7.11. [Optional] Property frameOrigin
Typearray of integer
RequiredNo
Default[0, 0]

Description: Camera model frame center coordinates in pixels.

Denormalize data point to frame coordinates:

(data_point + 1) * frame_origin.

To convert to image coordinates:

(data_point + 1) * frame_origin + frame_offset.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
frameOrigin items-

7.11.1. frameOrigin items

Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0
7.12. [Optional] Property cameraFocal
Typearray of number
RequiredNo
Default[1.0, 1.0]

Description: Pinhole camera model focal values in sensor pixel size.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
cameraFocal items-

7.12.1. cameraFocal items

Typenumber
RequiredNo
Formatfloat
7.13. [Optional] Property screenOffset
Typearray of integer
RequiredNo
Default[0, 0]

Description: Current screen position on virtual screen in pixels.

Default values are [0, 0] and means that current screen is primary.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
screenOffset items-

7.13.1. screenOffset items

Typeinteger
RequiredNo
Formatint32
7.14. [Optional] Property screenOrigin
Typearray of integer
RequiredNo
Default[0, 0]

Description: Screen center coordinates in pixels.

Denormalize gaze point to screen coordinates:

  • current: (gaze_point + 1) * screen_origin,
  • virtual: (gaze_point + 1) * screen_origin + screen_offset.

Default values are zero and means that screen is not set by the runtime environment.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
screenOrigin items-

7.14.1. screenOrigin items

Typeinteger
RequiredNo
Formatuint32
Restrictions
Minimum≥ 0
7.15. [Optional] Property screenPixel
Typearray of number
RequiredNo
Default[1.0, 1.0]

Description: Screen pixel size.

Default values are [1.0, 1.0].

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
screenPixel items-

7.15.1. screenPixel items

Typenumber
RequiredNo
Formatfloat
7.16. [Optional] Property calibConfidence
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Default{"left": -1.0, "right": -1.0}
Defined in#/$defs/Pair_for_float

Description: Gaze calibration confidence.

Values are in range 0..1. In case gaze is not calibrated values are negative (-1).

7.16.1. [Required] Property left
Typenumber
RequiredYes
Formatfloat
7.16.2. [Required] Property right
Typenumber
RequiredYes
Formatfloat
7.17. [Optional] Property calibOrigin
Typearray of number
RequiredNo
Default[0.0, 0.0, -1.0]

Description: Calibration bounding box center in camera space.

If no calibration is performed X and Y values are zero and Z is negative.

Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
calibOrigin items-

7.17.1. calibOrigin items

Typenumber
RequiredNo
Formatfloat
7.18. [Optional] Property calibSpace
Typearray of number
RequiredNo
Default[0.0, 0.0, 0.0]

Description: Half-size of the calibration bounding box in each direction.

If no calibration is performed, values are zero. Use calib_confidence field for validation.

Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
calibSpace items-

7.18.1. calibSpace items

Typenumber
RequiredNo
Formatfloat
7.19. [Optional] Property calibTarget
Typearray of number
RequiredNo
Default[0.0, 0.0, 0.0]

Description: Calibration target

Values are [X, Y, W], where X and Y normalized values on screen axes and W is the weight of the calibration target. Data is not valid if W is negative.

Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
calibTarget items-

7.19.1. calibTarget items

Typenumber
RequiredNo
Formatfloat
7.20. [Optional] Property trackEvent
Typeenum (of integer)
RequiredNo
Default0
Defined in#/$defs/TrackEventType

Description: Track event enumeration.

Possible values are:

  • -1 - lost,
  • 0 - unknown (default),
  • 1 - found,
  • 2 - tracking.

Properties:

  • if greater than 0, the face is detected and tracked,
  • if less equal than 0, no face detected or it was lost.

Must be one of:

  • -1
  • 0
  • 1
  • 2
7.21. [Optional] Property faceConfidence
Typenumber
RequiredNo
Formatfloat
Default0.0

Description: Face confidence value.

Negative values means face is not detected.

7.22. [Optional] Property gazeEvent
Typeenum (of integer)
RequiredNo
Default0
Defined in#/$defs/GazeEventType

Description: Gaze event.

Possible values are:

  • -1 - blink,
  • 0 - unknown (default),
  • 1 - saccade,
  • 2 - fixation,
  • 3 - pursuit.

Must be one of:

  • -1
  • 0
  • 1
  • 2
  • 3
7.23. [Optional] Property gazeDuration
Typenumber
RequiredNo
Formatdouble
Default0.0

Description: Current gaze event duration on the screen.

Values are in milliseconds and default is zero.

7.24. [Optional] Property gazePoint
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Default{"left": [0.0, 0.0], "right": [0.0, 0.0]}
Defined in#/$defs/Pair_for_Array_size_2_of_float

Description: Gaze point on the screen.

For denormalization use screen_origin field values. Default values are zero. Use gaze_confidence field for validation.

7.24.1. [Required] Property left
Typearray of number
RequiredYes
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
left items-
7.24.1.1. left items
Typenumber
RequiredNo
Formatfloat
7.24.2. [Required] Property right
Typearray of number
RequiredYes
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
right items-
7.24.2.1. right items
Typenumber
RequiredNo
Formatfloat
7.25. [Optional] Property gazeBestPoint
Typearray of number
RequiredNo
Default[0.0, 0.0]

Description: Best gaze point on the screen.

Default values are zero. Use gaze_confidence field for validation.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
gazeBestPoint items-

7.25.1. gazeBestPoint items

Typenumber
RequiredNo
Formatfloat
7.26. [Optional] Property fixationPoint
Typearray of number
RequiredNo
Default[0.0, 0.0]

Description: Gaze fixation point on the screen.

Default values are zero. Valid if gaze_event is fixation.

Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
fixationPoint items-

7.26.1. fixationPoint items

Typenumber
RequiredNo
Formatfloat
7.27. [Optional] Property facePosition
Typearray of number
RequiredNo
Default[0.0, 0.0, -1.0]

Description: Estimated face position in camera 3D space.

Values are in centimeters and coordinate system is right-handed Y-axis down (X - Right, Y - Down, Z - Forward) from camera looking point.

In case of face not detected or position cannot be estimated, Z value is negative.

Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
facePosition items-

7.27.1. facePosition items

Typenumber
RequiredNo
Formatfloat
7.28. [Optional] Property faceRotation
Typearray of number
RequiredNo
Default[0.0, 0.0, 0.0]

Description: Estimated face rotation as Euler angles.

Values are as follows [yaw, pitch, roll] in radians and coordinate system is right-handed Y-axis up (X - Right, Y - Up, Z - Back) from users point of view.

Examples:

  • zero angles - face is looking towards the camera sensor plane,
  • chin goes up - pitch is positive, down - pitch is negative,
  • head turns right - yaw is positive, left - yaw is negative,
  • head tilts right - roll is positive, left - roll is negative.

In case of face not detected or position cannot be estimated, values are [0, 0, 0]. These values are valid only if face_position.z is positive.

Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
faceRotation items-

7.28.1. faceRotation items

Typenumber
RequiredNo
Formatfloat
7.29. [Optional] Property pupilConfidence
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Default{"left": -1.0, "right": -1.0}
Defined in#/$defs/Pair_for_float

Description: Pupil detection confidence for each eye.

Values are in range 0..1, and in case of face not detected or pupil cannot be estimated, values are negative (-1).

7.29.1. [Required] Property left
Typenumber
RequiredYes
Formatfloat
7.29.2. [Required] Property right
Typenumber
RequiredYes
Formatfloat
7.30. [Optional] Property eyeAspectRatio
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Default{"left": -1.0, "right": -1.0}
Defined in#/$defs/Pair_for_float

Description: Aspect ratio value for each eye.

In case of face not detected or ratio cannot be estimated, values are negative (-1).

7.30.1. [Required] Property left
Typenumber
RequiredYes
Formatfloat
7.30.2. [Required] Property right
Typenumber
RequiredYes
Formatfloat
7.31. [Optional] Property pupilCenter
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Default{"left": [0.0, 0.0], "right": [0.0, 0.0]}
Defined in#/$defs/Pair_for_Array_size_2_of_float

Description: Estimated pupil center position on the frame for each eye.

If face is not detected or pupil point cannot be estimated values are [-1, -1].

7.31.1. [Required] Property left
Typearray of number
RequiredYes
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
left items-
7.31.1.1. left items
Typenumber
RequiredNo
Formatfloat
7.31.2. [Required] Property right
Typearray of number
RequiredYes
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
right items-
7.31.2.1. right items
Typenumber
RequiredNo
Formatfloat
7.32. [Optional] Property eyeTarget
Typeobject
RequiredNo
Additional properties[Any type: allowed]
Default{"left": [0.0, 0.0, -1.0], "right": [0.0, 0.0, -1.0]}
Defined in#/$defs/Pair_for_Array_size_3_of_float

Description: Tracking regions of interest for each eye.

Describes region of interest for the tracking eyes on the frame as [x, y, size]. Negative size means face is not detected or ROI cannot be estimated.

7.32.1. [Required] Property left
Typearray of number
RequiredYes
Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
left items-
7.32.1.1. left items
Typenumber
RequiredNo
Formatfloat
7.32.2. [Required] Property right
Typearray of number
RequiredYes
Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
right items-
7.32.2.1. right items
Typenumber
RequiredNo
Formatfloat
7.33. [Optional] Property faceTarget
Typearray of number
RequiredNo
Default[0.0, 0.0, -1.0]

Description: Tracking face ROI.

Describes region of interest for the tracking face on the frame as [x, y, size]. Negative size means face is not detected.

Array restrictions
Min items3
Max items3
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
faceTarget items-

7.33.1. faceTarget items

Typenumber
RequiredNo
Formatfloat
7.34. [Optional] Property faceShape
Typearray of array
RequiredNo
Default[]

Description: Face shape points (landmarks) on the frame.

If face is not detected then array is empty.

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
faceShape items-

7.34.1. faceShape items

Typearray of number
RequiredNo
Array restrictions
Min items2
Max items2
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
faceShape items items-
7.34.1.1. faceShape items items
Typenumber
RequiredNo
Formatfloat
7.35. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.

8. Property GazefilterDisposeEvent

Title: GazefilterDisposeEvent

Typeobject
RequiredNo
Additional properties[Any type: allowed]

Description: Device disconnect event.

8.1. [Required] Property type
Typeconst
RequiredYes

Specific value: "dispose"

8.2. [Required] Property disposeReason
Typeenum (of string)
RequiredYes
Defined in#/$defs/DisposeReason

Description: Reason for the device disconnect.

Must be one of:

  • “unknown”
8.3. [Optional] Property timeStamp
Typenumber
RequiredNo
Defined in#/$defs/EventTimestamp

Description: Timestamp of the event initialization.


Generated using json-schema-for-humans on 2024-10-31 at 13:08:11 +0000