Scenario processing and clock time

Working with OpenViBE signal processing scenarios and doing scenario/BCI design
Post Reply
Posts: 4
Joined: Mon Sep 16, 2019 6:29 am

Scenario processing and clock time

Post by Stephi »

We designed our own BCI scenario with 2 acquisition clients, some parallel epoch power calculations of different frequency bands (pipeline of temporal filter, time based epoching, simple DSP, signal average, epoch average; as seen in the neurofeedback BCI example). Additionally, we programmed our own boxes to send stimulations.

We wondered how long it takes OpenViBE to process all the input from the acquisition server to reach the last box? In our case, the last box would be a file writer. Does the real-time imply that all the input chunk is finished processing through all the boxes within the scenario before the next input chunk enters the first box after the acquisition client?

Am I correct in the assumption, that the chunk that enters OpenViBE always keeps the same chunk input time when it is processed through all the boxes in series? Additionally, is there a way that in stimulations, the "real" time (a clock-time) when the stimulation was generated is saved and not the chunk input time?

Thanks a lot for your help.

Posts: 234
Joined: Wed Oct 31, 2018 9:14 am

Re: Scenario processing and clock time

Post by Thibaut »

First the time of the Chunk, Yes he keep the same time (when you see some code you can see the starttime and endtime is past during the process. The datageneration (acquisition in your case) give the tempo. You can have a lag if data is send an other time and your process "serie" is not finished.
It's The Warning message "can not reach real time".
Next, you wan't to modify the date of your chunk, It's not a natural behavior so you must write some code to do that. For the best is to keep normal date and next you can make an other scenario or simply a script python/matlab/other to modify manually the gdf/ov/csv file. You keep the raw and you can make your mix as you wan't but take care with the time, for example if you have signal you must give a sampling frequency so you can't change the time easily. If it's a streamed Matrix you can make all you wan't just avoïd to have time before the previous time.^^

Post Reply