OpenViBE with GES400

Ask for a new OpenViBE feature.
Post Reply
oyenil
Posts: 4
Joined: Fri Jan 06, 2017 8:22 am
Location: CIC-IT, Besançon, France

OpenViBE with GES400

Post by oyenil »

Hi everyone,

I would like to know if there will be an acquisition driver for EGI's GES400 as for GES300 ?

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

Re: OpenViBE with GES400

Post by jtlindgren »

Hi Oyenil,

I haven't heard of such a project. It doesn't mean it couldn't exist. :)

Have you tried that the existing Net Amps 300 driver doesn't work with the 400 series? I've personally used the driver with a collaborator's 256 electrode EGI system, although its specific model name escapes me for the moment.

Basically how the driver works is that it opens a tcp/ip connection to the ampserver and sends it relatively simple text format commands, and then reads the data back. If EGI has kept the interface similar, I doubt that it'd be difficult to modify the driver to support the other amp. Unfortunately, without access to the hardware this development is difficult to do. With an amp, I'd suppose a day or two of work at most for anyone who understands C++. There's a few obvious places in the current driver to change, for example the channel count seems to be hardcoded to 280 and the sampling frequency to 1000.

If anybody has the amp and takes up this project don't hesitate to ask for advice!

ps. labstreaminglayer seems to have an AmpServer component. If you can pull data with that, you can possibly use it to route it to openvibe using the LSL driver.


Best,
Jussi

oyenil
Posts: 4
Joined: Fri Jan 06, 2017 8:22 am
Location: CIC-IT, Besançon, France

Re: OpenViBE with GES400

Post by oyenil »

Hi Jussi,

I’ve tried with the Net Amps 300 driver and it seems not working. I’ve talked with an EGI’s software engineer and after seeing my lab’s invoice, he confirmed that our SDK license key works only for the NA400 server and not both 300 & 400 because only the one for NA400 has been purchased.

So, here the configuration of :

Our AmpServer information
Image

AmpServer Driver properties
Image

AmpServer Preferences
Image

AmpServer Error message
Image

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

So I tried with LSL driver and the last version of LSL that I downloaded at the address https://code.google.com/archive/p/labst ... /downloads

Here the settings for the AmpServer.exe
Image

You said
There's a few obvious places in the current driver to change, for example the channel count seems to be hardcoded to 280 and the sampling frequency to 1000.
Actually, the electrode net that we are using at my lab is 256 electrodes and the sampling rate is 1000Hz like the default parameters.

So in the EGI AmpServer Connector, I just have to write 256 in the “Number of Channels” ?
And concerning the Amplifier Id, I’ve read here https://github.com/sccn/labstreaminglay ... erver.wiki that it corresponds to the number of amplifier that we are using… So if I have one amplifier, I juste select 1, we’re okay for now ?

So, here the configuration of :

LSL Driver properties
Image

LSL Preferences
Image

LSL message
Image


After clicking on connecting, I have these :

Image
Image

I think having a drift is normal… But have something filled with a “NaN” is that normal ?
Any ideo of what corresponds the “0” from “Timeout reading sample from 0” ?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

After all of these steps, I wanted to try the “ready to use” motor imagery scenarios, so I have put the 4-5 xml files into the designer. Then, I press the button “run” for the “signal monitoring” scenarios and I have this :

Image

And when I try to “run” the second scenarios with the cursor task / gratz visualization, I have this error :
Image
And I think it’s may be because I don’t have signals ?


Respectfully,
Omer.

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

Re: OpenViBE with GES400

Post by jtlindgren »

Hi Omer,

I see many unrelated issues there.

1) OV EGI Driver and LabStreamingLayer driver are not related, so what I said about things being hardcoded, these are related to the EGI driver. Why the driver fails to connect to the ampserver I do not know. These are sometimes firewall issues and can be ruled out by trying port scanners and other network hacking tools etc from the client computer side (not part of openvibe).

2) The timeout means that at timestep 0, it was unable to get a sample. Essentially it says its able to get nothing from the LSL Stream, although it seems it detects the stream as you can see it in the drop down menu of the driver.

3) The write error you have is related to Windows and a well-known openvibe 'feature': the scenarios cannot be run from under Program Files (x86) as a normal user does not have write access there. They need to be copied elsewhere (manually).

I'd continue on the labstreaming layer path, try to find out why the timeout happens. You could try some non-openvibe LSL tool possibly to take a look if that is able to pull the data from LSL. If not, its likely an issue on the sending side.


Happy hacking,
Jussi

oyenil
Posts: 4
Joined: Fri Jan 06, 2017 8:22 am
Location: CIC-IT, Besançon, France

Re: OpenViBE with GES400

Post by oyenil »

Hi Jussi,
3) The write error you have is related to Windows and a well-known openvibe 'feature': the scenarios cannot be run from under Program Files (x86) as a normal user does not have write access there. They need to be copied elsewhere (manually).
I’ve done exactly what you said and you were right : now there’s no error occurring while running the second scenario of the “ready to use” scenarios for the motor imagery.
You could try some non-openvibe LSL tool possibly to take a look if that is able to pull the data from LSL. If not, its likely an issue on the sending side.
I’m going to re-give a try for this lead. But you can note that I was facing a similar problem with the system : EGI => LSL (+LabRecorder) => BCILAB.
While sending the data to LSL and recording it with LabRecorder, I can check the signals thanks the BCILAB’s Matlab viewer.
Image
Image

Here again I have the same situation like on OpenViBE : it seems that EGI’s data are detected but not streamed…
Image


I saw herehttps://github.com/sccn/BCILAB/issues/7 that may be an input problem or may be a parameters issue and it seems the paramaters (second picture : vis_stream) should do the work from what I understood.
Image
Image

I will try it later, once I’ve done deeper researches in this way to see if it’s an issue on the sending side as you said.

Sincerely,
Omer

EDIT 1 : I saw that the pictures are small, I will do an edit later with my personnal PC in order to adapt the size.

Post Reply