Создание точно рассчитанного расширяющегося круга в PsychoPy - PullRequest
0 голосов
/ 30 октября 2018

Используя PsychoPy, я пытаюсь написать простой скрипт, который генерирует расширяющийся круг, который:

1) Увеличивает угол обзора от 2 до 20 градусов за 250 мс.

2) Держится при 20 градусах еще 250 мс.

3) Повторяется n раз с интервалом между стимулами 500 мс (пустой, серый экран) между повторениями.

Код Python, который у меня есть:

from psychopy import visual, core, event

# Define the window/background.
win=visual.Window([800,600],monitor="testMonitor",units="deg")

# Setting up some variables: I'm not sure how best to use them:

# Number of epochs (repetitions)
EPOCH=15

# Stimulus initial size
INIT_RAD=2

# Stimulus end size
END_RAD=10

# Duration of expansion
EXPANSION_MS=250

# Hold duration
HOLD_TIME_MS=250

# ISI duration
ISI_MS=500

# Time-to-frame conversion assuming a 60Hz FR and RR
FRAMES=int((60*EXPANSION_MS)/1000)
print(FRAMES)

# Define the stimulus
circle=visual.Circle(win,radius=1,edges=1000,fillColor='black',lineColor='black')

for e in range(EPOCH):
    for f in range(FRAMES):
        while circle.radius<10:
            circle.radius+=1
            circle.draw()
            win.flip()
#        for f in range(FRAMES): # Doesn't seem to work - takes much longer than 250 ms.
#            circle.radius=20
#            circle.draw()
#            win.flip()
    print(circle.radius)
    circle.radius=1

# Get keys to quit.
if len(event.getKeys())>0:
    event.clearEvents()
    win.close()

Я все еще новичок в Python, и если кто-то может предложить некоторые предложения, я буду очень признателен.

...