Hi all, and specifically @scott-huberty!
In my lab, we produce eyelink data files (.edf
, using SR Research eyelink eyetrackers). We send markers to the system using code like this:
tk.sendMessage(f"{ord(byte)}")
where tk
is the eyelink object, as initialized via the pylink API, and byte
is a byte value that we’d also send to the EEG system with which we collect data simultaneously.
Basically: We are writing a digit as a Message, resembling a “trigger code”.
In the .edf
file, this looks like (for an ord(byte)
of 23
):
MSG 6138485 23
Unfortunately, read_raw_eyelink
does not convert these trigger codes to annotations. All trigger codes are summarized under the annotation with description: ""
. I would expect that the above MSG
would instead be registered as an annotation with description "23"
.
If I manually change my datafile to contain a line like:
MSG 6138485 23thisisit
then I do get an annotation called "23thisisit"
.
I see that in the MNE-Python eyelink testing data, you have lines like:
MSG 14761538 -14 FIX
and this seems to work, and read an annotation "FIX"
, rather than "-14 FIX"
.
I am a bit confused what the -14
does in this case (and where it comes from) → and probably, in my datafiles, the digits are interpreted in the same way as your -14
and then I end up having an empty-string-annotation.
Help would be appreciated!
Cheers!
(mne
version = 1.5.1)