PHYSICAL.INI file eyelink/ Opensesame plug-in
I am writing after looking for this information extensively but not being used to find a definite answer. I have run an experiment on Opensesame, while using a screen with resolution (1920,1080), dimensions 30x52.5, and distance from the observer of about 40cm. I used an Eyelink Tower 1000 plus.
So far, I had thought that the output fixations and saccades from the .edf file were computed based on my parameters, the ones that I set up in Pygaze (in the script). The results looked reasonable when plotted, so I never questioned them.
However, a colleague pointed out to me that one should actually change the PHYSICAL.INI file in the host computer to be able to rely on saccade and fixation outputs, since they are computed considering the parameters specified in that file. Now, I opened this PHYSICAL.INI file and it turns out that all the parameters were very different from the ones I used (resolution 1024,768), distance of 60cm, and different screen size. I found a discussion on the SR forum where they seem to support my colleague's claim (https://www.sr-support.com/thread-207.html)
But if I look at the .edf file, I see the following message at the beginning of the file:
MSG 2284267 GAZE_COORDS 0.00 0.00 1920.00 1080.00
which means that at least the resolution was correct maybe? but what about the other parameters? should I actually compute saccades and fixations independently and do not trust the Eyelink's output?
I tried just one second to compute saccades for the task following this paper:
and they look basically the same as the ones outputted by the Eyelink, this despite some quite dramatic changes in the parameters hypothetically used for the computation of visual angles by the Eye-tracker. What might be going on? Does it mean that actually the eye-tracker is using the correct parameters that I gave as an input in Opensesame?
Thanks for your help, would be super appreciated!
Hi @SINE ,
I actually wasn't aware of this, but it seems you're correct.
All these settings can be configured in
PHYSICAL.INIor they can be sent as commands from the experiment. PyGaze automatically sends the
screen_pixel_coordscommand to the EyeLink, which informs the EyeLink of the display resolution. However, the
screen_phys_coordscommand is not sent, which should inform the EyeLink of the physical size of the display, nor the
remote_camera_positioncommand, which should inform the EyeLink of the relative position of the camera.
So yes, this probably means that the online event detection is slightly off unless the physical properties of the setup are specified in
PHYSICAL.INI. The effect is likely very small, because the parameters vary only in a relatively narrow range in normal setups, and so the defaults likely work well. But it's still better to configure this properly, so I'll do that for our own setups as well now 😊