Connect BCPy2000 to an EEG amp

Forum for software developers to discuss BCI2000 software development
Post Reply
quangnguyen
Posts: 5
Joined: 17 Nov 2015, 04:25

Connect BCPy2000 to an EEG amp

Post by quangnguyen » 19 Dec 2015, 23:47

Hi everyone,

I'm developing a BCI system using BCPy2000 platform.
I have followed this tutorial and try all demos from the material posted in http://bci2000.org/downloads/BCPy2000/tutorial.pdf. It's really exciting to work in this interactive environment.

But still, I have no idea how to connect BCPy2000 to an EEG amp, in my case - Biosemi.
I read the example concerning to getting signal from audio source (AudioSourceModule.py), I assume that recording signal from other source may follow the similar approach, but I really don't know where to start.

Can anyone give me some hints about this. I really appreciate.

Regards,
Quang

boulay
Posts: 382
Joined: 25 Dec 2011, 21:14

Re: Connect BCPy2000 to an EEG amp

Post by boulay » 21 Dec 2015, 14:51

Probably the easiest thing to do is to use one of the BCI2000 signal source modules instead of using PythonSource.exe. The output of the source module will still be available to the PythonProcessing module.

If you really want to use Python for the source module then you'll have to write a Python interface to the Biosemi API. I've never used Biosemi hardware so I have no idea how difficult this may be, but it is certainly much more difficult than using the already-provided Biosmie2.exe

quangnguyen
Posts: 5
Joined: 17 Nov 2015, 04:25

Re: Connect BCPy2000 to an EEG amp

Post by quangnguyen » 01 Feb 2016, 03:00

Hi bouray,

Sorry for the late reply.
Many thanks, it works fine now.

BCPy2000 appears to be a very attractive platform for me in rapid development of BCI application and design. I have a couples questions regarding usage of BCPy2000.

1. To simplify the process of implementing new BCI system (new signal processing and application modules). Can I just use the pre-built binary files from BCI2000 (Operator and source modules) and then plug them into BCPy2000?
The goal of this approach is to try to avoid building process which is quite tricky sometimes.

2. How far has BCPu300 been developed? I mean, can I get the standard signal processing module that is equivelent to BCI2000? or I have to implement everything in Python by myself.

Thank you for your time.
Quang

boulay
Posts: 382
Joined: 25 Dec 2011, 21:14

Re: Connect BCPy2000 to an EEG amp

Post by boulay » 01 Feb 2016, 09:21

BCI2000 comes with many modules. You run operator.exe, and then you run 3 modules: a source module (many to choose from), a signal processing module (many to choose from), and an application module (a few to choose from).

For the source module, use one that already exists for your amplifier. If one doesn't exist for your amplifier, or the one that does exist doesn't meet your needs, then create a new post on this message board about that and someone else with access to that hardware can help you out.

For your signal processing module, choose SpectralSignalProcessing or P3SignalProcessing if either of those fit your needs perfectly. If they do not, then you can write your own C++ module. Or you can use PythonProcessing to connect to a Python program that you wrote and do your signal processing in Python. Or you can use the Matlab module to connect to a Matlab program you wrote and do your processing in Matlab.

For the application, you can use one of the applications that comes with BCI2000 (e.g., P3Speller, CursorTask), but probably you will want your own custom application. You can write your own C++ application module, or you can use PythonApplication to connect to a custom Python application you wrote, or you can use a dummy application and opt to use the AppConnector. AppConnector will send the processed signal and states over a UDP port and another process (e.g., a 3D game engine) can read in the data over UDP.

So I hope you now understand that BCPy2000 is just a collection of BCI2000 modules that connect BCI2000 to Python processes. BCPy2000 also comes with a Python package that should make it easier to write your own Python programs for use in BCI2000. There are some example BCPy2000 programs that you should look at, but they are not as extensive as the core modules in BCI2000.

quangnguyen
Posts: 5
Joined: 17 Nov 2015, 04:25

Re: Connect BCPy2000 to an EEG amp

Post by quangnguyen » 01 Feb 2016, 12:23

Your information is very helpful. I have a clearer image of BCI2000 modules now.

Thank you for your consideration.

Best regards,
Quang

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests