Calibration not running when call calibrate in Psychopy using Pygaze and Eyelink
I have been trying to develop and run a simple eyetracking experiment on a windows computer using an eyelink 1000+ system in the builder mode provided by psychopy. I have been running into an issue in terms of getting the program to execute the calibration before the experimental trials begin.
Although it seems to open a window to perform the calibration on the stimulus computer nothing appears (neither menu nor fixation dots for calibration). I have tried pressing c, v, enter and q which are supposed to be the relevant key commands on the stimulus computer but nothing appears and it seems to be unresponsive. When I try starting the calibration from the eyetracking computer after the blank screen appears on the stimulus computer the calibration screen opens on the eyetracking computer (i.e. a fixation dot appears) but the screen on the stimulus computer remains blank and unresponsive. The code I have been using for the experiment came from the SimpleTrackerExperiment demo on the pygaze website and I added it right at the start of the experiment before any experiment instructions or trials begin:
import random import constants from pygaze import libscreen from pygaze import libtime from pygaze import liblog from pygaze import libinput from pygaze import eyetracker libtime.expstart() disp = libscreen.Display() tracker = eyetracker.EyeTracker(disp) keyboard = libinput.Keyboard(keylist=['space','c','v','q'], timeout=None) tracker.calibrate()
Also this is a copy of the constants.py file that is imported
DUMMYMODE = False # False for gaze contingent display, True for dummy mode (using mouse or joystick) LOGFILENAME = 'default' # logfilename, without path LOGFILE = LOGFILENAME[:] # .txt; adding path before logfilename is optional; logs responses (NOT eye movements, these are stored in an EDF file!) TRIALS = 5 SCREENNR = 0 # number of the screen used for displaying experiment DISPTYPE = 'psychopy' # either 'psychopy' or 'pygame' DISPSIZE = (1024,768) # canvas size SCREENSIZE = (26.1, 19.7) # physical display size in cm MOUSEVISIBLE = False # mouse visibility BGC = (125,125,125) # backgroundcolour FGC = (0,0,0) # foregroundcolour SOUNDOSCILLATOR = 'sine' # 'sine', 'saw', 'square' or 'whitenoise' SOUNDFREQUENCY = 440 # Herz SOUNDLENGTH = 100 # milliseconds (duration) SOUNDATTACK = 0 # milliseconds (fade-in) SOUNDDECAY = 5 # milliseconds (fade-out) SOUNDBUFFERSIZE = 1024 # increase if playback is choppy SOUNDSAMPLINGFREQUENCY = 48000 # samples per second SOUNDSAMPLESIZE = -16 # determines bit depth (negative is signed SOUNDCHANNELS = 2 # 1 = mono, 2 = stereo MOUSEBUTTONLIST = None # None for all mouse buttons; list of numbers for buttons of choice (e.g. [1,3] for buttons 1 and 3) MOUSETIMEOUT = None # None for no timeout, or a value in milliseconds KEYLIST = ['space','c','v','q'] # None for all keys; list of keynames for keys of choice (e.g. ['space','9',':'] for space, 9 and ; keys) KEYTIMEOUT = None # None for no timeout, or a value in milliseconds JOYBUTTONLIST = None # None for all joystick buttons; list of button numbers (start counting at 0) for buttons of choice (e.g. [0,3] for buttons 0 and 3 - may be reffered to as 1 and 4 in other programs) JOYTIMEOUT = None # None for no timeout, or a value in milliseconds TRACKERTYPE = 'eyelink' # either 'smi', 'eyelink' or 'dummy' (NB: if DUMMYMODE is True, trackertype will be set to dummy automatically) SACCVELTHRESH = 35 # degrees per second, saccade velocity threshold SACCACCTHRESH = 9500 # degrees per second, saccade acceleration threshold SMIIP = '127.0.0.1' SMISENDPORT = 4444 SMIRECEIVEPORT = 5555 FRLSIZE = 200 # pixles, FRL-size FRLDIST = 125 # distance between fixation point and FRL FRLTYPE = 'gauss' # 'circle', 'gauss', 'ramp' or 'raisedCosine' FRLPOS = 'center' # 'center', 'top', 'topright', 'right', 'bottomright', 'bottom', 'bottomleft', 'left', or 'topleft' CURSORTYPE = 'cross' CURSORSIZE = 20 CURSORCOLOUR = 'pink' CURSORFILL = True CURSORPENWIDTH = 3
Any help or suggestions would be greatly appreciated.