Difference: DocsSectionsMarkerSequence (1 vs. 5)

Revision 514 Nov 2011 - Main.MarjoleinVanDerWaal

Line: 1 to 1
Changed:
<
<
META TOPICPARENT name="BrainStreamDocs"
>
>
META TOPICPARENT name="WebHome"
 
<---Start1--->

Marker Sequences

Changed:
<
<
Generate current PDF
>
>
Generate current PDF
  It is possible to temporarily treat markers as data. This is useful when the markers in the sequence have a certain meaning. For example, over a period of time, an output device might inject a marker every time it changes the direction in which it is moving. By specifying a marker sequence, the values of the markers that are sent by the output device are placed in a field in the event structure, where you can access them for further processing.
Line: 40 to 40
 
  • Access control
    • Set DENYTOPICVIEW =
--> \ No newline at end of file
Added:
>
>
META TOPICMOVED by="MarjoleinVanDerWaal" date="1321266464" from="BrainStream.DocsSectionsMarkerSequence" to="BrainStreamDocs.DocsSectionsMarkerSequence"

Revision 410 Oct 2011 - Main.MarjoleinVanDerWaal

Line: 1 to 1
 
META TOPICPARENT name="BrainStreamDocs"
<---Start1--->

Marker Sequences

Line: 14 to 14
  Example of a marker sequence for collecting data about the position of an output device:
marker
time
function
Changed:
<
<
[start_seq 10?direction; 30] MRKSEQ draw_map
>
>
[start_seq ?x_coordinate ?y_coordinate; 0.1] MRKSEQ update_map
 
  TIMEOUT stop_moving
Changed:
<
<
An incoming marker start_seq starts the marker sequence. The next 10 markers will be processed as data for the parameter direction. This means that a field event.direction will be created, which contains a cell array of 10 cells, with each cell containing the value of the collected marker. For example, if markers 101-104 correspond to movement to the left, right, top or bottom, the cell array may look like this: event.position={'101','103','102','101',...,'104'}. If 10 markers have been collected within 30 seconds after the onset of the start_sequence marker, the function draw_map will be executed, which shows a map of the output device's trajectory. If the 10 markers have not been collected within 30 seconds, the function specified after TIMEOUT will be executed, which causes the output device to stop moving.
>
>
An incoming marker start_seq starts the marker sequence. The next 2 markers will be processed as data for the parameters x_coordinate and y_coordinate. This means that two fields event.x_coordinate and event.y_coordinate will be created, each containing a each cell with the value of the collected marker. For example, the event fields may look like this: event.x_coordinate={2}, event.y_coordinate={3}. If the two markers have been collected within 100 ms after the onset of the start_sequence marker, the function update_map will be executed, which draws a map of the output device's trajectory. If the markers have not been collected within 100 ms, the function specified after TIMEOUT will be executed, which causes the output device to stop moving.
  Some other examples of marker sequences:
marker
time
function

Revision 310 Oct 2011 - Main.MarjoleinVanDerWaal

Line: 1 to 1
 
META TOPICPARENT name="BrainStreamDocs"
<---Start1--->

Marker Sequences

Added:
>
>
Generate current PDF
 It is possible to temporarily treat markers as data. This is useful when the markers in the sequence have a certain meaning. For example, over a period of time, an output device might inject a marker every time it changes the direction in which it is moving. By specifying a marker sequence, the values of the markers that are sent by the output device are placed in a field in the event structure, where you can access them for further processing.

In the marker column of the Actions table, you can specify a marker sequence according to the following syntax:

Revision 204 Oct 2011 - Main.MarjoleinVanDerWaal

Line: 1 to 1
 
META TOPICPARENT name="BrainStreamDocs"
<---Start1--->

Marker Sequences

Changed:
<
<
It is possible to let certain actions depend on the occurrence of a sequence of markers rather than a single marker. For example, you might want to start data processing after a number of stimuli of a certain type has been presented.
>
>
It is possible to temporarily treat markers as data. This is useful when the markers in the sequence have a certain meaning. For example, over a period of time, an output device might inject a marker every time it changes the direction in which it is moving. By specifying a marker sequence, the values of the markers that are sent by the output device are placed in a field in the event structure, where you can access them for further processing.
 
