Parameters Setting for OL P300 Classification (ModularEEG)

This forum deals with BCI2000 configuration issues.
Locked
jackstar harry
Posts: 3
Joined: 21 Feb 2008, 02:53

Parameters Setting for OL P300 Classification (ModularEEG)

Post by jackstar harry » 04 Jun 2008, 06:56

Hi Gerwin,
I have a 2 channels Modular EEG connected with BCI2000. I try to use P300 speller of BCI2000 using only 1 channel (an electrode is placed on Cz, one remain electrode is placed on ear). The other 1 channel is connected to Modular EEG Vground (electrode configuration rule when using only 1 channel).

Shortly, I have tried to configure the BCI2000 follow the direction explained on Help. But I am failed to configure BCI2000 parameters to make P300 spelling working.

Would you please to give me suggestion for solving it?

Anyway, the parameters I've set (that I've changed from its default) are as follows:

SOURCE:
- SourceCh = 6
- SourceChOffset = 0 0 0 0 0 0
- SOurceChGain = 0.008 0.008 0.008 0.008 0.008 0.008
- TransmitChList = 1 2

FILTERING:
- SpatialFilter = 2 coloumns x 2 rows; set all as number 0.5
- Classifier = ??? (I don't understand about "input element (bin)"; but I've tried to set it: 4 coloumns x 2 rows and set number for "input element" as 250ms

Thank you

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

P3Speller

Post by gschalk » 04 Jun 2008, 11:07

Jackstar Harry,

What you need to do is to calibrate the BCI2000 system to the P300 response of each user. The best thing to do is to follow the tutorial outlined in

http://www.bci2000.org/wiki/index.php/U ... I_Tutorial

Since you only have one channel, the performance of your system will not be optimal, but you should be able to do some spelling with a larger number of flashes per character, e.g., 15 or so. I would put the one electrode at Pz and not Cz for that purpose.

Gerv

jackstar harry
Posts: 3
Joined: 21 Feb 2008, 02:53

P3Spelling using one channel

Post by jackstar harry » 05 Jun 2008, 05:36

Gerv,
thanks a lot for the respond.

Actually, we've followed step by step directions as explained in tutorial.

1. We do the initial session
Here, after load SignalGenerator.prm we set (and made some changes) for amplifier parameters as follows:
- SourceCh = 6
- SourceChOffset = 0 0 0 0 0 0
- SourceChGain = 0.008 0.008 0.008 0.008 0.008 0.008
- SamplingRate = 256
- SampleBlockSize = 8
- TransmitChList = 1

Is the setting correct?

However, I think it's working and for the result we have 2 dat-file to be applied in offline analysis. From the generated plot, we've note that the larger values of r^2 appear in 100ms and 280ms.

Then, these values are value that should be set in Classifier matrix as input element (bin), aren't it?

2. Filltering --> SpatialFilter
Since we only use only 1 channel, is the matrix size become 1 coloumn x 1 row?

3. Filtering --> LinearClassifier
Since we have 2 values from ofline analysis above, so we set 4 coloumns x 2 rows matrix and then fill 100ms in 1st row-2nd col (bin) and 280ms in 2nd row-2nd col (bin). Is it correct?

Thank you

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

P3Speller ...

Post by gschalk » 05 Jun 2008, 07:23

Jackstar Harry,

From what you write, it seems as if your parameters may be correct (except that I am not sure why you are recording 6 channels if the device has only 1). Also, your understanding of the classifier is also correct.

What I would double check is to see whether the changes at 100 and 280ms actually go in the same direction. (You can get this information from the time course plots in the OfflineAnalyzer.) I would not be surprised if the change at 100 is negative and the change at 280ms is positive. In this case, if you give them the same weight, they will simply cancel each other out. If that is true, you would want to give the element at 100ms a negative weight (e.g., -1) and the change at 280 a positive weight (e.g., +1).

I hope this helps.

Gerv

jackstar harry
Posts: 3
Joined: 21 Feb 2008, 02:53

Why I record 6 channels

Post by jackstar harry » 06 Jun 2008, 07:00

Gerv,
I have to set ShourceCh=6 that imply to record 6 channels. Because if i set lower than 6 these messages appear:

6/6/2008 5:49:57 PM - Parameter "Source->SourceCh": Value is 1, exceeds lower range (6).
6/6/2008 5:49:57 PM - Parameter "Source->SourceCh": Value is 1, exceeds lower range (6).
6/6/2008 5:49:57 PM - ModularEEGADC::Preflight: A necessary condition is violated. Please make sure that the following is true: Parameter( "SourceCh" ) == 6

Is it a normal case or may be there are some wrong parameters that I've set?

Thank you

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

SourceCh

Post by gschalk » 06 Jun 2008, 07:50

Jackstar Harry,

It seems as if there is an explicit check in the code to see whether you are acquiring 6 channels. This may be the way the OpenEEG devices send their data (even if less are acquired).

Gerv

Locked

Who is online

Users browsing this forum: No registered users and 0 guests