Python / Psychopy:计算1度视角

时间:2016-04-04 22:39:03

标签: python angle psychopy

我需要知道有多少像素构成1度视角,以便使用Python / Psychopy创建正确大小的刺激。

有人可以帮助我根据以下信息计算1度视角(以像素为单位)吗?

显示器:1680 x 1050分辨率 非宽度= 477mm(47.7cm) 显示器高度= 268毫米(26.8厘米)

从屏幕观察距离= 530mm

我注意到了一些计算器,但他们似乎已经想要了视角的程度(我猜他们从我所处的位置向后工作)

谢谢, 史蒂夫

2 个答案:

答案 0 :(得分:2)

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像素,这意味着您可以感知到像素化。有趣地,该限制与视网膜上的传感器的横向分离和良好照明下眼睛的瞳孔的衍射极限相匹配,证明了进化的经济性。

答案 1 :(得分:2)

PsychoPy可以为你做到这一点。在监控中心,告诉PsychoPy您的显示器的尺寸以及距离参与者眼睛的距离,然后您可以以“' deg”为单位指定所有刺激尺寸。 (PsychoPy确实假设你的像素是方形的)。

实际上,PsychoPy可以更进一步,这是为了纠正你的屏幕是平的这一事实,这意味着角落比中心更远,这意味着1deg在角落处的像素比中心更多。大多数人都希望屏幕上的所有内容都是相同的步骤,即使它的准确性稍差;它"看起来"当它实际上更正确时会出错。

完整信息: http://www.psychopy.org/general/units.html#degrees-of-visual-angle