After you successfully subscribe to a data stream, Cortex will keep sending you data sample objects. See Data Subscription for details.
A data sample object contains these fields:
The name of this field is the name of the data stream, for example "eeg", "met", "com"...
This array contains the values of a data sample. The type and meaning of each value depend on the stream.
To interpret the values in the <stream> array, you must check the field cols from the result of the method.
How to interpret the values
Suppose you want to get the mental command stream. You successfully subscribe to the stream "com", and you receive this response:
The important part is the field cols:
So, the labels for the mental command samples are "act" (action) and "pow" (power), in this order.
Then you will receive some mental command samples. They look like this:
The values in the array com match the labels in the array cols. So "push" is the value for "act" , and 0.376 is the value for "pow".
Below is the description of the labels used in each data stream.
The stream "eeg" uses these labels:
The maker objects include these fields:
Example for an INSIGHT:
Example for an EPOC+ or EPOC X:
The stream "mot" uses these labels:
Depending on the headset, the labels for the gyroscope will be GYROX, GYROY, GYROZ or the quaternions. You will never get both these labels.
Example for a newer INSIGHT:
Example for an older INSIGHT:
To understand the meaning of motion data, you can refer .
Device information
The stream "dev" uses these labels:
Example with INSIGHT:
Example with EPOC+ or EPOC X:
Please read this to understand the difference between the contact quality and the EEG quality.
The stream "eq" uses these labels:
This stream was added in Cortex 2.7.0
Example with INSIGHT:
This stream gives you the power of the EEG data. The values are absolute, the unit is uV^2 / Hz. Each sample is calculated based on the last 2 seconds of EEG data.
The labels of the stream "pow" use the format "SENSOR/BAND", when SENSOR is the name of the EEG sensor and BAND is the name of the band power. Cortex provides these bands:
betaL (low beta, 12-16Hz)
So the low beta for AF3 has the label "AF3/betaL". The gamma for Pz has the label "Pz/gamma".
Example with INSIGHT:
Example with EPOC+ or EPOC X:
Performance metric
Each performance metric is a decimal number between 0 and 1. Zero means "low power", 1 means "high power". So for example, a value of 0.1 for "eng" means that the user is not engaged, a value of 1.0 means the user is very engaged.
If the detection cannot run because of a poor EEG signal quality then the value is null.
For each performance metrics, the flag isActive is true if the detection of this metrics is running properly. It is false if the detection cannot run. This can happen if the EEG signal from the headset is of poor quality.
This flag was added in Cortex 2.2.1
The "met" stream labels vary depending on the headset type, as shown in the tables below:
The "met" Stream Labels of MN8
The "met" Stream Labels of EPOC / INSIGHT / FLEX - (with EPOC config only)
To understand the meaning of each performance metrics, you can refer .
The stream "com" uses these labels:
Facial expression
The stream "fac" uses these labels:
Use the method to get the possible actions.
The stream "sys" is used for the of the mental command and facial expression. It uses these labels:
For example, just after you start a training for the mental command detection, you receive a system event like this: