currently i am building a stimuli in Psychopy for my thesis in my Uni, the 4 stimuli needs to flicker at 8.57 Hz,10 Hz ,12Hz and 15 Hz using the monitor refresh rate, my question is, can psychopy do that? and also what functions do i use for flickering at psychopy? what i have done so far is creating the shapes that needs to be flickered. the flickering effects must be dependent to frequency and phase
from psychopy import visual, event, core,gui ,data, logging #import c
from numpy import sin, pi
cyclepersecond=8.57142
#Penentuan pergeseran fasa efek grating
phase=0
phase1=0
phase2=0
phase3=0
phase4=0
#Penentuan Frekuensi temporal dari penampilan efek grating
#phaseincrement = (cyclepersecond*360)
#gratingtex=visual.GratingStim(win, res(1), res(2), [0 0 0 0])
win = visual.Window([1366,768], color='black', units='pix',fullscr=False,) #membuat Window
#pembuatan stimulus
kotak1=visual.Rect(win, width= 150,height =150,pos=(10,250),)
segitiga1=visual.Polygon(win, edges=3, radius=40,pos=(10,250))
#segitiga1.setColor([-1,1,-1], colorSpace='rgb')
kotak2=visual.Rect(win, width= 150, height=150,pos=(400,-200))
segitiga2=visual.Polygon(win, edges=3, ori=90,radius=40, pos=(400,-200))
kotak3=visual.Rect(win,width=150, height= 150, pos=(-400,-200))
segitiga3=visual.Polygon(win,edges=3,radius=40,ori=-90,pos=(-400,-200))
kotak4=visual.Rect(win,width= 150, height=150,pos=(0,-200))
lingkaran1=visual.Circle(win,radius=40, edges=32,pos=(0,-200))
trialClock=core.Clock()
t=0
while True:
t=trialClock.getTime()
kotak1.contrast=sin(t*pi*2)
kotak1.draw()
segitiga1.draw()
kotak2.draw()
segitiga2.draw()
kotak3.draw()
segitiga3.draw()
kotak4.draw()
lingkaran1.draw()
win.flip()
#core.wait(5.0)
for key in event.getKeys():
if key in ['escape','q']:
core.quit()
I kinda know from psychtoolbox in matlab you can use the flip for flickering effects, but i don't really know how to do that in psychopy