Summary
|
OpenViBE Signal
|
Info |
Category: |
Signal Acquisition |
|
AddIn: |
Signal Processing |
Creator: |
OkazoLab |
|
Scope: |
Experiment |
Owns Snippets: |
None |
|
Usage: |
Snippets |
Properties
Name | Description | Constraints | Type | On runtime change |
---|
Control |
Is Enabled | If set to false the element is completely omitted when the experiment is run | | Boolean | |
Title | Title of the element | | String | |
OpenViBE Settings |
Default Scenario | Defines whether the default data acquisition scenario is automatically started by EventIDE. You can use the default scenario only, when you run the OpenViBE server on the same computer. Otherwise, start the enclosed RawSignalTCP.xml scenario (or, another scenario) manually, via the OpenVIBE designer | | Boolean | |
TCP Writer Port | Defines the port number of the TCP writer box, which have to be included in any OpenVIBE scenario for EventIDE. Note that the value is not related to the OpenViBE connection port. | | Int32 | |
OpenViBE Folder | Defines the OpenViBE folder on the local machine. You need to set this property only, if you use the default acquisition scenario | | String | |
OpenViBE Server Address | Defines the address of the OpenViBE acquisition server and TCP writer. Use '127.0.0.1', if the OpenViBE acquisition server runs on the same computer. | | String | |
Sample Size | Defines the sample size (in bits) of a signal streamed by OpenViBE. The value should be the same as settings of the OpenViBE acquisition server, but do not confuse this property with the 'Sample count per sent block' parameter in OpenVibe. For example, set 64 for a double sample | | Int32 | |
Connection Timeout | Defines a timeout (ms) of the connection to the OpenViBE TCP server. | | Int32 | |
Channel Configuration |
Request OpenViBE | Sends a configuration request to the OpenViBE acquisition server, which must be run beforehand. The configuration request must be made each time as the OpenViBE element is created or as the OpenViBE server settings are changed. The OpenViBE acquisition server returns the number of active channels, which can be acquired in EventIDE. | | Boolean | |
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. | | IList | |
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 Source | Defines a source for the signal. The emulated rhythmes can be used for offline validation of the chosen analysis settings | | enEmul.. | |
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 | |
External Datafile | Opens the dialog for selecting a data file containing a stream of double numbers representing a signal. If a file name without a path is defined, the data file will be picked up in the location of the experiment file. | | String | |
Runtime Control |
Reset Signals Now | Runtime commands that resets the signal buffers and data acquisition | | Boolean | |
|
OpenViBE Signal Element performs buffering of real-time signals (e.g. EEG) provided by the
OpenViBE acquisition server. The buffered signal data can be used by the signal processing elements in EventIDE. For example, the signal data can be monitored, analyzed or used for neurofeedback control in experiments. In order to use this element, you must have the OpenViBE platform installed.
Description
The element uses a TCP network connection to talk with the OpenViBE acquisition server. The OpenViBE server must be run on the same computer and configured to stream signals from EEG hardware. Once the element is added to an experiment, you need to request the OpenViBE configuration and select EEG channels, which should be passed to EventIDE. As an experiment starts, the element begins receiving data and buffering into circular buffers, maintained by EventIDE (the buffers can collect data from multiple signal acquisition elements). The signal processing elements, e.g.
Signal Analyzer element can be then used to monitor and analyze the buffered signals at runtime. Fast buffering and processing time in EventIDE (down to 1ms) allows instant detection of signal characteristics and, subsequently, various forms of neurofeedback control in experiment.
Snapshots
OpenViBE acquisition server in the required operational mode |
Practical Use
Using the element on a real setup
- Manually run the OpenViBE acquisition server and set up all settings for data acquisition with your EEG hardware. Connect the OpenViBE acquisition server and start it playing (see the snapshot above)
- Add a new OpenViBE Signal element to any event in your experiment (the element is global and works from the start to the end of experiment).
- Select the added element to browse its properties in the Property panel.
- Define a path to the OpenViBE installation folder on your machine via the Set OpenViBE folder property.
- Check that the value of the Sample Size property is equal to the corresponding property on the OpenViBE acquisition server.
- Request the OpenViBE configuration by the Request OpenViBE property.
- If a TCP connection with the OpenViBE server is established successfully, upon the request, the element obtains the configuration of available EEG channels.
- Select the channels for acquisition and buffering within EventIDE via the Selected channels property.
- Use the signal processing elements to access the buffered data.
Testing the element with an emulated signal
if you have no EEG hardware or the OpenViBE package available at the moment, you can test the element in the signal emulation mode or with a data file containing a single signal stream:
- Browse properties of the OpenViBE Signal element down to the Signal Generator group.
- Via the 'Signal Source' property, select either Oscillatory generator or External file options.
- If you have selected the Oscillatory generator mode, choose parameters of the generated signal with the following properties: Primary Frequency,Secondary Frequency,Noise Level.
- 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).
- Define the emulated sample rate, in samples per second, via the corresponding property.
Notes
- To use the OpenViBE Signal element, you must have the OpenViBE platform installed and OpenViBE acquisition server started all the time.
- To use the OpenViBE Signal element, you must have a network enabled on your local machine.
- If you changed a configuration of the OpenViBE acquisition server, you need to re-request it in EventIDE. Otherwise, a request should be done only once.
- If you experience problems connecting to the the OpenViBE acquisition server, try to restart the latter. Before starting it again, and make sure that there are related processes in the computer memory.