Skip to content

SightLab STLB / JSON

SightLab Configuration Settings (.stlb)

SightLab stores experiment setup in a JSON file with the .stlb extension. The file contains a dictionary called trialSettings. Each key in this dictionary is either the string "DEFAULT" or a trial number (e.g., "1", "2", ...). The "DEFAULT" entry defines default values used when new trials are created. Every trial entry stores the same set of keys so settings can vary per trial.


Global and Per-Trial Settings

Parameter Data Type Logical Role
SCREEN_RECORD bool (viz.ON/viz.OFF) Enable video recording. Stored per trial but typically global.
NUMBER_OF_TRIALS int Total trial count for the experiment (global).
RANDOM_TRIALS bool Whether to randomize trial order (global flag copied per trial).
DATA_SAVING str (PER_TRIAL or COMBINED) Controls how trial data files are generated.
TRACKING bool Toggle tracking data logging. Saved per trial.
TRIAL_LABEL str Label/name for the trial.
BIOPAC bool Enable Biopac acquisition. Global flag copied to each trial.
DWELL_TIME float Default dwell-time threshold in seconds.
DISPERSION_THRESHOLD int/float Dispersion threshold for fixation detection.
DURATION_THRESHOLD float Minimum fixation duration in seconds.
NOISE_REDUCTION int/float Eye-tracker noise reduction setting.
AVATAR_HEAD str or null Avatar head model to load.
AVATAR_RIGHT_HAND str or null Right hand model path.
AVATAR_LEFT_HAND str or null Left hand model path.
RECENT_CONFIG str Name of the most recently used config file.
GAZE_POINT str or null Model used to visualize gaze.
MODE str (MODEL_3D or MEDIA_360) Scene type for the trial.
ENVIRONMENT str or null Environment/media file name for the trial.
ENVIRONMENT_DIRECTORY str Directory containing environment or media files.
START_CONDITION list [condition, value] Defines how the trial begins.
END_CONDITION list [condition, value] Defines how the trial ends.
TRIAL_SETUP dict Object mapping: {TARGET, VISIBLE, GRAB} booleans.
MEDIA_SETUP dict Media options like {MEDIA_TYPE, MEDIA_FORMAT}.
CLIENT_INFO dict Multi-user info: {SERVER_LIST, SERVER_NAME, FIRST_NAME, SHOW_NAME}.
REGIONS_OF_INTEREST dict ROI per trial: [position, radius/size, alpha, color, name].
SCENE_SETUP dict Scene options from ADDITIONAL_SETTINGS.
AUTO_ASSIGN bool (client mode only) Auto-assign client IDs in multi-user setups.

Additional Settings (SCENE_SETUP)

The SCENE_SETUP dictionary contains ADDITIONAL_SETTINGS from settings.py:

Key Data Type Purpose
Console bool Toggle the on-screen console.
Gaze Path Visible bool Show gaze path visualization.

File Locations

Configuration files are stored under the sightlab_configs folder.
The most recently used file is saved as:

  • recent_config.stlb (single-user)
  • recent_config_server.stlb or recent_config_client.stlb (multi-user)

New .stlb files are created when saving a project.


Usage

On launch, SightLab loads recent_config.stlb if available and populates trialSettings.

When saving, the current trialSettings dictionary is written to a .stlb file using json.dump.