Lab Streaming Layer or LSL is a system for measuring, monitoring, and recording time-synchonized data streams during experiments. It is a tool for data acquisition and analysis that is used in neuroscience, psychology, and other fields. It can be used with a large variety of data types, including EEG, fNIRS, EMG, eye-tracking, and MEG.


  • Install Windows Subsystem for Linux as this pipline is based on Linux. Below two versions have been tested.
    • Ubuntu 18.04 LTS (Bionic)
    • Ubuntu 20.04 LTS (Focal)
  • Install the core LSL library
    • Download the latest version (*.deb) from GitHub LSL library from the releases page.
    • Switch to the directory where the *.deb is located.
    • Change permissions to chmod +x *.deb
    • Install the *.deb sudo dpkg -i liblsl-bin_*.deb
  • Install the python binding pylsl
    • pip3 install pylsl

Code Example


1.Run the above code to start streaming triggers.: * python3 * Alter the parameters in the example progam if needed. 2.Open Aurora on Windows and connect with the fNIRS device. 3.On the configuration page, select the desired probmap and click Edit as shown in the image below.

Fig.1: Configuration screen in NIRx Aurora

4.In the Basic parameters tab, add triggers (ideally, the same number as defined in the python program).

Fig.1: Setting Triggers in Aurora

5.Verify that the Data out stream name and Data in stream name same as defined in the python program.

Fig.1: Configuring stream names

6.Now you should be able to see the data with triggers in the Aurora console.

Fig.1: Triggers placed by the python program via LSL

7.The trigger input may be automated to your needs.