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.stlborrecent_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.