P300 Speller - Worng Letter, correct line

This forum deals with BCI2000 configuration issues.
tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

P300 Speller - Worng Letter, correct line

Post by tcetin » 30 Aug 2010, 06:40

Hi,
We are trying since a few weeks to establish BCI2000's P300-Speller in our lab, but its not really doing what it should - basically we get in about 75% of the experiments a letter from the correct line, but not the expected letter. More rarely we get a letter from the correct column, but the actual target letter seems to be just random.
Any idea if thats normal and we just have to calibrate better, or might there be a technical problem we have just not seen so far?

Thanks,
Timur

jawilson
Posts: 109
Joined: 28 Feb 2005, 16:31

Post by jawilson » 30 Aug 2010, 10:24

Timur,
The short answer is that you should probably be using the P300 GUI to automatically generate the correct classification matrix. See http://www.bci2000.org/wiki/index.php/U ... s_Tutorial for information on using this, since it works much better. If you are already using this tool, it may help to switch to a CRT monitor (i.e., not a flat panel LCD monitor), and do the tests in a dark room. If these suggestions do not work, please let us know. Good luck!
Adam

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Post by tcetin » 08 Sep 2010, 07:10

Thanks for the answer, I haven't used the P300 GUI so far and will give it a try...otherwise we were also thinking of a basic technical reason for this problem, but we have already switched to a dark room, tried different illuminations while performing the session, varied the distance between subject and screen, etc. Actually we are always using a CRT for this kind of setups, our engeneers are very carefull about using a LCD-Display due to the refresh rates.
I just talked to one of our engeneers about this issue yesterday and for them it looks like the online classefier always uses only either the row or the column, but skips the second parameter. They guessed that there must be a way of setting to classefier to either use the row, the column or the combination of both as the actual target to display, but I am not aware that there are preferences were you can choose this option...or is there this option and I simply missed to check a box or something?

Timur

jawilson
Posts: 109
Joined: 28 Feb 2005, 16:31

Post by jawilson » 08 Sep 2010, 09:29

Timur,
I can almost certainly promise you that the P300 speller uses both the row and column, since this is a bug that probably would have been detected in the last decade and dozens of papers :D . I would definitely make using the P300 GUI a priority; it works VERY well, and will likely eliminate any issues you are having. However, if you want, have the engineers post some of the code where they think there is a bug, and we will check it out.
Adam

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Post by tcetin » 09 Sep 2010, 06:25

Hi,
I am sure that the speller uses gernally row and column, I know that it seems to be working for other people, yet I we thought there might be a bug in it only we managed to get, maybe something specific to our setup.

I guess using the GUI should be my first priority, but I also havn't managed to get it running here - I guess we need the statistics toolbox for Matlab for that?

Thanks,
Timur

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

P300GUI

Post by gschalk » 09 Sep 2010, 14:21

Instead of the P300GUI, you can also use the P300Classifier that comes with BCI2000 V3.0. The P300Classifier does not need Matlab.

Gerv

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Re: P300GUI

Post by tcetin » 10 Sep 2010, 07:38

gschalk wrote:Instead of the P300GUI, you can also use the P300Classifier that comes with BCI2000 V3.0. The P300Classifier does not need Matlab.

Gerv
Very nice, that seems to be working, I just gave it a try - we could not use the GUI as the Matlab-Version avaliable to us does not provide the statistics toolbox.
Thanks,
Timur

jawilson
Posts: 109
Joined: 28 Feb 2005, 16:31

Post by jawilson » 10 Sep 2010, 10:07

Timur,
Sorry, I meant the P300 Classifier, not the P300 GUI (they do similar things, but the GUI requires matlab, and I confused them!).
Let us know if this works better for you!
Adam

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Post by tcetin » 13 Sep 2010, 07:00

Hi,
many thanks for your help!

I just tried it and using the P300 Classefier seems to do the trick, with just 2 files for calibration the generated *.prm-file led to nearly 100% correct in the first spelling session...great, but now its up to some theory for me, I have no Idea what the classefier (as well as the GUI) are actually doing...any good literature on the methodological background you could recommend?

