Python PsychoPy使用随机点运动图(RDK)模拟扩展焦点

Python PsychoPy使用随机点运动图(RDK)模拟扩展焦点,python,psychopy,Python,Psychopy,我需要使用PsychoPy的RDK功能模拟一个扩展焦点 到目前为止,我有以下代码。然而,这只创建了一个朝某个方向移动的RDK from psychopy import visual, event, core win = visual.Window([1000,1000], rgb=(255,255,255), fullscr=False) fixSpot = visual.GratingStim(win,tex=None, mask="gauss", size=(0.05,0.05),colo

我需要使用PsychoPy的RDK功能模拟一个扩展焦点

到目前为止,我有以下代码。然而,这只创建了一个朝某个方向移动的RDK

from psychopy import visual, event, core

win = visual.Window([1000,1000], rgb=(255,255,255), fullscr=False)
fixSpot = visual.GratingStim(win,tex=None, mask="gauss", size=(0.05,0.05),color='black')


rdk = visual.DotStim(win, units='', nDots=1000, coherence=1.0, 
                    fieldPos=(0,0), 
                    fieldSize=(1,1), 
                    fieldShape='sqr', dotSize=6.0, 
                    dotLife=150, dir=0, speed=0.01, 
                    rgb=None, color=(0,0,0), 
                    colorSpace='rgb255', opacity=1.0, 
                    contrast=1.0, depth=0, element=None, 
                    signalDots='different', 
                    noiseDots='direction', name='', 
                    autoLog=True)

stop = False

while stop == False:    

    fixSpot.draw()
    rdk.draw()

    win.flip()

    if event.getKeys("a"):
        win.close()
        stop = True
我需要创建一个RDK,其中点从窗口中的特定位置移开

i、 e

我试图改变参数,但我无法模拟所需的功能。 我还查阅并搜索了psychopy文档,但是没有提到“扩展的焦点”


有没有办法用心理变态来做到这一点?如果没有,最好的选择是什么?

有趣的问题。一种方法是:

from psychopy import visual
win = visual.Window()
stim = visual.DotStim(win, nDots=50, dotLife=60, speed=0)  # a non-moving DotStim

for frame in range(100):
    stim._dotsXY *= 1.02  # accelerating X-Y expansion
    #stim.dotsXY *= stim.dotsXY * [1.02, 1.05]  # faster acceleration in y-direction
    stim.draw()
    win.flip()
这将进入“幕后”,并操纵名为
visual.dotsim.\u dotsXY
的内部属性。它只是一个
2xndots
numpy数组,如下所示:

print stim._dotsXY  # look at coordinates
[[ 0.02306344 -0.33223609]
 [ 0.30596334 -0.0300994 ]
 [-0.10165172 -0.08354835]
 [ 0.21854653 -0.07456332]
 [-0.39262477 -0.21594382]
...etc

。。。你可以在上面做各种各样的操作。我不太明白如何以简洁的方式进行恒速扩展。

在PsychoPy Coder视图中有一个名为starField的演示。它具有来自单个点的随机速度(传统的太空旅行“模拟”使用它来指示恒星处于不同的距离)。你应该能够计算出如何使所有的点具有相同的速度

演示使用ElementArrayStim而不是DotStim,因为DotStim有自己的方法来控制点运动,我认为您不希望这样