Changed:
<
<
In the marker column of the Actions table, you can specify a marker sequence according to the following syntax:
>
>
In the marker column of the Actions table, you can specify a marker sequence according to the following syntax:
 
[<marker name> <number>?<name of parameter>;<timeout>]
Changed:
<
<
marker name: name of the marker starting the sequence
number: number of markers to be collected for this parameter (if no number is specified, one marker will be collected)
? or * : indicates a fixed (?) or unknown ( * ) number of markers to be collected. In case of * , the next item specifies the name of the marker that ends the sequence.
name of parameter: this name will be added as field to the event structure and contains a string cell-array with the data
timeout: the maximum time to treat incoming markers as part of the sequence
>
>
marker name: name of the marker starting the sequence
number: number of markers to be collected for this parameter (if no number is specified, one marker will be collected)
? or * : indicates a fixed (?) or unknown ( * ) number of markers to be collected. In case of * , the next item specifies the name of the marker that ends the sequence.
name of parameter: this name will be added as field to the event structure, which will contain a string cell-array with the marker values. Parameters cannot have the same name as any of the global variables.
timeout: the maximum time to treat incoming markers as part of the sequence
Note that the entire sequence must be enclosed in brackets.
 
Changed:
<
<
Some examples:
marker
time
function
>
>
Example of a marker sequence for collecting data about the position of an output device:
marker
time
function
[start_seq 10?direction; 30] MRKSEQ draw_map
  TIMEOUT stop_moving

An incoming marker start_seq starts the marker sequence. The next 10 markers will be processed as data for the parameter direction. This means that a field event.direction will be created, which contains a cell array of 10 cells, with each cell containing the value of the collected marker. For example, if markers 101-104 correspond to movement to the left, right, top or bottom, the cell array may look like this: event.position={'101','103','102','101',...,'104'}. If 10 markers have been collected within 30 seconds after the onset of the start_sequence marker, the function draw_map will be executed, which shows a map of the output device's trajectory. If the 10 markers have not been collected within 30 seconds, the function specified after TIMEOUT will be executed, which causes the output device to stop moving.

Some other examples of marker sequences:

marker
time
function
 
[mrk1 ?parm1 ?parm2 ;0.05] MRKSEQ fnc1,fnc2
  TIMEOUT fnc3
[mrk2 5?parm3 ?parm4 7?parm5 ;0.099] MRKSEQ fnc4
Line: 19 to 26
 
[mrk3 *parm6 mrk4 ;0.11] MRKSEQ fnc5
  TIMEOUT fnc3
Changed:
<
<
An incoming marker mrk1 starts the marker sequence. The next two markers will be processed as data for parm1 (one marker) and parm2 (one markers). The fields parm1 and parm2 wil be added to the event structure of marker mrk1. The names specified (i.e., parm1 and parm2) should not conflict with other global variables. The last item (after the semicolon) specifies a timeout value.

Incoming marker mrk2 starts the marker sequence. Here, the next thirteen markers will be processed as data for respectively parm3 (5 markers), parm4 (1 marker), and parm5 (7 markers). Timeout value is set to 0.099 sec.

>
>
An incoming marker mrk1 starts the marker sequence. The next two markers will be processed as data for parm1 (one marker) and parm2 (one marker). The fields parm1 and parm2 wil be added to the event structure of marker mrk1. That is, the event structure will contain the fields event.parm1={val1} and event.parm2={val1}. When all markers of the sequence have been collected, functions fnc1 and fnc2 will be executed. If the two markers do not arrive within 0.05 seconds after onset of marker mrk1, function fnc3 will be executed.
 
Changed:
<
<
Incoming marker mrk3 starts the marker sequence. An unknown number of markers will be processed as data for parm6 until marker mrk4 ends it. Timeout value is set to 0.11 seconds in this case.
>
>
Incoming marker mrk2 starts another marker sequence. Here, the next thirteen markers will be processed as data for parm3 (5 markers), parm4 (1 marker), and parm5 (7 markers). Thus, the event structure will contain the fields event.parm3={val1,val2,val3,val4,val5}, event.parm4={val1}, and event.parm5={val1,val2,val3,val4,val5,val6,val7}. When all markers of the sequence have been collected, function fnc4 will be executed. If the thirteen markers do not arrive within 0.099 seconds after onset of marker mrk2, function fnc3 will be executed.
 
