使用Python/精神病学。我呈现3个随机视觉刺激到屏幕中心1秒(imgList1)。然后,我在屏幕的右上角(imgList)呈现另外3种随机视觉刺激。在50%的情况下,我需要第二组刺激(imgList)与第一组(imgList1)相同。我如何访问在第1部分随机选择的刺激,这样我就可以使用这些信息来显示那些相同的刺激。我不知道如何跟踪我最初随机选择的图像的结果。
这是我的代码:
#make initial stimuli
imgList1 = glob.glob(os.path.join('stim','*.png'))
random.shuffle(imgList1)
targetset = [visual.ImageStim(window, img) for img in imgList1]
setlocation = [(-2,0),(0,0),(2,0)]
random.shuffle(setlocation)
#make second group of stimuli
imgList = glob.glob(os.path.join('stim', '*.png'))
random.shuffle(imgList)
pics = [visual.ImageStim(window, img) for img in imgList[:3]]
location = [(1,2),(3,3),(5,5)]
random.shuffle(location)
#display initial stimuli set
for i in range(3):
targetset[i].pos = setlocation[i]
targetset[i].draw()
window.flip()
core.wait(1)
#display secondary stimuli
for i in range(3):
pics[i].pos = location[i]
pics[i].draw()
window.flip()
core.wait(.25)
core.wait(3)
window.close()
quit()发布于 2016-01-13 18:29:02
targetset是包含您从imgList1中选择的图像的列表。你画的时候他们哪儿也不去。以后仍然可以访问该列表(只要不删除或覆盖)。只需抛硬币(选择0到1之间的随机数,并检查是否小于0.5。如果是,则在次级刺激中使用pics,如果不使用targetset (与第二个位置列表一起使用)。您可能会发现这一点值得抽象为一个函数。
def drawSet (imgs,locs):
for(i,l) in (imgs,locs):
i.pos = l
i.draw()
window.flip()
core.wait(0.25)然后你会用它来表示drawSet(targetset,setlocation)和drawSet(pics,location),或者随机的drawSet(targetset,location) (假设你在某个地方是import random as r )。
if r.random() < 0.5:
drawSet(pics,location)
else:
drawSet(targetset,location)https://stackoverflow.com/questions/34771064
复制相似问题