I am trying to set up my eye-tracking but ran into an issue concerning the monitor. The monitor I am using has a size of 1920x1080 pix. I can see that in the Monitor settings and also when I use the terminal:
$ system_profiler SPDisplaysDataType |grep Resolution
Resolution: 1920 x 1080 @ 60Hz (1080p)
I also read that retina displays can be a problem here, but I am not using a retina Display but the BenQ XL 2420 Z Monitor.
I set up the monitor in my python script for the experiment like that:
SCREENWIDTH = int(1920) SCREENHEIGHT = int(1080) m = monitors.Monitor("default", width=28.8, distance=200) win = visual.Window( monitor=m, units="pix", winType="pyglet", size=[SCREENWIDTH, SCREENHEIGHT], fullscr=True, colorSpace="hex", color="#403841", )
I am having trouble with monitors.Monitor because whatever I type in there, it does not seem to change anything about the monitor settings. I use the code suggested here to find out about the monitor being used. That looks like this:
for mon in monitors.getAllMonitors(): print(mon, monitors.Monitor(mon).getSizePix())
and my output is always
testMonitor [1024, 768]
no matter what I write into the
m = ...
line. I tried writing the width of the screen there, too, but nothing changes.
Where does the testMonitor come from? Why is its resolution not as high as the actual monitor resolution? Where did my “default” Monitor go? Why isn’t it being listed when using getAllMonitors()?
The documentation does not really help me a lot as I do not understand what is meant by “calibration”; is it the eye-tracking calibration? I use pylink for that. It also does not explain the units expected as arguments. Shall I use pixels, inch, centimetres, millimetres, … as value for “width”?
Thank you in advance for you help!
PsychoPy2 Standalone Version v1.85.6