Hi,
I'm trying to write an external application interface that uses BCI control signal. On wiki page I read
Messages consist of a name and a value that in the case of the control signal assumes the format (<channel>,<element>) -- followed by a float value in decimal ASCII representation. I wonder:
<channel> indicates the dimension of the cursor movement ?
i.e. 1D task channel is 1, in 2D task channel 1-x dimension, channel 2-y dimension)?
while <element>indicates the number of features (electrodes) that are used to control the movement in that dimension?
If I'm not wrong, then in the example given on wiki
Signal(1,2) 1e-8\n, means the control signal in the 1D is computed using the Ch2 and is value is 1-e8?
thanks,
Maria Laura
AppConnector
-
mellinger
- Posts: 1341
- Joined: 12 Feb 2003, 11:06
Hi Maria Laura,
thanks for your question.
The meaning of control signal indices depends on the application module used. For the control signal in a typical cursor task, there are up to three channels holding a single element each, with channels 1, 2, and 3 corresponding to movement in x, y, and z direction. Unlike configuration parameters, the AppConnector uses zero-based indices, such that
Signal(1,0) 1e-2\n
would indicate a value of 1e-2 for the control signal representing movement in y direction.
Apart from the way it is used in the application module, the presence of output channels in the control signal depends on which channels are specified as output channels in the LinearClassifier's last column (note that channels are given in one-based notation in the LinearClassifier parameter, and in zero-based notation in the AppConnector protocol).
I modified the wiki page, so it should be more clear now.
Regards,
Juergen
thanks for your question.
The meaning of control signal indices depends on the application module used. For the control signal in a typical cursor task, there are up to three channels holding a single element each, with channels 1, 2, and 3 corresponding to movement in x, y, and z direction. Unlike configuration parameters, the AppConnector uses zero-based indices, such that
Signal(1,0) 1e-2\n
would indicate a value of 1e-2 for the control signal representing movement in y direction.
Apart from the way it is used in the application module, the presence of output channels in the control signal depends on which channels are specified as output channels in the LinearClassifier's last column (note that channels are given in one-based notation in the LinearClassifier parameter, and in zero-based notation in the AppConnector protocol).
I modified the wiki page, so it should be more clear now.
Regards,
Juergen
Last edited by mellinger on 29 Jan 2009, 06:01, edited 1 time in total.
-
marialaura
- Posts: 8
- Joined: 01 Apr 2008, 03:45
Great! Thanks for the explanation....but still a doubt come out when I run my program. From the prompt I can read...
Running 1
Recording 1
SourceTime 18189
....
...
...
Signal (1,0) -0.989963
Signal (2,0) 0.491524
Signal (3,0) 0
Why <element > is zero?
[/img]. The classifier matrix is set as follow:
C3 9Hz 1 -0.5
Cz 12Hz 2 1
CP3 8Hz 3 1
Should this be translated in channel 1 holds a single element (C3), channel 2 holds a single element (Cz) and channel 3 holds a single element too (CP3)?!?!?!?
Again thanks in adavance.
Maria Laura
Running 1
Recording 1
SourceTime 18189
....
...
...
Signal (1,0) -0.989963
Signal (2,0) 0.491524
Signal (3,0) 0
Why <element > is zero?
C3 9Hz 1 -0.5
Cz 12Hz 2 1
CP3 8Hz 3 1
Should this be translated in channel 1 holds a single element (C3), channel 2 holds a single element (Cz) and channel 3 holds a single element too (CP3)?!?!?!?
Again thanks in adavance.
Maria Laura
-
mellinger
- Posts: 1341
- Joined: 12 Feb 2003, 11:06
Maria Laura,
you are right. In the AppConnector, indices are zero-based, this is different from parameter configuration, where indices are one-based.
In your case, there are 3 channels in the control signal, and these are numbered 1, 2 and 3 in the LinearClassifier parameter. Thus, the output of the AppConnector should read
Signal (0,0) -0.989963
Signal (1,0) 0.491524
Signal (2,0) 0
Thank you for pointing out the inconsistency. I'm correcting my previous post to avoid confusion.
Regards,
Juergen
you are right. In the AppConnector, indices are zero-based, this is different from parameter configuration, where indices are one-based.
In your case, there are 3 channels in the control signal, and these are numbered 1, 2 and 3 in the LinearClassifier parameter. Thus, the output of the AppConnector should read
Signal (0,0) -0.989963
Signal (1,0) 0.491524
Signal (2,0) 0
Thank you for pointing out the inconsistency. I'm correcting my previous post to avoid confusion.
Regards,
Juergen
Who is online
Users browsing this forum: No registered users and 0 guests
