Stimulation based epoching: multiple classes in one box

Working with OpenViBE signal processing scenarios and doing scenario/BCI design
Post Reply
simon.ruch
Posts: 1
Joined: Thu Mar 15, 2018 12:59 pm

Stimulation based epoching: multiple classes in one box

Post by simon.ruch »

Dear all

Is it possible to select multiple stimulations (e.g. from OVTK_StimulationId_Label_01 to OVTK_StimulationId_Label_FF) in one "Stimulation based epoching" box? Or do we have to use different boxes for every StimulationId?

Here's what we are doing:
We successfully implemented a closed-loop algorithm in Matlab to target auditory stimuli at specific brain states during sleep. In our setup, we use the powerful display capabilities of OpenVibe to visualize the EEG for online sleep scoring. We further want to display the average event-related potentials (ERPs) for our stimulations during sleep. So far, we were unable to set up the "stimulation based epoching" such that multiple events/stimuli/stimulus classes are used for epoching and averaging.

This is our general setup:
EEG is recorded and streamed with Brainvision Recorder. Stimulations are marked with codes 1 to 255. The EEG signal and the stimulation codes are correctly forwarded to OpenVibe, where they are processed and displayed.

What we want:
We would like to extract a stimulation based epoch whenever any stimulus with a code ranging from OVTK_StimulationId_Label_01 to OVTK_StimulationId_Label_FF (i.e. 1 to 255) is registered in order to compute the average ERP across the last ten epochs/stimuli.
So far, we were only able to select single events (e.g. by setting "Stimulation to epoch from" to “OVTK_StimulationId_Label_0B” for a stimulus with the code 11). However, all our stimuli have different, unique codes. How can we select a range of stimuli in one box? Is this possible at all?

Any help is appreciated
Simon

jtlindgren
Posts: 778
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: Stimulation based epoching: multiple classes in one box

Post by jtlindgren »

Hello Simon,

its great that you could bring this to our attention. There really is a limitation that you cannot currently make the stimulation based epoching trigger by a set, but only by individual stimulations. This will clearly limit such analysis types that try to blend multiple categories.

For the moment you should be able to work across this by writing a simple .lua script and use it in Lua Scripting box to modify the stimulation stream. You can use

Code: Select all

share/openvibe/scenarios/bci-examples/p300-speller/p300-speller-filter-flash.lua
as a starting point. The logic should be changed in a way that it does

Code: Select all

if(stimulation is in your set)
  send specific stimulation;
and then make the stimulation based epoching trigger on this specific stimulation. For the output timestamps, just use the input timestamps.

Good luck!

Jussi

Post Reply