import numpy as np from psychopy import visual, core, event, monitors # open a window win = visual.Window(color='white') # create a red rectangle stimulus rect = visual.Rect(win, size=(.5,.3), fillColor='red') # draw the stimulus rect.draw() # flip the window win.flip() # wait for a key response event.waitKeys() # close window win.close() win = visual.Window(color='white') rect = visual.Rect(win, width=.5, height=.3, fillColor='red') rect.draw() win.flip() # don't forget to flip when done with drawing all stimuli so that the stimuli become visible event.waitKeys() win.close() win = visual.Window(color='white') circle = visual.Circle(win, radius=.4, fillColor='red') circle.draw() win.flip() # don't forget to flip when done with drawing all stimuli so that the stimuli become visible event.waitKeys() win.close() win = visual.Window(color='white', units='height') circle = visual.Circle(win, radius=.4, fillColor='red') circle.draw() win.flip() # don't forget to flip when done with drawing all stimuli so that the stimuli become visible event.waitKeys() win.close() mon = monitors.Monitor('My screen', width=37.5, distance=57) mon.setSizePix((1280,1024)) win = visual.Window(color='white', units='deg', monitor=mon) circle = visual.Circle(win, radius=.4, fillColor='red') circle.draw() win.flip() # don't forget to flip when done with drawing all stimuli so that the stimuli become visible event.waitKeys() win.close() import wx app = wx.App(False) # create an app if there isn't one and don't show it nmons = wx.Display.GetCount() # how many monitors we have mon_sizes = [wx.Display(i).GetGeometry().GetSize() for i in range(nmons)] print mon_sizes mon = monitors.Monitor('My screen', width=37.5, distance=57) mon.setSizePix((1280,1024)) win = visual.Window(units='deg', monitor=mon) # make stimuli fix_hor = visual.Line(win, start=(-.3, 0), end=(.3, 0), lineWidth=3) fix_ver = visual.Line(win, start=(0, -.3), end=(0, .3), lineWidth=3) radial = visual.RadialStim(win, mask='gauss',size=(3,3), pos=(-4, 0)) gabor = visual.GratingStim(win, mask='gauss', size=(3,3), pos=(4, 0)) # draw stimuli fix_hor.draw() fix_ver.draw() radial.draw() gabor.draw() win.flip() event.waitKeys() win.close() mon = monitors.Monitor('My screen', width=37.5, distance=57) mon.setSizePix((1280,1024)) win = visual.Window(units='deg', monitor=mon) # make stimulic fix_hor = visual.Line(win, start=(-.3, 0), end=(.3, 0), lineColor='black') fix_ver = visual.Line(win, start=(0, -.3), end=(0, .3), lineColor='black') radial = visual.RadialStim(win, size=(3,3), pos=(-4, 0)) gabor = visual.GratingStim(win, mask='gauss', size=(3,3), pos=(4, 0)) # draw stimuli fix_hor.draw() fix_ver.draw() radial.draw() gabor.draw() win.flip() event.waitKeys() win.close() r = 5 # radius of the big circle ncircles = 12 angle = 2 * np.pi / ncircles # angle between two pink dots in radians for i in range(ncircles): pos = (r*np.cos(angle*i), r*np.sin(angle*i)) mon = monitors.Monitor('My screen', width=37.5, distance=57) mon.setSizePix((1280,1024)) win = visual.Window(color='lightgray', units='deg', monitor=mon) # draw a fixation fix = visual.Circle(win, radius=.1, fillColor='black') fix.draw() r = 5 # radius of the larger circle ncircles = 12 angle = 2 * np.pi / ncircles # make and draw stimuli for i in range(ncircles): pos = (r*np.cos(angle*i), r*np.sin(angle*i)) circle = visual.Circle(win, radius=.5, fillColor='purple', lineColor='purple', pos=pos) circle.draw() win.flip() event.waitKeys() win.close() mon = monitors.Monitor('My screen', width=37.5, distance=57) mon.setSizePix((1280,1024)) win = visual.Window(color='lightgray', units='deg', monitor=mon) # make a fixation fix = visual.Circle(win, radius=.1, fillColor='black') r = 5 # radius of the larger circle ncircles = 12 angle = 2 * np.pi / ncircles # make and draw stimuli dis = 0 # which one will disappear while len(event.getKeys()) == 0: for i in range(ncircles): if i != dis: pos = (r*np.cos(angle*i), r*np.sin(angle*i)) circle = visual.Circle(win, radius=.5, fillColor='purple', lineColor='purple', pos=pos) circle.draw() dis = (dis + 1) % ncircles fix.draw() win.flip() core.wait(.1) win.close() mon = monitors.Monitor('My screen', width=37.5, distance=57) mon.setSizePix((1280,1024)) win = visual.Window(color='lightgray', units='deg', monitor=mon) r = 5 # radius of the larger circle ncircles = 12 angle = 2 * np.pi / ncircles # make a stimuli fix = visual.Circle(win, radius=.1, fillColor='black') circle = visual.GratingStim(win, size=(2,2), tex=None, mask='gauss', color='purple') # make and draw stimuli dis = 0 # which one will disappear while len(event.getKeys()) == 0: for i in range(ncircles): if i != dis: pos = (r*np.cos(angle*i), r*np.sin(angle*i)) circle.setPos(pos) circle.draw() dis = (dis + 1) % ncircles fix.draw() win.flip() core.wait(.1) win.close()