Checkerboard Paradigm

Forum for software developers to discuss BCI2000 software development
Locked
jminett
Posts: 5
Joined: 08 Dec 2010, 23:22

Checkerboard Paradigm

Post by jminett » 09 Dec 2010, 00:18

Hi

I'm writing to ask if any implementation of the Checkerboard paradigm (Townsend et al., 2010, Clin Neurophysiol 121) is planned for inclusion in BCI 2000 core any time soon or, alternatively, if anyone knows of a user contribution that implements the paradigm? I've kept an eye on this forum, but have not noticed any mention of the Checkerboard paradigm as yet.

I ask because I have been attempting to implement the paradigm myself. I have no difficulty to revise P3Speller (the class P3SpellerTask) in order to produce appropriately sequenced checkerboard stimuli. However, I have not been able to figure out how to revise P3SignalProcessing (the classes P3TemporalFilter and LinearClassifier, I guess) to handle the signal averaging and classification. It seems that P3TemporalFilter would need access to StimulusTask::mAssociations or related data in order to average correctly.

Any help on either issue would be much appreciated.

James

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

Post by mellinger » 09 Dec 2010, 10:07

James,

AFAIK there are no plans to include the Checkerboard paradigm into BCI2000, and there is no user contribution that implements it either.

For the Checkerboard paradigm, you should not need to modify the P3SignalProcessing module. Rather, by associating each flash with a different stimulus code, you will avoid averaging in the P3TemporalFilter entirely. The P3Speller will then compute a score for each letter from the wave forms associated with all the stimulus codes, and choose the letter with the highest score. This works independently of how stimuli are grouped for the flashes, and whether flashes are repeated or not.

HTH,
Juergen

jminett
Posts: 5
Joined: 08 Dec 2010, 23:22

Post by jminett » 09 Dec 2010, 21:07

Dear Juergen

Many thanks for your reply.

I agree that combining the classification scores from each flash will work. I had thought about using this approach, but I thought that classification based on a single N-trial detector (which I believe is what Townsend et al. used) would potentially work better than classification based on fusion of the output of N single-trial detectors.

Still, the fusion approach does seem to be quite straightforward to implement, so I'll probably go with that.

Thanks again for your help,
James

carlosquijano
Posts: 4
Joined: 07 Oct 2013, 12:53

Re: Checkerboard Paradigm

Post by carlosquijano » 17 Oct 2013, 01:45

Hi,

I too would like to implement the Checkerboard paradigm (CBP) in the P3 speller but I am not sure how to manipulate the code to change the presentation sequence.

I would also like to simultaneously play auditory stimuli associated with each flashing group of stimuli, the problem is I do not know if I need to edit the code or if I can just configure it through the GUI?

Thank you for your time.

Regards,

Carlos Q,

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

Re: Checkerboard Paradigm

Post by mellinger » 22 Oct 2013, 09:45

Hi,

the presentation sequence is defined by the OnNextStimulusCode() event handler, which is part of the StimulusTask interface class, as documented on the wiki.

The AudioStimuliRowsFiles/AudioStimuliColsFiles parameters in the P3SpellerTask are intended for use with the standard P3Speller, thus association of AudioStimuliRowsFiles entries with StimulusCodes is restricted to row stimulus codes. It will not be difficult to remove that restriction from the code.

Regards,
Juergen

Locked

Who is online

Users browsing this forum: No registered users and 3 guests