Hi,
Does BCI2000 have 2D cursor movement application? I can only find the 1D cursor movement? Thanks a lot.
cursor movement application
The CursorTask application is a 3D application. The cursor will move in the 3 dimensions based on the output channel of the linear classifier (see http://www.bci2000.org/wiki/index.php/U ... Classifier), which is the third column of the linear classifier matrix. Therefore, to make a particular feature move the cursor horizontally, set the output channel to "1"; to make it move vertically, set it to "2", and to make it move into/out of the screen, set it to "3".
Let us know if you need additional information.
Adam
Let us know if you need additional information.
Adam
-
- Posts: 51
- Joined: 08 May 2007, 16:41
Thank you very much, Adam. It really helps.
I have another question of the cursor movement application. For example, if the motor imagery of right hand movement is the control signal moving the cursor up, what exactly controls the speed of cursor's moving up? Is that the amplitude of the corresponding channel (C3 here)?
The second question is: what is the relation between the magnitude of the control signal and the speed of the cursor's corresponding movement? Is it linear?
I am looking for some technical paper describing the signal processing in cursor movement application. But, it seems there are not many like P300 application. Any hint from you will be appreciated very much.
Thanks for all your help.
I have another question of the cursor movement application. For example, if the motor imagery of right hand movement is the control signal moving the cursor up, what exactly controls the speed of cursor's moving up? Is that the amplitude of the corresponding channel (C3 here)?
The second question is: what is the relation between the magnitude of the control signal and the speed of the cursor's corresponding movement? Is it linear?
I am looking for some technical paper describing the signal processing in cursor movement application. But, it seems there are not many like P300 application. Any hint from you will be appreciated very much.
Thanks for all your help.
It depends on the settings used by the Normalizer (see http://www.bci2000.org/wiki/index.php/U ... Normalizer). Typically, you want to turn Adaptation on, e.g., by settings the Adaptation parameter to "2 2 0"; this turns on adaptation for channels 1 and 2, but not 3. Similarly, if you are only using horizontal movement, set it to "2 0 0".For example, if the motor imagery of right hand movement is the control signal moving the cursor up, what exactly controls the speed of cursor's moving up? Is that the amplitude of the corresponding channel (C3 here)?
Adaptation uses the FeedbackDuration to set the cursor speed (see http://www.bci2000.org/wiki/index.php/U ... ckDuration). So, if you seet FeedbackDuration to 3 seconds, this means that it should take the cursor 3 seconds to cross the distance of the screen. Then, the normalizer adaptively figures out what the gain and offset should be, based on the amplitude of your features, to make this happen. This actually answers the 2nd question: it is a linear relationship, where the output (cursor velocity, V) is:
V = (X- a)*b
where X is the input signal, a is the Normalizer offset, and b is the Normalizer gain.
For more information, check out the wiki entries on these.
Adam
-
- Posts: 51
- Joined: 08 May 2007, 16:41
Hello, Adam! I have some doubts about the mechanism of 3D application.jawilson wrote:The CursorTask application is a 3D application. The cursor will move in the 3 dimensions based on the output channel of the linear classifier (see http://www.bci2000.org/wiki/index.php/U ... Classifier), which is the third column of the linear classifier matrix. Therefore, to make a particular feature move the cursor horizontally, set the output channel to "1"; to make it move vertically, set it to "2", and to make it move into/out of the screen, set it to "3".
Let us know if you need additional information.
Adam
1. As you said, 3 different features could be chosen and set 3 different output channels (i.e., 1, 2 and 3). For each dimension, I think 2 distinct features will be needed as the control signal, since there are two directions to control. Just as in the tutorial, motor imagery is used to move the cursor up and relaxation to move the cursor down. Then, we may need 6 different features in the 3D application. Is the above thought correct?
2. Is it possible for the participant to move the cursor only without any original speed? If it is yes, how can I realize that in BCI2000. As far as I know, the FeedbackDuration is the only parameter to control the cursor speed.
Best.
Yueqing
Actually, it is possible with only 3 signals, although 6 would be ideal. For example, you could set up BCI2000 so that the only horizontal control signal is C3, corresponding to right-hand movement. The adaptive system will figure out what you are doing for the right target (motor imagery), and for the left target (rest); therefore, if you do no motor imagery, the cursor will move left, due to the offset in the normalizer. Similarly, for vertical movement, you would setup Cz for down movement, and rest for up movement. This is not ideal, but it is probably pushing the capabilities of EEG to accomplish good 3D control, although it can be done with MUCH practice.1. As you said, 3 different features could be chosen and set 3 different output channels (i.e., 1, 2 and 3). For each dimension, I think 2 distinct features will be needed as the control signal, since there are two directions to control. Just as in the tutorial, motor imagery is used to move the cursor up and relaxation to move the cursor down. Then, we may need 6 different features in the 3D application. Is the above thought correct?
Yes, the FeedbackDuration is the only way to control the speed. In the first version of BCI2000, you could set the pixels/s as a parameter, but that no longer exists, unfortunately. The math to figure out what the FeedbackDuration should be for a particular pixels/s is not very difficult, though.2. Is it possible for the participant to move the cursor only without any original speed? If it is yes, how can I realize that in BCI2000. As far as I know, the FeedbackDuration is the only parameter to control the cursor speed.
Initial Normalizer parameters
Hello,
This post has been really useful to me, thanks a lot.
Actually I have another question to ask, I understood the role of the Normalizer in the adaptation process, but how should I set Normalizer offset and gain at the beginning of a new experiment?
I suppose that I should evaluate these parameters from subject's EEG channels. Is that correct? Can you suggest me some methods to obtain those parameters?
Thank you very much
Alessandro
This post has been really useful to me, thanks a lot.
Actually I have another question to ask, I understood the role of the Normalizer in the adaptation process, but how should I set Normalizer offset and gain at the beginning of a new experiment?
I suppose that I should evaluate these parameters from subject's EEG channels. Is that correct? Can you suggest me some methods to obtain those parameters?
Thank you very much
Alessandro
Normalizer ...
Alessandro,
Regardless of the initial values of the gain and offset, if the adaptation in the normalizer is turned on, these will be changed to reflect the statistics fo the subject's EEG. At the end of the run, these parameters will be updated and sent to the Operator. Thus, if you press Set Config and start a new run, these updated values will be used in the new experiment. You are then also free to simply save the parameter file and use it as the basis for a new experiment (e.g., on a different day) so that you are already in the right ball park with the offset and gain values.
Gerv
Regardless of the initial values of the gain and offset, if the adaptation in the normalizer is turned on, these will be changed to reflect the statistics fo the subject's EEG. At the end of the run, these parameters will be updated and sent to the Operator. Thus, if you press Set Config and start a new run, these updated values will be used in the new experiment. You are then also free to simply save the parameter file and use it as the basis for a new experiment (e.g., on a different day) so that you are already in the right ball park with the offset and gain values.
Gerv
Who is online
Users browsing this forum: No registered users and 21 guests