Using FilePlayback module for sham control

Forum for discussion on different brain signals
Posts: 6
Joined: 04 Apr 2012, 15:55

Using FilePlayback module for sham control

Post by jdwander » 04 Apr 2013, 15:25

BCI2000 Community:

I'm curious if anyone has tried to use the FilePlayback module (or any other configuration / wizardry) to perform sham control experiments or to assess simple visual response to their BCI tasks (in the absence of actual cursor control, for example). In other words, I would like to effectively simulate or replay a run of a task to a user, capturing all of the appropriate states, while recording their EEG. I have a few thoughts on how to do this, but I don't like them, so I was hoping someone out there had already tried something similar and had success.

The potential avenues I'm looking at are:

(1) Video capture of the application screen while user A is performing a BCI task, with synchronization cues displayed in the corner of the screen. Then replay of this video to user B, using the DummyApplication module, while recording EEG and the synchronization cues (as a digital input to the biosignal amplifier). While this would probably work, it is sub-optimal, because all of the states that were recorded while user A was performing the task would not exist in the recording from the replay to user B. In theory I could go back and synchronize the states using the cues, but this seems like an overly difficult solution to the problem.

(2) Use of the FilePlayback module to replay the recording of user A's run for user B. The obvious problem that I see here is that I cannot record EEG from user B while they're watching the replay of user A's run. I recognize that this is outside the scope of what the FilePlayback module is intended for.

(3) Create a modified SignalProcessing module that randomly generates a control signal. In doing this I could present all of the visual stimuli associated with the task, record task states, and record the EEG of the user, however, by using a random control signal, I lose all of the real or natural control statistics associated with true execution of the task.

(4) Create a custom SignalProcessing module that pulls in a control signal from a file, sample block by sample block. This would allow me to "replay" a previously recorded run to the new user while still recording all the relevant states and the new EEG, but it seems like a hack.

This seems like a problem that other people may have tackled, in terms of developing experimental controls, so I wanted to float a request out to the community to see if anyone has words of wisdom to share. Often, when using BCI2000 I generally find that there's a smarter way to do whatever I just spent a few days coding. I hope I've described the problem adequately, feel free to ask for clarification.


Posts: 382
Joined: 25 Dec 2011, 21:14

Re: Using FilePlayback module for sham control

Post by boulay » 04 Apr 2013, 21:40

I've worked on this some but I am not sure it is applicable to your situation.

Everything is set up as usual but the feedback (only the feedback) depends on previously recorded control signals, i.e., the output of the signal processing module. I implemented that in the application module. The application module would load a simple file that contained only control signals. In my case the application module would select the previous trials in order or randomly if it runs out of trials. However, I suppose it wouldn't be difficult to limit the selection to trials with the same target code as the current trial if it is necessary for you that the subject's perceived success rate approached something normal. Come to think of it, that's a good idea for me too. I would have to change the format of the simple file to include a target code indication.

I've done this using the BCPy2000 framework. The source code is available freely:
Check out the ContinuousFeedbackExtension

Let me know if you're interested in using this then I'll make sure to change the way previous trials are selected and I'll make a tool to export control signals including the TargetCode.


Who is online

Users browsing this forum: No registered users and 1 guest