Efficient adquisition and data storage (OpenBCI)

Obtaining data from various hardware devices
Post Reply
b0rn4
Posts: 11
Joined: Mon Feb 05, 2018 11:32 pm

Efficient adquisition and data storage (OpenBCI)

Post by b0rn4 »

Hi everyone,

I'm currently working in polysomnography analysis.
I use a hardware composed by a Pi3 and OpenBCI, with daisy module, that allowed me to adquire 16 channels at 125hz. My software is openvibe (1.2.2) acquisition server/design for a small live view and csv data storage.

Today i complete my first 30min of adquisition successfully and write a .csv file with that data. Later i try to playback that session with same display, filters, etc configuration than live, but looks like a poor quality visualization. Specialy in 12-channels correspond to EEG data, seems less density data plot and poor detail of lines trace.
Try with EDFbrowser for visualice the session and same results, poor quality of signal, like if some data was lose in the write .csv process.

Some ideas about what could are happening?

I check the numbers of samples in .csv output and its ok (30min at 125hz is aprox 225k samples). Default configuration in server adquisition and drive properties was used.
One things i noted is that bar drift scale to full right in like 3seg and keep full as long adquisition is on.
I don't know if is directly related with my problem, i read in 2.0 version drift is disable and for <1.3 default configuration driver decide. I'm wondering whats configuration would be best for priorise my data quality?? Maybe write a 32bits data directly to the SD card provide in OpenBCI module?

Hope someone can help me.

Cheers!

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

Re: Efficient adquisition and data storage (OpenBCI)

Post by jtlindgren »

Hi,

CSV is not a 'binary precise' format in this sense: what you push in, is not necessarily exactly what comes back when you read the file. This is because all the numbers have limited precision.

I recommend saving data always to binary precise .ov format, and later convert to gdf or csv or something else where needed.

By looking at the stimulation stream coming from AS you should see if the AS has touched the signal with drift control (in 1.2.2, gdf correct / incorrect stims).

The playback of a recorded signal to .ov format should of course look identical to what you saw during the recording (e.g. with Signal Display). First monitor the data before recording, then start recording, then look at the recording later. The later recording should 'look' intuitively similar as the data you saw in the beginning. If not, something changes during the recording. If its anything else than the users brain activity changing, it might indicate a problem in the acquisition chain (openbci, the driver, something in openvibe).

If you can instruct OpenBCI to internally record to an SD card independently of Acquisition Server, then of course such recording would be necessarily free of any possible issues due to openvibe. Of course such recording might still have drift (in relation to some specific clock), but this is difficult to know based on a recording alone.


My three cents,
Jussi

b0rn4
Posts: 11
Joined: Mon Feb 05, 2018 11:32 pm

Re: Efficient adquisition and data storage (OpenBCI)

Post by b0rn4 »

Jussi,

Thank for your soon answer.

Definitly i will try recording data in .ov format.

Cheers from Argentina.

b0rn4
Posts: 11
Joined: Mon Feb 05, 2018 11:32 pm

Re: Efficient adquisition and data storage (OpenBCI)

Post by b0rn4 »

Jussi,

Here I'm again :cry:

I did several test writing data in .ov files, seems to result in a file with data but can't visualize or playback anywhere.

In Openvibe 1.2.2 ov reader box output just can't connect to signal display input box.

I try using version 2.0.1 in my notebook, reader output now can be connected to signal display input but nothing is showed in it.
Also i was success writing and reading .ov files recorded and playback entirely from version 2.0.1, but that is not a possibility because that version can't be installed in pi3.

Latest was no success in openvibe-convert for try a ov2csv o whatever.

Any solution or suggestion?

Cheers!

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

Re: Efficient adquisition and data storage (OpenBCI)

Post by jtlindgren »

For ref, my other post hopefully sorts the issue about connecting boxes.

viewtopic.php?f=3&t=9902&p=15619#p15629

Normally signal display should make something meaningful out of ov streams. If not, EBML Stream Spy box can be used to see what kind of structure an .ov file has. You can also write it to CSV by the corresponding box and look at the signal in a text editor.

Sorry for the late reaction, post went under radar,
Jussi

Post Reply