Cheers,
Timur

jawilson
Posts: 109
Joined: 28 Feb 2005, 16:31

Post by jawilson » 13 Sep 2010, 10:59

There is a lot of information on the wiki, at http://www.bci2000.org/wiki/index.php/U ... Classifier. Basically, it uses a step-wise linear discriminate analysis to try to find the time points that are significantly associated with the correct stimulus, and uses those for the classifier.
Adam

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Post by tcetin » 14 Sep 2010, 07:09

jawilson wrote:There is a lot of information on the wiki, at http://www.bci2000.org/wiki/index.php/U ... Classifier. Basically, it uses a step-wise linear discriminate analysis to try to find the time points that are significantly associated with the correct stimulus, and uses those for the classifier.
Adam
I red about the P300Classifier using SWLDA, I just dont understand whats the principal difference to the "normal" calibration using the Offline Analysis tool and Matlab, what does make it so much more reliable? Just the number of data points that go into the classifier matrix? Is it basically the same, just using a way of better identifing the time points then we can do by looking at the matlab-plot or is there a different mathemathical approach ?
But I guess I will look for some literature and have a good look at the wiki, I should find the answer there I guess...

Is it a common problem and do you gernally see such a difference between "normal" calibration and using the classifier GUI?

Thanks,
Timur

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

P300Classifier

Post by gschalk » 14 Sep 2010, 07:26

Hi,

It is basically the same approach in that they both use a linear classifier, i.e., a linear combination of amplitudes at different times and channels, to discriminate the correct from the incorrect rows and columns. Determining which times and channels to use is the principal problem, which really cannot be done without an algorithm such as SWDA. Thus, you will always get much better with the P300Classifier than with manual configuration.

OfflineAnalysis is mainly meant to get a feel for the data.

Gerv

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Post by tcetin » 29 Oct 2010, 09:25

Hi,

so we are using the Classifier-Program now and get very good results now, but a question came up...
Sometimes the *.dat-File recorded in the calibration session cannot be processed in the p300-classifier program, the computer crashes when we try to generate the feature weights of certain files.
We are using a BrainProducts BrainAmp system and the RDA-Accquisition module, connected to a BatteryPack. I noticed that *.dat-files cannot be processed in the classifier for files recorded when the BatteryPack of the Amp is not providing the full power, i.e. the fully charged Battey Pack provides 5.6 V and everything is fine, but as soon as the power drops the files cannot be processed any more in the classifier, even so the Amp works fine as long as the power does not drop below 5.1 V.
So did we discover a bug or is it a feature? :)

Cheers,
Timur

cmpotes
Posts: 13
Joined: 03 Oct 2009, 11:24

Post by cmpotes » 29 Oct 2010, 10:56

Timur,

Why don't you send me the corrupted data files (e.g., those files where the P300Classifier crashes) to my email?

cmpotes@miners.utep.edu

I will look at them and let you know any result.

Thank you,

tcetin
Posts: 13
Joined: 20 Aug 2010, 05:32

Post by tcetin » 01 Nov 2010, 05:28

Thanks, I can do that. But the files are not absolutly necessary for us, it is just more a question to understand what really happens, is it possible that the lower battery charge causes this kind of bug?
It must be, as now the amplifier was charged over the weekend and it works fine again.
Is information about the actual bttery power during the recording stored somewere in the *.dat-files produces by BCI2000? In general BCI2000 files produce one channel more that the actual number of physical chancels we record, is this kind of technical information written on this channel?

I will send the files, maybe it will be obvious for you what happens.

Thanks,
Timur
cmpotes wrote:Timur,

Why don't you send me the corrupted data files (e.g., those files where the P300Classifier crashes) to my email?

cmpotes@miners.utep.edu

I will look at them and let you know any result.

Thank you,

Locked

Who is online

Users browsing this forum: No registered users and 1 guest