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

  1. Connect to the glasses
  2. Create or open already existing project
  3. Create new task by selecting the Sensor data only or Sensor data + labels choices in Data Configuration and select Use lab streaming layer in Optional data.
  4. When the task is opened, the LSL outlet streams should be available.

Creating Task with LSL

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.

  1. Connect to the glasses
  2. Create or open already existing project
  3. Create new task by selecting the Sensor data + labels choices in Data Configuration and select Use lab streaming layer in Optional data.
  4. 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

  1. Connect to the glasses
  2. Create or open already existing project
  3. Create new task by selecting the Sensor data only or Sensor data + labels choices in Data Configuration and select Use lab streaming layer in Optional data.
  4. 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.

Settings Screen

LSL scan for Marker LSL choose marker stream


LSL client

We also provide open-source Python-based LSL client, which can be found on GitHub.