Basic Data Structures of the BBCI Toolbox

June 10, 2015 ยท View on GitHub

Table of Contents

  • cnt - Data structure holding the continuous signals
  • mrk - Marker structure defining certain events
  • epo - Segmented signals (epochs)
  • mnt - Montage structure defining the electrode layout for scalp and grid plots

cnt - Continuous signals

The structure holding continuous (i.e., not epoched) EEG signals is denoted by cnt.

cntis a structure with the following fields:
.fssampling rate [samples per second]
.xmultichannel signals (DOUBLE [T #channels])
.clabchannel labels (CELL {1 #channels}) there may be additional information in other fields, but these are all optional

mrk - Event markers

The structure holding marker (or event) information is denoted by mrk. Using this structure you can segment continuous EEG signals into epochs by the function proc_segmentation.

mrkis a structure with the following fields:
.timedefines the time points of events in msec (DOUBLE [1 #events])
.yclass labels (DOUBLE [#classes #events])
.classNameclass names (CELL {1 #classes})
.eventstructure of further information; each field of mrk.event provides information that is specified for each event, given in arrays that index the events in their first dimension. This is required such that functions like mrk_selectEvents can work properly on those variables.

This structure can optionally have more fields, with are transfered to the epo structure, when creating epochs. See also the note in the description of the epo structure and the help of the function proc_segmentation.

epo - Segmented signals

The structure holding epoched EEG signals (i.e., a series of short-time windows of equal length) is denoted by epo. (This structure is not resticted to time domain signals, although it is suggested by some notions, e.g. the field .t).

epois a structure with the following fields:
.fssampling rate [samples per second]
.xmultichannel signals (DOUBLE [T #channels #epochs]) where T is the number of samples within one epoch
.clabchannel labels (CELL {1 #channels})
.yclass labels (DOUBLE [#classes #epochs])
.classNameclass names (CELL {1 #classes})
.ttime axis (DOUBLE [1 T])
.eventstructure of further information; each field of epo.event provides information that is specified for each event, given in arrays that index the events in their first dimension. This is required such that functions like epo_selectEpochs can work properly on those variables.
.mrk_infostructure for other additional information copied from mrk
.cnt_infostructure for additional information copied from cnt

mnt - The electrode montage

The electrode montage structure, denoted by mnt, holds the information of the spatial arrangement of the electrodes on the scalp (for plotting scalp topographies) and the arrangement of subplot axes for multi-channel plots.

mntis a structure with the following fields:
.clabchannel labels (CELL {1 #channels})
.xx-position of the electrode for scalp maps (DOUBLE [1 +channels])
.yy-position of the electrode for scalp maps (DOUBLE [1 +channels])
            | **further optional fields are required for multichannel plots:**

.box | positions of subplot axes for multichannel plots (DOUBLE [2 #channels] or [2 #channels+1]; the first row holds the horizontal, and the second row the vertical positions. The optional last column specifies the position of the legend .box_sz | size of subplot axes for multichannel plots (DOUBLE [2 #channels] or [2 #nchannels+1]), corresponding to .box. The first row holds the width, the second row the height .scale_box | position of subplot for the scale (DOUBLE [2 1]) .scale_box_sz | size of subplot for the scale (DOUBLE [2 1])