Warm winds and hello! :)

Come here to discuss about OpenViBE in general!
Post Reply
rica01
Posts: 1
Joined: Thu Jan 21, 2010 3:10 pm
Location: Costa Rica

Warm winds and hello! :)

Post by rica01 »

Hi!

Im Ricardo, from Costa Rica! I work in the Neurosciences Research Program of the University of Costa Rica, im a computer science student and i speak french and spanish aswell (just in case anyone wants to answer)

We a project about developping an application that uses a EGG (among other periphericals) to move or interact with a collaborative learning enviroment.

Right now our idea is like this:

EGG -> BCI -> BlenderGameEngine

For now we want to replace the EGG with a signal simulator (for now, one in matlab) and then send it to the BCI (enter OpenViBE) and somehow redirect the output of the BCI to the Blender gameEngine (though Python).

So i have a few questions that hopefully someone will be able to help us:
-Is there a way to simulate the waves from the EGG?
-How is the visualization from the signal processing of the OpenViBE displayed? (OpenGL is my guess since there's linux branches)
-Is there a way to redirect that visualization to Python?



Let me tell you guys taht this effort is extraordinary, i really think this is a good idea and has great appilcations for hte near future. Ive been toying with the OpenViBE designer and i think its very easy to use and has a high usability, and i hope to be of service to this proyect as much as i can.

Again, thank you in advance,

ric@

nbaron
Posts: 23
Joined: Mon Jan 18, 2010 4:54 am

Re: Warm winds and hello! :)

Post by nbaron »

Holà Ricardo.
Is there a way to simulate the waves from the EGG?
You can use the Generic Oscillator from the acquisition server to generate sinus waveform signals.
Either you can use the GDF File reader Box.
How is the visualization from the signal processing of the OpenViBE displayed? (OpenGL is my guess since there's linux branches)
I don't know... but I noticed there is a dependence to Ogre3D. It is certainly running on OpenGL mode. I guess this is for the 3D topographic visualiser. The strange point for me is the dependence to DirectX (on Windows of cours).
So I can't affirm the previous statement.
Is there a way to redirect that visualization to Python?
I have a friend who used a DLL to interect with Blender thought Python. I think it is not so difficult (just google "interact blender python" or "interact blender game engine".
At least you can code a keyboard emulator and use key input in Blender.

lbonnet
Site Admin
Posts: 417
Joined: Wed Oct 07, 2009 12:11 pm

Re: Warm winds and hello! :)

Post by lbonnet »

Hello ricardo,
Thanks for your interest you're warmly welcomed !
And thank you nbaron, I will just precise few things:
You can use the Generic Oscillator from the acquisition server to generate sinus waveform signals.
Either you can use the GDF File reader Box.
Indeed the acquisition server can generate oscillations, or you can use the Sinus Oscillator Box (in Samples). Of course reading EEG data from a file gives you more realistic signal ;)
How is the visualization from the signal processing of the OpenViBE displayed? (OpenGL is my guess since there's linux branches)
We have several displays possible. For the 2D displays (like the signal display or the power spectrum display) we use GTK widgets designed with glade. For the 3D visualizations (Voxel display, 3D topographic map..) we use Ogre3D, masked by a simple home-made API for openvibe (for basic operations such as mesh load, object translations...).
When you install the Ogre3D dependencies, Ogre3D try to load both OpenGL and DirectX.That's why OpenViBE is installing DirectX, to make Ogre3D happy 8) . The default renderer is OpenGL, but if you want you can change your Ogre.cfg file to use DirectX.
I have a friend who used a DLL to interect with Blender thought Python. I think it is not so difficult (just google "interact blender python" or "interact blender game engine".
At least you can code a keyboard emulator and use key input in Blender.
I am not a blender specialist, but we also have here someone who tried few things with blender game engine and python. The results were promising but one problem remains.

openvibe communicates with the outside world through VRPN protocol. The VRPN Server Boxes in openvibe allows VRPN clients to read data coming from openvibe (button states or analog values). The problem is the VRPN implementation on Python side: you have to manually compile python_vrpn (given with VRPN here). Then you can implement a VRPN client in python that will connect to openvibe VRPN servers. The problem that my coworker identified is a limitation given by this python VRPN: you can make only one connection to a VRPN server, thus you can read information coming from only one server (one VRPN server handles at most one button server and one analog server). Depending on what you're trying to do, it can be a problem. A new python_vrpn implementation could of course correct it, but I don't know if the VRPN community has that in mind.

I hope it helps,
Keep us posted about your work !

Regards,

Laurent-
Follow us on twitter >> openvibebci

Checkout my (old) blog for some OpenViBE tips & tricks : here !

Post Reply