Hi,
I’m trying to run an eyetracking experiment using ioHub for EyeLink 1000. I’d like to use thirteen-point calibration instead of the default nine-point calibration, but when I add the line eyetracker_config['calibration'] = dict(type='THIRTEEN_POINTS')
to the script, the experiment skips the calibration procedure entirely and goes straight to the test. The calibration works fine without the line (with the default nine-point calibration). I can change the calibration type manually for every participant on the EyeLink Host PC, but I’d prefer it to be automatic.
Any suggestions will be much appreciated!
Below the code I use for the eyetracker setup:
#######################################################
########## EYETRACKER SETUP ##############
#######################################################
# prepare the settings for launching the iohub
iohub_tracker_class_path = 'eyetracker.hw.sr_research.eyelink.EyeTracker'
eyetracker_config = dict()
eyetracker_config['name'] = 'tracker'
eyetracker_config['model_name'] = 'EYELINK 1000 DESKTOP'
eyetracker_config['runtime_settings'] = dict(sampling_rate = 500, track_eyes = 'RIGHT')
eyetracker_config['simulation_mode'] = False
eyetracker_config['default_native_data_file_name'] = file_name
eyetracker_config['calibration'] = dict(type='THIRTEEN_POINTS')
# Since no experiment or session code is given, no iohub hdf5 file
# will be saved, but device events are still available at runtime.
io = launchHubServer(**{iohub_tracker_class_path: eyetracker_config})
# Get some iohub devices for future access.
keyboard = io.devices.keyboard
display = io.devices.display
tracker = io.devices.tracker
# run eyetracker calibration
tracker.runSetupProcedure()
# reinitialise the HubServer to get rid of the display trouble
io.quit()
io = launchHubServer(**{iohub_tracker_class_path: eyetracker_config})
keyboard = io.devices.keyboard
display = io.devices.display
tracker = io.devices.tracker