-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Description
Some devices (case in point: the BrainAmps) record a digital trigger alongside the EEG data and offer three options to send the markers:
- as an additional channel in the EEG stream converted to whatever data type the EEG data has
- as a continouous
int8/int16/stringstream with the same sampling rate as the EEG stream - as a separate, irregular
int8/int16/stringstream
The procedure is as follows (pseudocode, but probably also valid python):
data, triggers, first_timestamp = device.get_chunk()
trigger_indices = triggers.find()
data_outlet.push(data, first_timestamp)
trigger1_outlet.push([data; triggers], first_timestamp)
trigger2_outlet.push(triggers, first_timestamp)
trigger3_outlet.push(triggers[trigger_indices], first_timestamp + trigger_indices / sampling_rate)
Both for resource usage and usability, 3 is the best option but irregularly sampled stream can't be dejittered so the markers aren't as reliable as they should be.
But, as seen in the example above, the timestamps have the same jitter and time offsets so if it were possible to copy dejitter / synchronization parameters from one stream to another the third option would be feasable for offline analysis.
Metadata
Metadata
Assignees
Labels
No labels