about P300 Speller calibration and data analysis

Forum for discussion on different user applications
Locked
Yueqing Li
Posts: 51
Joined: 08 May 2007, 16:41

about P300 Speller calibration and data analysis

Post by Yueqing Li » 29 Aug 2007, 02:46

Hi, Dr. Schalk:

We are using 8 channels (1--Fz, 2--Cz, 3--P3, 4--Pz, 5--P4, 6--PO7, 7--PO8, 8--Oz, according to eloc8 file) to record EEG data, loading new parameter files (P300_6x6_matrix.prm and gUSBamp_fragment.prm), using mastoid as reference, forehead as ground, and have checked the impedence in our P300 Speller experiment. It is much better than ever before. We have got an accuracy of 80% in the first session and 60% in the second session. Thank you for all your help.

We have found two new problems in the experiment.

1. We do not know how to calibrate. It seems that we should change the number of flashing times according to the performance of the subject in the calibration session. But we can not find the approriate parameter to describe that in the configuration interface.

2. You have told me before that two ways can be used to produce the graph: 1) example.m file in the \tools\Analysis\P3
2) P300GUI program in the \src\tools\P300GUI.

I can find the example.m file only in the old version of BCI200workshop, but there is no eloc8 text file. When I copy the eloc8 file from the 2ndBCI200workshop and paste it into the old version of BCI200workshop, the example.m file does not work in the matlab. The running result is as the following:

BCI2000 P3 Analysis Routine V1.20
(C) 2002-03 Gerwin Schalk
=================================
Loading data file
Processing all trials (i.e., stimuli)
??? Attempted to access trialdata(:,11); index out of bounds because size(trialdata)=[166,8].

Error in ==> p3 at 82
stimulusdata(cur_stimuluscode, :)=stimulusdata(cur_stimuluscode, :)+trialdata(:, channel)';

Error in ==> example1 at 23
[res1ch, res2ch, ressqch, stimdata] = p3('Yueqing0827S001R01.mat', 256, 11, 650, 1, 1, [270 310 350 390 430 470], [3 2], 'eloc8.txt', '');


In fact I have successfully produced the graph using the old version of BCI200workshop when I used only two channels according to eloc16 file before. So, I am afraid the example.m and P3.m do not support eloc8, or should I change some other arguments?

I can find the P300_GUI only in the 2ndBCI200workshop, but do not know how to use it to produce the graph you have sent me before. There is an readme file, but unreadable when opened.

Thank you very much!

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

re: P3Speller analysis

Post by gschalk » 29 Aug 2007, 08:39

Yueqing,

1. We do not know how to calibrate. It seems that we should change the number of flashing times according to the performance of the subject in the calibration session. But we can not find the approriate parameter to describe that in the configuration interface.
Just set NumERPsToAverage and NumSequences both to the same number of sequences (e.g., 10 or 15) that you want to be played. This is described in the P3Speller documentation.
[res1ch, res2ch, ressqch, stimdata] = p3('Yueqing0827S001R01.mat', 256, 11, 650, 1, 1, [270 310 350 390 430 470], [3 2], 'eloc8.txt', '');
Replace the third parameter (11), which is the channel to be displayed, to a number between 1-8. See the documentation to the example program using 'help example'
I can find the P300_GUI only in the 2ndBCI200workshop, but do not know how to use it to produce the graph you have sent me before. There is an readme file, but unreadable when opened.
Just load the data file and press "Generate r^2 plots" (or so).

Gerv

Locked

Who is online

Users browsing this forum: No registered users and 1 guest