gpt4 book ai didi

python - Psychopy:立即重新缩放所有视觉图像对象

转载 作者:行者123 更新时间:2023-11-30 22:19:12 26 4
gpt4 key购买 nike

我正在 Psychopy 1.85.1 中实现一个实验。

该任务将在 1920 x 1080 显示器(即 16:9 宽高比)上执行。

而不是通过以下方式更改我使用的每个单独视觉图像对象的大小:

some_obj.size *= [0.6,1]

我宁愿使用一行代码来普遍计算所有视觉对象的大小参数,以解决由于 16:9 比例而导致的扭曲。

有什么建议吗?

编辑:下面是由 Psychopy 默认 4:3 比例和适当图像引起的拉伸(stretch)示例。左边是图像尺寸不变时发生的情况,右边是图像尺寸改变时发生的情况,如上所示。

enter image description here

实验窗口的创建者:

myWin = visual.Window(size = (1200,675), fullscr = False,
winType = 'pyglet', color = 'white')

圆形图像,如上面所示,由以下人员创建:

testCircleL = visual.Circle(myWin, fillColor = 'lightskyblue', lineColor = 'lightskyblue', units = 'norm',
radius = 0.5, pos=(-.50,0.15))
testCircleR = visual.Circle(myWin, fillColor = 'lightskyblue', lineColor = 'lightskyblue',
radius = 0.5, pos=(0.5,0.15)); testCircleR.size *= [0.6,1]

最佳答案

正如 Mike 在评论中指出的那样,如果维持纵横比是问题,请使用 heightpix(像素)或 degunits in the window ,例如,myWin = Visual.Window(units='pix')。请注意,对于 deg,您必须在监控中心输入一些距离测量值才能正常工作。另请注意,您必须重新调整脚本中的数字。例如,0.5“范数”的半径很大,而 0.5 像素的半径几乎覆盖不了一个像素。

如果您确实想同时缩放许多刺激,您可能会循环执行:

# Set up many visual objects
stim1 = visual.Circle(myWin)
stim2 = visual.ImageStim(myWin)
stim3 = visual.GratingStim(myWin)

# Scale multiple visual objects
for this_stim in [stim1, stim2, stim3]:
this_stim.size *= [0.6, 1]

当然,这仅适用于具有 size 属性的刺激。

关于python - Psychopy:立即重新缩放所有视觉图像对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49182669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com