Markers

“Markers” are informative tags sent by the front end indicating presentation state. Pushing a marker through LSL will provide it with a timestamp, marking EEG data for use with a real-time classifier. Markers can also be used to process and analyse user session recordings.

The set of accepted markers define training and stimulus information associated with EEG data by transmission time. Markers are split into two broad types:

Status Markers

Some markers are explicit strings sent to indicate a change of state. While primarily used for data analysis after a user session, these markers can also control when data is processed for a real-time classifier.

ContentTypical Back End Effects
Trial Startedno effect (trials are generally indicated by event markers)
Trial EndsProcess and classify data from a trial if relevant to the paradigm
Training CompleteUpdate classifier based on training data
Train ClassifierUpdate classifier based on training data
Update ClassifierUpdate classifier based on training data
Done with all RS collectionProcess resting state data

resting state event markers remain partially implemented

Event Markers

The primary data driver and communication structure used by BCI Essentials are paradigm-specific markers describing discrete instances of stimulus and/or periods of expected activity. P300 markers represent the stimulus state in a single instant, while others indicate the start of an epoch; a discrete period of time within which to train or classify data. All training epochs must be the same length. This is best achieved by cutting arbitrarily sized training periods into sets of smaller, fixed-length epochs.

FormatExampleDescription
mi,{classes},{target},{length}mi,1,0,2.5start of Motor Imagery epoch
ssvep,{classes},{target},{length},{...frequencies}ssvep,4,2,1.5,12.5,18.7,24.4,30.1start of SSVEP epoch
p300,s,{classes},{target},{stimulus index}p300,s,8,3,1Instance of stimulus presentation for a specific object, triggered as part of a flashing routine
p300,m,{classes},{target},{...stimulus indices}p300,m,8,3,1,3,5,7Instance of stimulus presentation for multiple objects simultaneously, triggered as part of a flashing routine

Training vs Classification Markers

Certain markers indicate that associated data should be used in building a classifier while other markers indicate that associated data should be evaluated using a classifier. This distinction is indicated by the specification of a training target.
Only markers sent with a target of -1 will result in predictions unless otherwise configured.

Marker Parameters

NameDescription
classesNumber of classes (states of stimulus presenters)
targetIndex of intended selection target in the training sequence: -1 For Predictions (not training)
lengthLength of training or classification epoch in seconds (>1-2s), must remain constant between markers
…frequenciesSpread list of stimulus objects frequencies
stimulus indexIndex/Indices of object(s) presenting stimulus

Target Indexing

All fields referencing the “index” of an object or class are 1-indexed with regards to an arbitrary collection of said options. Specifically, the target field should be in the range: [1-n], along with each of the indices of active stimulus objects listed in a p300 event marker.

Predictions are also 1-indexed.