cursortask sequence
cursortask sequence
Hi, guys,
I am trying to use the fileplayback source module to test different configurations.
I know there is a time sync issue. So during the calibration session, I fixed the time and sequence of the stimulus.
Is there a way to fix the sequence of the target appears in the cursor task application as well? so that the data is correlated to the specific target.
Thanks a lot!
Sincerely,
Ran
I am trying to use the fileplayback source module to test different configurations.
I know there is a time sync issue. So during the calibration session, I fixed the time and sequence of the stimulus.
Is there a way to fix the sequence of the target appears in the cursor task application as well? so that the data is correlated to the specific target.
Thanks a lot!
Sincerely,
Ran
Re: cursortask sequence
Ran,
Could you clarify what you mean by "time sync issue," and how you "fixed the time and sequence of the stimulus." ? Basically, the FilePlayback module can either playback the states from the file, or allow the program to randomly generate the sequence each time. The FilePlayback really shouldn't be used for any kind of analysis, and it was not designed for this purpose.
Adam
Could you clarify what you mean by "time sync issue," and how you "fixed the time and sequence of the stimulus." ? Basically, the FilePlayback module can either playback the states from the file, or allow the program to randomly generate the sequence each time. The FilePlayback really shouldn't be used for any kind of analysis, and it was not designed for this purpose.
Adam
Re: cursortask sequence
Hi Adam,
Thank you for the reply. I guess I didnot fully understand the purpose of Fileplayback module. What I want to do is trying to use this module to stream data from Calibration session, and use it to control the Cursor task application.
By saying "time sync issue", I refer to
What I did was to fix the sequence of stimulus in the calibration session, i.e. the stimuli always appears in the order of "imagine left hand, imagine right hand, imagine both hand, imagine both feet". Then I set other time parameters, such as ISI, presequence duration, etc., in order to be consistent with the timing of Cursor task. I also set up the feedbackduration to be 3 second, and the maximum feedback time to be 3 second in the CursorTask , which is the same duration as the stimulus duration in the calibration session. Another thing I did was set the depth of targets to a different level, so that, the cursor will never hit the target. In this case, 3-second data from the calibration session will be always aligned with the trial in the Cursor task application. Then I would decide if the cursor hits the target bar by observing if they overlapped with each other, instead of flashing.
I figured if somehow the sequence of targets appears can be fixed to "left, right, up, down", then the calibration data can be used to control to cursor, which will surely benefit the testing of new parameter setting in Spatial filter, ARfilter, classifier and so on.
Any advice will be appreciated.
Thank you for the reply. I guess I didnot fully understand the purpose of Fileplayback module. What I want to do is trying to use this module to stream data from Calibration session, and use it to control the Cursor task application.
By saying "time sync issue", I refer to
in another post regarding to Fileplayback module.Note that the FilePlayback module does not read state (event) information from the replayed file. Thus, in applications such as the CursorTask application module, where a trial ends when a target is hit by the cursor, EEG data will go out of sync with the trial structure.
What I did was to fix the sequence of stimulus in the calibration session, i.e. the stimuli always appears in the order of "imagine left hand, imagine right hand, imagine both hand, imagine both feet". Then I set other time parameters, such as ISI, presequence duration, etc., in order to be consistent with the timing of Cursor task. I also set up the feedbackduration to be 3 second, and the maximum feedback time to be 3 second in the CursorTask , which is the same duration as the stimulus duration in the calibration session. Another thing I did was set the depth of targets to a different level, so that, the cursor will never hit the target. In this case, 3-second data from the calibration session will be always aligned with the trial in the Cursor task application. Then I would decide if the cursor hits the target bar by observing if they overlapped with each other, instead of flashing.
I figured if somehow the sequence of targets appears can be fixed to "left, right, up, down", then the calibration data can be used to control to cursor, which will surely benefit the testing of new parameter setting in Spatial filter, ARfilter, classifier and so on.
Any advice will be appreciated.
Re: cursortask sequence
Ran,
I think you will have difficulty working with the fileplayback this way. If it is feasible, I would recommend using the SignalGenerator, and using the mouse to modulate the amplitude on different channels. For example, you can set it up so that the channels produce a noisy 10 Hz sine wave, and change the amplitude on one channel using the x-mouse position, and another channel using the y-mouse position. This will allow you to test a 2D cursor task configuration, without worrying about syncing the data in the file.
Adam
I think you will have difficulty working with the fileplayback this way. If it is feasible, I would recommend using the SignalGenerator, and using the mouse to modulate the amplitude on different channels. For example, you can set it up so that the channels produce a noisy 10 Hz sine wave, and change the amplitude on one channel using the x-mouse position, and another channel using the y-mouse position. This will allow you to test a 2D cursor task configuration, without worrying about syncing the data in the file.
Adam
Re: cursortask sequence
Hi, Adam,
Thank you for the reply.
I agree with you that using SignalGenerater is better choice for testing purpose.
I got one more question about the cursor task application. The control signal after Normalizer is multiplied by a Scale Factor, which turns control signal into the cursor position on the screen. What I am wondering is how this Scale factor is caculated? related to FeedbackDuration?
Thanks a lot!
Thank you for the reply.
I agree with you that using SignalGenerater is better choice for testing purpose.
I got one more question about the cursor task application. The control signal after Normalizer is multiplied by a Scale Factor, which turns control signal into the cursor position on the screen. What I am wondering is how this Scale factor is caculated? related to FeedbackDuration?
Thanks a lot!
Re: cursortask sequence
The normalizer subtracts an offset, and multiplies by a gain so that the result is zero mean and unit variance. It uses a collection of buffers, based on different conditions during the task (i.e., each TargetCode might have its own buffer), and these are updated during the run.
See http://bci2000.org/wiki/index.php/User_ ... Normalizer for more information.
Adam
See http://bci2000.org/wiki/index.php/User_ ... Normalizer for more information.
Adam
Re: cursortask sequence
Thanks, Adam.
But my question is after the normalizer, how the signal is converted into the cursor movement.
Sorry for the confusing.
But my question is after the normalizer, how the signal is converted into the cursor movement.
Sorry for the confusing.
Re: cursortask sequence
Hi Ran,
the scale factor is indeed computed using the FeedbackDuration parameter, as described in
http://www.bci2000.org/wiki/index.php/U ... ckDuration
Best regards,
Juergen
the scale factor is indeed computed using the FeedbackDuration parameter, as described in
http://www.bci2000.org/wiki/index.php/U ... ckDuration
Best regards,
Juergen
Re: cursortask sequence
Hi, guys,
I notice that in the new released version of BCI2000, a sequence parameter for cursor task is added.
Thank you very much for the awesome work!
I notice that in the new released version of BCI2000, a sequence parameter for cursor task is added.
Thank you very much for the awesome work!
Who is online
Users browsing this forum: No registered users and 22 guests