Python/Psychopy: вычисление 1 градуса угла зрения

Мне нужно знать, сколько пикселей составляет 1 градус угла зрения, чтобы создавать стимулы правильного размера для отображения с помощью Python/Psychopy.

Может ли кто-нибудь помочь мне рассчитать 1 градус угла зрения (в пикселях) из следующей информации?

Монитор: разрешение 1680 x 1050. Ширина без монитора = 477 мм (47,7 см) Высота монитора = 268 мм (26,8 см)

расстояние просмотра от экрана = 530 мм

Я заметил несколько калькуляторов вокруг, но они, похоже, уже хотят знать угол обзора (я думаю, они работают в обратном направлении от того места, где я нахожусь)

Спасибо, Стив


person Steve    schedule 04.04.2016    source источник


Ответы (2)


PsychoPy может сделать это за вас. В Центре мониторинга сообщите PsychoPy о размерах вашего монитора и о том, как далеко он находится от глаза участника, а затем вы можете указать все размеры стимулов в единицах «градус». (Хотя PsychoPy действительно предполагает, что ваши пиксели квадратные).

На самом деле, PsychoPy может пойти еще дальше, а именно скорректировать тот факт, что ваш экран плоский, что означает, что углы находятся дальше, чем центр, а это означает, что 1 градус — это больше пикселей в углу, чем в центре. Большинство людей предпочитают, чтобы все было равно шагам по экрану, хотя это немного менее точно; это «выглядит» неправильно, когда на самом деле это более правильно.

Для получения полной информации: http://www.psychopy.org/general/units.html#degrees-of-visual-angle

person Jon    schedule 05.04.2016
comment
Это гениально, я понятия не имел об этом. Как мне узнать, является ли мой экран правильно плоским или нет (глупый вопрос?)? Кроме того, если я хочу, чтобы мои стимулы были размером ровно 1 градус (с обеих сторон), если мои стимулы слишком малы (png), не будет ли это просто растягивать изображение? Как я узнаю, какого размера делать стимулы в первую очередь? - person Steve; 05.04.2016

1680 pxls/477 mm = 3.52 pxls/mm = pxldensity_x
1050 pxls/268 mm = 3.91 pxls/mm = pxldensity y 

tan (1 degree)  = 0.0174  =  rise/run = D / 530 mm  -->

 D (physical size of 1 degree on monitor)= 9.22 mm

 pixels within 1 degree (x-direction)  = D * pxldensity_x = 32 pxls
 pixels within 1 degree (y-direction)  = D * pxldensity_x = 36 pxls

Человеческий глаз имеет угловое разрешение около 1 угловой минуты (1/60 градуса), поэтому вы могли видеть 1/2 пикселя на этом экране, то есть вы могли воспринимать пикселизацию. Предел интересно сочетается как с боковым разделением сенсоров на сетчатке, так и с дифракционным пределом зрачка глаза при хорошем освещении, демонстрируя экономию эволюции.

person roadrunner66    schedule 04.04.2016
comment
Большое спасибо. Разве не должно быть больше пикселей на 1 градус угла для направления x, а не для направления y? Потому что x длиннее, чем y. Или я ошибся? - person Steve; 05.04.2016
comment
Нет. Плотность – это интенсивная величина. Поскольку вы делите на длину, она становится независимой от длины. Таким образом, либо x-, либо y-плотность может быть выше, в зависимости от дизайна экрана. - person roadrunner66; 05.04.2016
comment
Я понимаю. Не могли бы вы сказать мне, на каком расстоянии просмотра мне нужно находиться, чтобы плотность пикселей была одинаковой? - person Steve; 05.04.2016
comment
Нет ни одного. Монитор такой, какой есть, пиксели в ширину больше, чем в высоту. Если вы инвертируете числа, которые я даю в первой строке, вы получите размер пикселя: 284 мкм в ширину и 255 мкм в высоту (гм = микрометр = 1/1000 мм). - person roadrunner66; 05.04.2016
comment
Маловероятно, что пиксели физически не квадратные. Я подозреваю (если это ЖК), что экран работает с неродным разрешением, или физические размеры неверны. - person Michael MacAskill; 05.04.2016
comment
@MichaelMacAskill Спасибо, что указали на это. Многие форматы видео не были строго квадратными, но большинство ЖК-дисплеев очень близки. Я просто попытался ответить на его реальный вопрос, основываясь на его измерениях. - person roadrunner66; 06.04.2016
comment
@roadrunner66 Да, согласен, что ваш ответ правильный, учитывая предоставленную информацию... - person Michael MacAskill; 06.04.2016