Number of Looks in Eyetracking Experiment

If this template helps then use it. If not then just delete and start from scratch.

OS: Win10
PsychoPy version: 2023.2.3
Standard Standalone? (y/n): y

In brief: We are running an eye-tracking experiment with a Tobii Pro Fusion (all works) and are wondering if we can get reliable information on number of looks from this experiment? The number of looks provided in the .csv generated by PsychoPy is not correct in our eyes (no pun intended).

In detail: We’re running an eye-tracking experiment where two stimuli are shown on screen. Next, the name of one of the stimuli is played via speakers and eye-tracking ROIs around the stimuli drawn and eye-tracking data is collected for several seconds. We are interested how much time participants spend looking on either stimuli and/or how often they look at each of the stimuli once they hear the name, i.e. looking time and number of looks.

We are using a Tobii Pro Fusion, installed it properly using the provided SDKs and everything works well. We export a .hdf5 file at the end of the experiment that contains eye coordinates and we use a modified script from Becca Hirst to extract the information saved in the .hdf5 to .csv. This script reads out different data types, but we are limited to binocular eye sample events as no other information seems to be provided in that file, e.g. on looks or blinks.

The task summary .csv file generated by PsychoPy also includes information that is eye-tracking related, e.g. looking time and here also a number of looks. BUT, we figured this number of looks does not accurately reflect what constitutes a look. To test this, we ran an additional very simple experiment where a stimulus is shown and the experimenter himself just stared at that stimulus until it disappears and a new trial begins. Even when outright staring at the stimulus, the .csv task file claims to have recorded several looks on the stimulus during a trial. We further found that using slow blinks or squinting we can influence the number of looks detected. We verified with the information in the .hdf5 file that the look count seems to increase for every time the eyetracker “lost” the eyes for a brief period (due to slow blinking or squinting) and thus even in trials where the participant never actually looked away from and back to the stimulus, we may get several “looks” detected.

We’re wondering if (1) we are really limited to binocular eye sample events in the .hdf5 file or if we can specify something to also get other data types? (2) How and where does PsychoPy determine number of looks from the eye-tracker in the background and are there any settings that we can influence?

Because we are working with infants, we’re hoping to get a cleaner estimate of actual looks to the stimulus (eye gaze was away from and travels back into the ROI) that isn’t muddied by sheer data dropout.

Thank you in advance for your time and input.

Hello

What do you mean by looks, fixations, a gaze or what? You are not using the terminology commonly used in eye-tracking research, which makes it difficult to understand your problem.

There are different algorithms that allow you to detect fixations. For example, dispersion-based algorithms use the number of samples that are close together for a certain amount of time. Depending on the parameter used to define a fixation, you may have more fixations in a trial than you expect.

The eye tracker loses position information when a blink occurs. This may affect the number of fixations, depending on the fixation algorithm. With binocular data, the algorithm may find differences in the number of fixations because the eye does not move in complete synchrony.

Still a good source for eye-tracking research is Holmqvist, K., Nyström, M., Andersson, R., Dewhurst, R., Jarodzka, H., & Van de Weijer, J. (2011). Eye tracking: A comprehensive guide to methods and measures. Oxford.

Best wishes Jens

Dear johannesjuliusm,

Can you provide an example csv file? As @JensBoelte said, your terminology is making diagnosing the problem difficult.
I looked in the recent documentation for psychopy, and for Tobii there is no supported fixation detection measure Tobii — PsychoPy v2024.2.5.
There is for Gazepoint and Eyelink however, but I don’t think those measure can cross over easily. I doubt you have tobii lab, otherwise you would use that to read the data analyze the eye data.
So as @JensBoelte said, you would need to look into the literature to determine what constraints you use to determine what constitutes as a fixation or not. Then apply that criteria to your data set in post processing.
Best regards, stanley1O1