| Reference | Downloads | Github

General Question re: stim size (deg of visual angle) and Psychopy

Good Day / Evening Psychopy Community:

I am currently doing some research where I wish to vary the eccentricity of a stimulus, while at the same time (to what extent it is possible) keep that stimulus a constant size WRT the retina. I am aware that I can have the default units of my window screen set to degrees of visual angle. I am wondering about a very basic thing if I do this:

Let’s say I have a stimulus appear at center-screen, say a red square, and I set its size to 3 degrees of visual angle (in both x- and y-dimensions). Then I also have another red square appear 15cm to the right of center-screen, while also specifying its size to be 3 degrees of visual angle (in both x- and y-dimensions). Given the eccentricity of this second stimulus (red square), and change in distance from the retina, by specifying the size in degrees of visual angle, does Psychopy’s back-end, given what it knows about my monitor (yes, it is calibrated, and all the dimensions specified as needed) take this into account when displaying the stimulus? In other words, will the size be scaled to reflect this DIFFERENT distance – forget, for the time being, the cortical magnification factor.

Many thanks,


Hi @Speleo4Life, you may want to use ‘degflat’ units for your stimuli, which :

corrects the calculations of degrees for flatness of the screen for each vertex of your stimuli. Square stimuli in the periphery will, therefore, become more spaced apart but they will also get larger and rhomboid in the pixels that they occupy.

@dvbridges Thank you, sir! That is the specification required and one more step in the direction I’m headed. If I may pose one additional question for you, and for other members of the forum–does this correction assume a cyclopean eye? In other words, does the underlying model forming the basis of this correction assume that the retinas are aligned with center screen?

Why does this matter? The average adult’s interpupillary distance distance is about 60-mm or 6-cm. Assuming that an individual is seated such that their midsaggital plane is perfectly aligned with center screen (in the x-plane, anyhow), then each retina is offset from center by half of the individuals interpupillary distance. Now, I’ve told PsychoPy about the display dimensions and the viewing distance, but it has no information on my IPD or any potential subject I might test.

This is more of a curiosity than a burning question I need answered for my research. For my purposes, the margin of error that this would bring about can reasonably be ignored. But what is the general assumption in this regard when folks are reading a paper, for example, and stimulus size is reported in degrees of visual angle?

(Not really a coding question per se, but it certainly has implications for code!)


Yes, it is coded under the simplifying assumption of a cyclopean eye. For the geometry to be precise, you would need to have a subject viewing monocularly, with the optic axis of the viewing eye at its null position orthogonal to the screen centre.