Changed:
<
<
For all marker sequences is specified that if not all markers arrive before the TIMEOUT value, function fnc3 will be executed instead of the ones specified for the MRKSEQ timepoints.
>
>
Incoming marker mrk3 starts a third marker sequence. An unknown number of markers will be processed as data for parm6 until marker mrk4 ends the sequence. Thus, the event structure will contain the field event.parm6={val1,val2,...,valN}. When all markers of the sequence have been collected, function fnc5 will be executed. If marker mrk4 does not arrive within 0.11 seconds after onset of marker mrk3, function fnc3 will be executed.
 
<---End1--->
Line: 33 to 38
 
  • Access control
    • Set DENYTOPICVIEW =
-->
Deleted:
<
<

It is possible to temporarily treat marker information as data which then will be added as an additional field to the event structure. Specifying a marker name enclosed by brackets will indicate to BrainStream that it should be treated as a sequence marker. All subsequent markers of that specific marker source are from then on differently processed. It can be specified how many markers should be collected, which corresponding value information will be put together in a Matlab cell-array. The cell-array then will be added as a field to the event structure. The marker sequence can either be defined for a fixed number of markers, or defined to prolongue until another marker stops the sequence. The latter case enables flexible sized marker sequences. For sequence markers a special logical time MRKSEQ can be used (in the time column) in order to specify actions that should execute the moment the marker sequence is completed. In case the sequence doesn't complete on time, a logical timepoint TIMEOUT can be used to specify the actions that need to be executed to work around the missing information.
The syntax forspecification of marker sequences is,
[<marker name> <number>?<name of parameter>;<timeout>], where,
marker name, name of the marker starting the sequence
number, number of markers to be collected for this parameter
? or * ,indicates a fixed (?) or unknown ( * ) number of markers to be collected. In case * , the next item specifies the name of the marker that ends the sequence.
name of parameter, this name will be added as field to the event structure and contains a string cell-array with the data (NOTE always strings!)
;, separate parameters form timeout
timeout, the maximum time to treat incoming markers as part of the sequence

Some examples:

[mrk1 ?parm1 1?parm2 ;0.05]
An incoming marker mrk1 starts the marker sequence. The next two markers will be processed as data for parm1 (one marker) and parm2 (one markers). The fields parm1 and parm2 wil be added to the event structure off marker mrk1. The names specified (i.e., parm1 and parm2) should not conflict with other global variables. The last item (after the semicolon) specifies a timeout value. In case not all markers arrive before this time interval, the alternative actions specified for the TIMEOUT timepoint will be executed instead of the ones specified for timepoint MRKSEQ.

[mrk2 5?parm3 ?parm4 7?parm5 ;0.099]
incoming marker mrk2 starts the marker sequence. Here, the next thirteen markers will be processed as data for respectively parm3 (5 markers), parm4 (1 marker), and parm5 (7 markers). Timeout value is set to 0.099 sec.

[mrk3 *parm6 mrk4 ;0.11]
Incoming marker mrk3 starts the marker sequence. An unknown number of markers will be processed as data for parm6 until marker mrk4 ends it. Timeout value is set to 0.11 seconds in this case.

Revision 130 Sep 2011 - Main.MarjoleinVanDerWaal

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="BrainStreamDocs"
<---Start1--->

Marker Sequences

It is possible to let certain actions depend on the occurrence of a sequence of markers rather than a single marker. For example, you might want to start data processing after a number of stimuli of a certain type has been presented.

In the marker column of the Actions table, you can specify a marker sequence according to the following syntax:

[<marker name> <number>?<name of parameter>;<timeout>]

