Search code examples
pythonanglepsychopy

Python/Psychopy: calculating 1 degree of visual angle


I need to know how many pixels make up 1 degree of visual angle in order to create stimuli of the correct size to display using Python/Psychopy.

Could someone help me calculate 1 degree of visual angle (in pixels) from the following information?

Monitor: 1680 x 1050 resolution Nonitor width = 477mm (47.7cm) Monitor height = 268mm (26.8cm)

viewing distance from screen = 530mm

I've noticed a few calculators around, but they seem to already want the degree of visual angle (I guess they're working backwards from where I'm at)

Thanks, Steve


Solution

  • PsychoPy can do this for you. In the Monitor Center tell PsychoPy about the dimensions of your monitor and how far away it is from the participant's eye and then you can specify all stimulus sizes in units of 'deg'. (PsychoPy does actually assume your pixels are square though).

    Actually, PsychoPy can go one step further, which is to correct for the fact that your screen is flat, which means that the corners are further away than the centre, which means 1deg is more pixels at the corner than the centre. Most people prefer everything to be equal steps across the screen even though that's slightly less accurate; it "looks" wrong when it's actually more correct.

    For full info: http://www.psychopy.org/general/units.html#degrees-of-visual-angle