Page 1 of 1

BCI2000 with Neurobit Optima 4

Posted: 20 May 2014, 10:39
by jdevince
Hi,

I'm trying to test some BCI applications with a Neurobit Optima 4. I am trying to develop a real-time BCI application, but the only software the Neurobit device interfaces with is BrainBay. This software has some capabilities, but not nearly as much as BCI2000. Since BCI2000 does not work directly with the Neurobit device, I am hoping to see if some sort of work-around is possible. The software that I have, BrainBay, interfaces with the device and can export the EEG data via a COM port or TCP. It can also export the data in edf format, which I believe can be read by BCI2000, but I don't think this can be done in real-time. Can BCI2000 acquire the data sent from BrainBay via a COM port or TCP? I'm hoping to find out whether this work around is plausible or not.

Also, do any of you have experience with BCILAB? If interfacing the Neurobit device with BCI2000 doesn't work, I'm hoping to try BCILAB next. I don't know much about BCILAB yet though, so any advice on whether or not I should try it with Neurobit would be appreciated.

Re: BCI2000 with Neurobit Optima 4

Posted: 21 May 2014, 03:03
by boulay
If you want BCI2000 to get its signals from a TCP server then I think you should copy the RDAClient and modify it to work with BrainBay.

Re: BCI2000 with Neurobit Optima 4

Posted: 21 May 2014, 03:16
by boulay
I read the neurobit site and it lists as one of its features an "Application Programming Interface" (API). I don't know what the API exposes, but it might be worth checking to see if it gives access to the data buffers directly then you can try writing a BCI2000 source module using the API. Generally this is preferred to using the TCP server/client model because it is faster.

Re: BCI2000 with Neurobit Optima 4

Posted: 21 May 2014, 16:04
by jdevince
Thanks for the tip on looking into the API. I've got the Neurobit API and it does have direct access to the data. I'm going to try to build a new signal source module. Could anyone provide any examples or tutorials for how to create a new BCI2000 signal source module?

I've found this source. Under "Creating a project for a new BCI2000 module, from a template" it says how to create the new files required, but I'm lost on what I would do after that. Is there a wiki page that better describes how to do this? My current plan is to try to model my new signal source after existing sources, but if there's a well defined tutorial on this I'd be glad to hear about it.

Re: BCI2000 with Neurobit Optima 4

Posted: 22 May 2014, 00:57
by boulay
Try this tutorial to understand the general concepts. The specifics of this tutorial are a little out of date.

For example, creating a project from the link you mentioned above will lead to a filter that subclasses BufferedADC, whereas the tutorial assumes you are subclassing GenericADC. There are some important differences between the two. I don't know which will be best for you but I tried both with my own module and failed with GenericADC but got it to work with BufferedADC, so I guess that's one reason to choose BufferedADC.

Thus, I suggest you create the project as described in the link you provided then try to implement it by drawing from the concepts in the tutorial and example source modules that subclass BufferedADC. I am not able to search through the modules right now to determine which ones subclass BufferedADC.

Good luck!
-Chad

Re: BCI2000 with Neurobit Optima 4

Posted: 22 May 2014, 09:06
by jdevince
Thanks Chad! I'll be giving it a shot.