Page 1 of 1

P300 Calibration issues with ABM's EEG system

Posted: 30 Jan 2013, 16:24
by pmahajan
I am attempting to implement the P300 speller with ABM's (Advanced Brain Monitoring) B-Alert X10 system and BCI2000, and I am having trouble calibrating the P300 signature. The P300 peaks themselves appear to occur all over the timeline, from 250 ms to 700 ms. I have tried manual identification of the peaks, it did not work. So, I tried using the P300 classifier GUI program, and it shows that it has 90% accuracy with freq decimation of 20 as per the GUI program, but using the feature weights it provides, still continues to fail at calibrating the actual P300 speller system.

If you have any idea why this could be happening, please let me know.

Here are some of the ideas I have thus far, of what could be the issues here -
1. I have downloaded and compiled the source from the trunk, in order to get the signal source for ABM's device. During the build tests as specified in the programming reference build system, I get 27484 differences with 27445 significant differences in the P300 test (Other tests also have the exact same pattern). I also notice that the numbers are skewed, here is an example.

------------
Difference: signal value "-137" should be "71". <---- This 71
Difference: signal value "432" should be "-442".
Difference: signal value "407" should be "-432".
Difference: signal value "-171" should be "28".
Difference: signal value "196" should be "325".
Difference: signal value "376" should be "393".
Difference: signal value "-49" should be "-354".
Difference: signal value "453" should be "-452".
Difference: signal value "71" should be "-142". <----<----- shows up here?
Difference: signal value "-442" should be "161".
Difference: signal value "-432" should be "-328".
Difference: signal value "28" should be "-331".
Difference: signal value "325" should be "-363".
Difference: signal value "393" should be "-31".
Difference: signal value "-354" should be "450".
Difference: signal value "-452" should be "-299".
Difference: signal value "-142" should be "-91".
Difference: signal value "161" should be "410".
Difference: signal value "-328" should be "-402".
Difference: signal value "-331" should be "41".
Difference: signal value "-363" should be "-83".
Difference: signal value "-31" should be "-449".
Difference: signal value "450" should be "193".
Difference: signal value "-299" should be "166".
Difference: " FixationViolated: 0 0 0 0 0 0 0 0" should be " PauseApplication: 0 0 0 0 0 0 0 0".
Difference: " GazeCorrectionMode: 0 0 0 0 0 0 0 0" should be " PhaseInSequence: 0 0 0 0 0 0 0 0".
Difference: " PauseApplication: 0 0 0 0 0 0 0 0" should be " Recording: 1 1 1 1 1 1 1 1".
Difference: " PhaseInSequence: 0 0 0 0 0 0 0 0" should be " Running: 1 1 1 1 1 1 1 1".
Difference: " Recording: 1 1 1 1 1 1 1 1" should be " SelectedColumn: 0 0 0 0 0 0 0 0".
Difference: " Running: 1 1 1 1 1 1 1 1" should be " SelectedRow: 0 0 0 0 0 0 0 0".

-----------
The values are the same, just offset by 8. It seems to be a file format issue and not a build issue (unless build issue causes files to be written out or read in differently). I am using WinXP SP3 and MS VC2008 to perform the build.

2. ABM's contribution -
If there is anyone using ABM's device with BCI2000, I would like to hear from you. I see the signals coming in to BCI2000 being displayed properly, so at least visually it seems to be interfacing correctly.

Again, if you know where I am going wrong (or missing steps) to get the P300 speller calibrating correctly, please let me know. Thank you.


Pankaj

Re: P300 Calibration issues with ABM's EEG system

Posted: 01 Feb 2013, 12:40
by mellinger
Hi,

thanks for your note about the test failure.
The regression test is based on a simple string comparison of ASCII data. It will get confused by components which are not present in a core distribution build, such as the GazeCorrectionFilter.
I will change the implementation of the test, so it should behave as expected in future versions of BCI2000.

Regards,
Juergen

Re: P300 Calibration issues with ABM's EEG system

Posted: 01 Feb 2013, 20:14
by gschalk
How much data are you using for analysis in the P300Classifier?

I would suggest to start with at least ~10 characters at 15 repetitions each.

Can you post what the signals look like for target and non-target?

Gerv

Re: P300 Calibration issues with ABM's EEG system

Posted: 04 Feb 2013, 14:02
by pmahajan
I am using 16 characters, 15 repetitions each. If more characters is what we need, then I can try even more.

Here are the waveforms, with CAR and without CAR.