Lab Streaming Layer
Lab Streaming Layer is open-source networked middleware ecosystem to stream, receive, synchronize, and record data streams acquired from diverse sensor hardware. By implementing the Lab Streaming Layer in our application, we allow the data from the OCOsense glasses to be synchronized with data from a big number of devices, including EEG data, eye tracking, motion capture systems, etc.
Streams
The iPad application currently provides:
- data outlet stream
- markers outlet stream
- markers inlet stream
Data outlet stream
The data outlet stream contains the sensor data sampled by the glasses.
How to enable in the app
- Connect to the glasses
- Create or open already existing project
- Create new task by selecting the
Sensor data only
orSensor data + labels
choices inData Configuration
and selectUse lab streaming layer
inOptional data
. - When the task is opened, the LSL outlet streams should be available.
Markers outlet stream
The markers outlet stream contains up to 4 channels, containing the annotations from the 4 annotation categories in our app. As the annotations in the iPad app can be toggled, when the annotation is selected, we add _start
suffix, while when the annotation is deselected, we add _end
suffix.
- Connect to the glasses
- Create or open already existing project
- Create new task by selecting the
Sensor data + labels
choices inData Configuration
and selectUse lab streaming layer
inOptional data
. - When the task is opened, the marker outlet streams should be available.
Markers inlet stream
The markers inlet stream allows to connect external LSL marker stream with up to 4 channels. These markers are then stored in the CSV file created by the application.
How to use the inlet stream
- Connect to the glasses
- Create or open already existing project
- Create new task by selecting the
Sensor data only
orSensor data + labels
choices inData Configuration
and selectUse lab streaming layer
inOptional data
. - To connect to inlet stream, ensure that the glasses are connected and go to Settings, then LSL Marker Stream, press
Scan
and after some time, if the external marker stream is discovered, you can select it (see the attached screenshots).
This stream data is recorded in our CSV file, as a field called LSLInletMarkers
.
LSL client
We also provide open-source Python-based LSL client, which can be found on GitHub.