How can the BCI2000 synchronize with EEG Neurofax9100/9200?

Forum for discussion on different user applications
elita
Posts: 12
Joined: 15 Apr 2010, 14:19

How can the BCI2000 synchronize with EEG Neurofax9100/9200?

Post by elita » 15 Apr 2010, 16:26

Hi, I want to know regarding if is possible to use BCI2000 with EEG Neurofax 9200, in terms of synchronization between signal obtained from neurofax and the stimulus produced by BCI2000 (Donchin board specifically). What information I need to know in order to synchronize them, etc.

If is possible I would appreciate you can guide me how can i do it.

thanksssss :D

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 16 Apr 2010, 07:36

For an EEG system to be used with BCI2000's online classification capability, one needs real-time access to the signals recorded by the EEG system, so BCI2000 can acquire and store them together with its event markers.

From Nihon Kohden's product description, it appears that there is no way to obtain the EEG signal recorded by the Neurofax 9200 system in real time. So I don't think you can use this system with BCI2000 to do online classification.

In case you just want to use BCI2000 for stimulation, and record using the Neurofax system, you might modify the BCI2000 software to output digital signals at the parallel port of the BCI2000 machine synchronously with the StimulusBegin and StimulusType event markers, and use a custom cable connector to feed that signal into the Neurofax system's trigger input. If this is what you want to do, I can provide you with more details regarding the BCI2000 side.

--Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 20 Apr 2010, 12:24

That's what I want to do, use BCI2000 for stimulation, and record using the Neurofax9100/9200. I would appreciate you give me information and support.
Sorry for the delay to respond
Thank you very much :)

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 21 Apr 2010, 07:53

To achieve output of BCI2000 trigger information to the parallel port, you might use a tiny external program connecting to BCI2000 via the AppConnector protocol.

This program would monitor BCI2000's StimulusType and StimulusCode state variables, and set the parallel port's output lines such that they encode the information required to do offline processing of the recorded data.

There is an AppConnector example program at
http://www.bci2000.org/tracproj/browser ... lelSwitch/

For your purposes, this should provide a good starting point, as the program already monitors BCI2000 state information and writes to the parallel port. All that you would need to do is to modify the program's logic to monitor both the StimulusType and StimulusCode states, and to set the parallel port to a bit pattern that encodes the information represented by the two states, and is suited for the Neurofax' trigger input.

--Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 05 May 2010, 12:58

hello again, I have a couple of questions if you can guide me it would be great.
First: what kind of cable is the one I use for the connection? (USB, RS-232)

Second: I need to modify the source code of BCI2000 to achieve the external connection.

this is for now, thanks for your help.

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 06 May 2010, 08:25

First: what kind of cable is the one I use for the connection? (USB, RS-232)
You will need to make a custom cable that links the BCI2000 machine's parallel port to the Neurofax' trigger input.
For information about the parallel port such as pinouts, see http://en.wikipedia.org/wiki/Parallel_port. For details about the Neurofax trigger input, see your Neurofax product manual--I could not identify any such information on the net.
I need to modify the source code of BCI2000 to achieve the external connection.
You don't need to modify the BCI2000 source code when using the AppConnector protocol. However, you might need to slightly modify the ParallelSwitch interfacing program, depending on what trigger information you want the Neurofax system to record. E.g., when you want to use the P3Speller application to do stimulation, you will probably need the information contained in the StimulusCode and StimulusType BCI2000 states. Thus, you would modify the interfacing program to set the parallel port to a bit pattern that reflects these two states, i.e. 5 bits for the StimulusCode state, concatenated with a single bit for the StimulusType state.
--Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 09 May 2010, 18:18

When Neurofax9100 saves EEG signal, saves the data sent from BCI2000(StimulusType BCI2000 states, etc.) in the same file or in another file??


Thanks for your help,

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 10 May 2010, 04:36

Typical EEG recording equipment will save trigger information along with the EEG signal for later analysis. However, I don't know whether the Neurofax system will use a separate file for trigger information, or record it into the same file as it does for EEG. Please consult your Neurofax manual for details about the Neurofax system.
--Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 10 May 2010, 12:05

I have to install the sdk version of Qt right?
I could not find any exe Qt4 only versions of SDK and Qt Standalone. I also downloaded one called Qt 4.7 & Qt Creator 2.0 Betas, but asked if i have Mingw installed, so I think I need to install something else before, probably SDK version.

I can not find in the manual the trigger input, :? , trigger input is the generic name?

Thanks,

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 11 May 2010, 08:16

I have to install the sdk version of Qt right?
No, you don't need to install Qt if you just want to compile the ParallelSwitch program. A C++ compiler is sufficient for that purpose.
I can not find in the manual the trigger input, , trigger input is the generic name?
Yes, trigger input is the generic name for input lines recorded on trigger channels. Alternatively, the input might be called "marker input".
--Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 17 May 2010, 11:37

hi,
i´m using borland C++ to compile but how can i know it is working, without conect Neurofax9200? I mean how can I see, that is reading ports?
besides, I can not compile, because it does not recognize #include "SockStream.h"

THANKS
Last edited by elita on 17 May 2010, 11:56, edited 1 time in total.

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 17 May 2010, 11:53

To check that the ParallelSwitch program actually writes to the parallel port, i.e. that it modifies the voltage at the parallel port's pins, you might use an oscilloscope attached to the respective pin vs. ground.
If you are not familiar with electronics, I recommend that you ask someone who is, to help you with creating a trigger cable, and making sure that it works.

Regards,
Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 23 May 2010, 22:52

Hi
I have a problem. I i can´t compile, because it does not recognize #include "SockStream.h"
"SockStream.h: No such file or directory.
and so everything else that has "socket" appears as an error

I have to include something else?

P.S: i'm working with Dev-C++

THANKS

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 25 May 2010, 04:39

Elita,

you will need to add the BCI2000/src/shared/utils directory to the include path. Also, add the file BCI2000/src/shared/utils/SockStream.cpp to the project.

--Juergen

elita
Posts: 12
Joined: 15 Apr 2010, 14:19

Post by elita » 25 May 2010, 17:21

Hii

Sorry to bother you again, but i still can´t compile.
now says there's a [Linker error]

for example: [Linker error] undefined reference to `WSAStartup@8'

I added the SockStream.cpp to the proyect,
but i don´t know if I have to add this link to the path?
http://www.bci2000.org/tracproj/browser ... ared/utils

Thank for your Help :)

Locked

Who is online

Users browsing this forum: No registered users and 1 guest