Python 如何设置精神病患者每次试验的刺激方向

Python 如何设置精神病患者每次试验的刺激方向,python,psychopy,Python,Psychopy,我对python语言和精神病相当陌生。我通过创建虚拟实验来练习。在这里,我试图创建一个关于贝叶斯大脑的实验。非垂直线将呈现给参与者,而参与者无需回应,仅需曝光。然后,对于最后一次试验(它在监视器上停留更长的时间以进行响应),预期参与者会判断最后一次试验是否垂直?(暴露于非垂直线后,我希望看到垂直感的变化) 然而,有太多的东西我无法从网上学到。我相信你们能很容易地帮助我 我的主要问题是;如何设置线路的方向?我找到了stim.ori,但不知道如何在“在线”刺激中使用它。下面我附上了迄今为止我制作的代

我对python语言和精神病相当陌生。我通过创建虚拟实验来练习。在这里,我试图创建一个关于贝叶斯大脑的实验。非垂直线将呈现给参与者,而参与者无需回应,仅需曝光。然后,对于最后一次试验(它在监视器上停留更长的时间以进行响应),预期参与者会判断最后一次试验是否垂直?(暴露于非垂直线后,我希望看到垂直感的变化)

然而,有太多的东西我无法从网上学到。我相信你们能很容易地帮助我

我的主要问题是;如何设置线路的方向?我找到了stim.ori,但不知道如何在“在线”刺激中使用它。下面我附上了迄今为止我制作的代码。此外,我还用#添加了一些额外的问题

我尽量说清楚。对不起,我的英语不好。 谢谢大家!

from psychopy import visual, core, event #import some libraries from PsychoPy
import random

#create a window
mywin = visual.Window([800,600],monitor="testMonitor", units="deg")

#stimuli
lineo = visual.Line(mywin, start=(-5, -1), end=(-5, 1))
fixation = visual.GratingStim(mywin, size=0.2, pos=[0,0], color = 'black')

#draw the stimuli and update the window
n = 5 # trial number
i = 0
while i < n:
    #fixation
    fixation.draw()
    mywin.flip()
    presses = event.waitKeys(1)
    # stimulus
    orientationlist = [20,30,40,50,60] # I want to draw the orientation info from this list
    x = random.choice(orientationlist)
    lineo.ori((x)) #
    lineo.draw()
    mywin.flip()
    presses= event.waitKeys(2)
    i +=1
    if i == 5: # how do I change the number into the length of the trial; len(int(n) didnt work.
        lineo.draw()
        mywin.flip()
        presses = event.waitKeys(4)
    #quiting
    # I dont know how to command psychopy for quiting the
    # experiment when 'escape' is pressed.

#cleanup
mywin.close()
core.quit()
从psychopy导入视觉、核心、事件#从psychopy导入一些库
随机输入
#创建一个窗口
mywin=visual.Window([800600],monitor=“testMonitor”,units=“deg”)
#刺激物
lineo=visual.Line(mywin,开始=(-5,-1),结束=(-5,1))
固定=视觉。光栅刺激(mywin,大小=0.2,位置=[0,0],颜色='黑色')
#绘制刺激并更新窗口
n=5#试验编号
i=0
而i
有几件事你想做得不一样。我已经更新了你的代码,并用注释“CHANGE”标记了更改。更改刺激的方向在心理学中是非常一致的,因此
与任何其他视觉刺激类型没有什么不同

从psychopy导入视觉、核心、事件#从psychopy导入一些库
随机输入
#创建一个窗口
mywin=visual.Window([800600],monitor=“testMonitor”,units=“deg”)
#刺激物
lineo=visual.Line(mywin,开始=(-5,-1),结束=(-5,1))
固定=视觉。光栅刺激(mywin,大小=0.2,位置=[0,0],颜色='黑色')
方向列表=[20,30,40,50,60]#已更改。无需在while循环的每次迭代中重新定义。
#绘制刺激并更新窗口
n=5#试验编号
对于范围(n)中的i:#已更改。在您的情况下,这比while循环更整洁。无需“手动”增加i。
#固定
固定。绘图()
mywin.flip()
event.waitKeys(1)#已更改。如果未使用,则无需将输出分配给任何对象。
#刺激
lineo.ori=random.choice(定向列表)#已更改。备选方案:lineo.setOri(random.choice(定向列表))。
lineo.draw()
mywin.flip()
事件。等待键(2)
#此时,所有的刺激都显示出来了。所以不需要在循环中执行if语句。下面的代码将在适当的时间运行
lineo.draw()
mywin.flip()
event.waitKeys(keyList=['escape'])#已更改。侦听转义,不分配给变量
#已更改。无需在此处调用core.quit()或myWin.close(),因为python会自动清理脚本端的所有内容。

有几件事你想做得不一样。我已经更新了你的代码,并用注释“CHANGE”标记了更改。更改刺激的方向在心理学中是非常一致的,因此
与任何其他视觉刺激类型没有什么不同

从psychopy导入视觉、核心、事件#从psychopy导入一些库
随机输入
#创建一个窗口
mywin=visual.Window([800600],monitor=“testMonitor”,units=“deg”)
#刺激物
lineo=visual.Line(mywin,开始=(-5,-1),结束=(-5,1))
固定=视觉。光栅刺激(mywin,大小=0.2,位置=[0,0],颜色='黑色')
方向列表=[20,30,40,50,60]#已更改。无需在while循环的每次迭代中重新定义。
#绘制刺激并更新窗口
n=5#试验编号
对于范围(n)中的i:#已更改。在您的情况下,这比while循环更整洁。无需“手动”增加i。
#固定
固定。绘图()
mywin.flip()
event.waitKeys(1)#已更改。如果未使用,则无需将输出分配给任何对象。
#刺激
lineo.ori=random.choice(定向列表)#已更改。备选方案:lineo.setOri(random.choice(定向列表))。
lineo.draw()
mywin.flip()
事件。等待键(2)
#此时,所有的刺激都显示出来了。所以不需要在循环中执行if语句。下面的代码将在适当的时间运行
lineo.draw()
mywin.flip()
event.waitKeys(keyList=['escape'])#已更改。侦听转义,不分配给变量
#已更改。无需在此处调用core.quit()或myWin.close(),因为python会自动清理脚本端的所有内容。