Converting norm units into cm?

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

OS (e.g. Win10): MacOS Sonoma 14.1.2
PsychoPy version (e.g. 1.84.x): v2023.2.1.
Standard Standalone? (y/n) If not then what?: y
What are you trying to achieve?:

I’m manipulating discrepancy in size between a standard and test stimulus. Currently, my code outputs their discrepancy as a difference in normalised units (both stimuli are defined as size 0.5).

Given knowledge of my monitor’s size, how do I convert this discrepancy score into cm? Later, if I need to obtain cycles per visual degree, I presume I can obtain this by scaling cm’s with distance to the monitor?

What did you try to make it work?:
I’ve tried to rebuild the experiment by directly specifying my stimuli as cm, but, given the time constraints I’m working in, I may not be able to reposition all the stimuli as I’d like. Unless there’s no straightforward way to back-engineer cm units from norm units, I’d rather not go down this route.

To follow up on this point, I’ve tried using a simple tape measurer and the polygon stimulus tool to manually measure how much a single width norm unit and height norm unit are equal to. Worryingly, the they units seem to scale non-linearly, which would throw off all of my discrepancy calculations :frowning:

If I render a rectangle on my monitor with 0.5 width and 0.5 height (norm units), my tape measurer indicates the following equivalency:

0.5 width (norm) => 9 cm
0.5 height (norm) => 6 cm

However, if I scale the rectangle up to 1 width and 1 height (norm), I obtain the following:

1 width (norm) => 17.5 cm
1 height (norm) => 11.5 cm

Where did the remaining 0.5 cm go?

For reference, my monitor (tape measured) is 35cm wide and 23cm tall. That would explain the second set of measurements, (35 / 2 = 17.5; 23 / 2 = 11.5). But then why are is 0.5 width (norm) equal to 9 cm instead of (35/4 =) 8.75 cm?

Update: With more precise (tape) measurement, I’ve found that my norm width unit is 17.5 cm; the norm height unit is 11.5 cm.

Do you have an issue outstanding here? In norm units the entire PsychoPy window is 2 wide by 2 high so horizontal units are wider than vertical ones. In height units the shortest out of height and width is 1 unit (usually height) and horizontal units are the same as vertical units. In both cases to convert into cm you will need to measure the PsychoPy window size on your monitor.