I’m trying to realize a RDK with square dots instead of the round ones by default.
So far I have manage to use the ‘element’ argument of visual.DotStim with a square.
win = visual.Window(fullscr=True,monitor='iiyama' ,screen=1,units='deg', allowGUI=False, winType='pyglet',waitBlanking=False) #Initialize visual objects square=visual.Rect(win,width=0.23, height=0.23,fillColor=(1,1,1), autoLog=None) dotPatchUp = visual.DotStim(win, color=(1.0, 1.0, 1.0), dir=270, nDots=100, fieldShape='sqr', fieldPos=(0.0, 0), fieldSize=15,dotSize=7, dotLife= 5, # number of frames for each dot to be drawn signalDots='same', # are signal dots 'same' on each frame? (see Scase et al) noiseDots='direction', # do the noise dots follow random- 'walk', 'direction', or 'position' speed=0.1, coherence=0,ssvep=True,element=square) trialClock =core.Clock() while trialClock.getTime() < 5.0: dotPatchUp.draw()
Two problems thus emerge:
First even if declaring that the units of my window is ‘deg’, it switch back to Default units.
Second, running on Debian, I have to turn waitBlanking=False to have 60 Hz refreshing rate instead of 30Hz. When using element method, the framerate return to 30Hz despite me specifying the correct option.
Looking at how dot.py is done I realize that some openGL is at play and I don’t know how to turn round dot into square in this script.
Any suggestions are welcome!