Eyelink 1000 output file doesn't have trial or event information

Hi,

I’m using Psychopy 2021.2.3.

I currently have a problem with the eyetracking. I’m trying to get trial/events information in the output file of the eyetracker (which is an EyeLink 1000 Plus).

I tried using the following code at the Begin Routine of a specific event:

eyetracker.sendMessage("beginning_of_fixation")

I then set the Psychopy preferences to save the output “hdf5”. When I open the hdf5 output file, using HDFView (or also converting it to a .csv using Python), I’m unable to find this “beginning_of_fixation” anywhere.

I also tried the following, also in Begin Routine of the same event:

if trials.thisN == 0: #trials is the name of my loop 
    eyetracker.createTrialHandlerRecordTable(trials)

But in this case, the experiment ends, without giving me any error at all.

What could be a solution to successfully store trial information along with the tracker data?


Just to add on this I also tried
eyetracker.sendMessageEvent("beginning_of_fixation") that is adding Event, as I have seen in this forum, but also in this case the experiment ends without giving me any error.

That will send a message to the eye tracker; in the case of eyelink, one that is saved to the eyelink .edf file, not the hdf5 file. This way you could use the eyelink data file to get your eye data and experiment messages.

To send an expeeriment message to the hdf5 file, please use:

# assuming iohub connection is called ioServer
ioServer.sendMessageEvent(text="beginning_of_fixation")

which will save an event to the ExperimentMessage table.

createTrialHandlerRecordTable is part of the iohub server connection class, not the eye tracker. Try something like:

# assuming iohub connection is called ioServer
ioServer.createTrialHandlerRecordTable(trials)

Thank you

1 Like