marker name: name of the marker starting the sequence
number: number of markers to be collected for this parameter (if no number is specified, one marker will be collected)
? or * : indicates a fixed (?) or unknown ( * ) number of markers to be collected. In case of * , the next item specifies the name of the marker that ends the sequence.
name of parameter: this name will be added as field to the event structure and contains a string cell-array with the data
timeout: the maximum time to treat incoming markers as part of the sequence

Some examples:

marker
time
function
[mrk1 ?parm1 ?parm2 ;0.05] MRKSEQ fnc1,fnc2
  TIMEOUT fnc3
[mrk2 5?parm3 ?parm4 7?parm5 ;0.099] MRKSEQ fnc4
  TIMEOUT fnc3
[mrk3 *parm6 mrk4 ;0.11] MRKSEQ fnc5
  TIMEOUT fnc3

An incoming marker mrk1 starts the marker sequence. The next two markers will be processed as data for parm1 (one marker) and parm2 (one markers). The fields parm1 and parm2 wil be added to the event structure of marker mrk1. The names specified (i.e., parm1 and parm2) should not conflict with other global variables. The last item (after the semicolon) specifies a timeout value.

Incoming marker mrk2 starts the marker sequence. Here, the next thirteen markers will be processed as data for respectively parm3 (5 markers), parm4 (1 marker), and parm5 (7 markers). Timeout value is set to 0.099 sec.

Incoming marker mrk3 starts the marker sequence. An unknown number of markers will be processed as data for parm6 until marker mrk4 ends it. Timeout value is set to 0.11 seconds in this case.

For all marker sequences is specified that if not all markers arrive before the TIMEOUT value, function fnc3 will be executed instead of the ones specified for the MRKSEQ timepoints.

<---End1--->

<-- 
  • Access control
    • Set DENYTOPICVIEW =
-->


It is possible to temporarily treat marker information as data which then will be added as an additional field to the event structure. Specifying a marker name enclosed by brackets will indicate to BrainStream that it should be treated as a sequence marker. All subsequent markers of that specific marker source are from then on differently processed. It can be specified how many markers should be collected, which corresponding value information will be put together in a Matlab cell-array. The cell-array then will be added as a field to the event structure. The marker sequence can either be defined for a fixed number of markers, or defined to prolongue until another marker stops the sequence. The latter case enables flexible sized marker sequences. For sequence markers a special logical time MRKSEQ can be used (in the time column) in order to specify actions that should execute the moment the marker sequence is completed. In case the sequence doesn't complete on time, a logical timepoint TIMEOUT can be used to specify the actions that need to be executed to work around the missing information.
The syntax forspecification of marker sequences is,
[<marker name> <number>?<name of parameter>;<timeout>], where,
marker name, name of the marker starting the sequence
number, number of markers to be collected for this parameter
? or * ,indicates a fixed (?) or unknown ( * ) number of markers to be collected. In case * , the next item specifies the name of the marker that ends the sequence.
name of parameter, this name will be added as field to the event structure and contains a string cell-array with the data (NOTE always strings!)
;, separate parameters form timeout
timeout, the maximum time to treat incoming markers as part of the sequence

Some examples:

[mrk1 ?parm1 1?parm2 ;0.05]
An incoming marker mrk1 starts the marker sequence. The next two markers will be processed as data for parm1 (one marker) and parm2 (one markers). The fields parm1 and parm2 wil be added to the event structure off marker mrk1. The names specified (i.e., parm1 and parm2) should not conflict with other global variables. The last item (after the semicolon) specifies a timeout value. In case not all markers arrive before this time interval, the alternative actions specified for the TIMEOUT timepoint will be executed instead of the ones specified for timepoint MRKSEQ.

[mrk2 5?parm3 ?parm4 7?parm5 ;0.099]
incoming marker mrk2 starts the marker sequence. Here, the next thirteen markers will be processed as data for respectively parm3 (5 markers), parm4 (1 marker), and parm5 (7 markers). Timeout value is set to 0.099 sec.

[mrk3 *parm6 mrk4 ;0.11]
Incoming marker mrk3 starts the marker sequence. An unknown number of markers will be processed as data for parm6 until marker mrk4 ends it. Timeout value is set to 0.11 seconds in this case.

 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback