Welcome Guest, you are in: Login

EventIDE Wiki

RSSRSS

Navigation




Search the wiki


PoweredBy

Page History: LSL Signal Element

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2023/05/11 05:28


Summary

Element Icon LSL Signal
Info
Category: Signal Acquisition AddIn: LSL
Creator: OkazoLab Scope: Experiment
Owns Snippets: None Usage: Snippets

Properties

NameDescription                              ConstraintsTypeOn
runtime
change
LSL Settings
Stream Type        Defines the LSL stream that delivers signal data                String         
LSL Stream        Defines which LSL stream will be connected at runtime. You must have the LSL stream running, when you change this property for the first time. Note that the channel configuration of the element is updated each time as you change this property                String         
Request Configuration        Retrieves a new channel configuration of the selected LSL stream, if it has been changed since the last stream selection        Boolean         
Channel Configuration
Actual Sampling Rate        Returns the actual sampling rate of connected hardware after it the configuration request                Double         
Sample Type        Returns the actual sampling rate of connected hardware after the configuration request                String         
Chink Size        Defines the chuck size (in ms) in signal acquisition                clTime         
Selected Channels        Defines what signal channels are selected for acquisition within EventIDE. Selected channels are registered in the EventIDE signal pool at runtime and become available for the signal analysis elements.                List`1         
Selected Channel Count        Indicates how many signal channels are currently selected for acquisition                Int32         
Total Channel Count        Indicates how many signal channels are available for acquisition in the total                Int32         
Buffer Size        Defines the size (in samples) of a circular buffer that stores incoming signal data.                Int32         
Signal Generator
Signal Generator        Defines whether signal samples are produces by an oscillatory generator rather than the actual hardware. You can use the signal generator for test runs without hardware                Boolean         
Emulated Sampling Rate        Defines the emulation sampling rate (samples per second), when data is generated or streamed from a file.                Double         
Primary Frequency        Defines the frequency of the primary rhythm in the generated signal, in Hz. Assign the zero to exclude the primary frequency from the generated signal.                Double         
Secondary Frequency        Defines the frequency of the secondary rhythm in the generated signal, in Hz. The secondary frequency magnitude is a half of the primary frequency magnitude. Assign the zero to exclude the secondary frequency from the generated signal.                Double         
Noise Level        Defines the noise level (in % to the norm magnitude of the primary frequency). The noise is added to the generated signal. Assign the zero the exclude the noise from the generated signal.                Double         
Runtime Control
Reset Signals Now        Runtime commands that resets the signal buffers and data acquisition                Boolean         
Control
Is Enabled        If set to false the element is completely omitted when the experiment is run                Boolean         
Title        Title of the element                String         



The LSL Signal element reads and buffers an numerical samples in an incoming LSL stream generated by connected hardware or other applications.


Description

An increasing number of reseacrh hardware and applications add support for the lab streaming layer (LSL) is a protocol, which is designed for the unified collection of measurement time series in research experiments that handles both the networking, time-synchronization, (near-) real-time access as well as optionally the centralized collection, viewing and disk recording of the data. You can find more details on the LSL project site. The LSL protocol was developed in Swartz Center for Computational Neuroscience, UCSD (Copyright 2019, Christian Kothe, David Medine, Chadwick Boulay, Matthew Grivich, Tristan Stenner)

The LSL Signal element in EventIDE automatically detects active LSL streams that are generated by research hardware or other applications on the same computer or in a network. Each LSL stream can carry multiple channels, which are treated as separate signals by the LSL Signal element. The element allows you to select one or more channels for processing. Note that the LSL protocol can transfer data in a wide range of formats. The LSL Signal element can only process numerical channels (double, float or integer). 

As you start your expeirment, the LSL signal element begins reading incoming LSL channels and buffering signal samples for futher online analysis, visualization and recording carried by other EventIDE elements

Practical Use

Configuring the element

In order to use LSL signals in your experiment, you need to perform an one-time configuration of the LSL Signal element:

  1. Add the LSL Signal element to any event in your experiment. The element is global and will work during the entire experiment run
  2. Make sure that the source LSL stream is running on your system. For example, you may need to start recording on your LSL-compatible EEG amplifier or run software that writes to a LSL stream
  3. Select the LSL Signal element in GUI to access its properties in the Property panel
  4. Set the Stream Type property to the type of the source LSL stream. You can select the most common LSL stream types from a drop-down list
  5. Open the drop-down list on the LSL Stream property. The list should show currently active LSL streams detected in your system. Select the source stream. If you know a name of the source stream in advance, you can also type it directly.
  6. Once the stream is selected, the element will automatically retrieve the channel configuration in it and updates the corresponding properties: Actual Sampling Rate, Sample Type, etc.
  7. Finally, open an editor on the Selected Channels property and select channels for online acquisition. The selected channels can be then accessed by the signal processing elements.

Testing the element with a simulated signal

If you have no LSL stream available at the moment, you can test the element in the signal simulation mode or, with a data file containing a signal stream:

  1. Browse properties of the OpenViBE Signal element down to the Signal Generator group.
  2. Via the 'Signal Source' property, select either Oscillatory generator or External file options.
  3. If you have selected the Oscillatory generator mode, choose parameters of the generated signal with the following properties: Primary Frequency,Secondary Frequency,Noise Level.
  4. If you have selected the External file mode, define a path to the signal file. If path is made just of file name, the file will be loaded at location of your experiment. The signal file must be in the binary format, with each sample represented by double value (8 bytes or 64-bits).
  5. Define the emulated sample rate, in samples per second, via the corresponding property.

ScrewTurn Wiki version 5.2.0.8. Some of the icons created by FamFamFam.