Eye-tracker: change calibration and validation procedures for Eyelink 1000

Dear all,

I’m running an MRI experiment with an eye-tracker (Eyelink 1000 desktop) and the field of view is pretty limited inside the bore.
What I would like to do is to change calibration and validation procedures, and move circle targets in some other location of the screen.
The best is with a priory selected space coordinates.

Any suggestions on how to start will be very appreciated!

Below the code I usually use:

        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['simulation_mode'] = True
        eyetracker_config['runtime_settings'] = dict(sampling_rate=1000,
        io = launchHubServer(**{iohub_tracker_class_path: eyetracker_config})
        tracker = io.devices.tracker

        # run eyetracker calibration
        r = tracker.runSetupProcedure()

Thanks in advance.

It is a bit tricky. You will probably be limited by the number of calibration methods available in Eyelink.
There is a file, eyeLinkCoreGraphicsIOHubPsychopy, which you probably should not modify. It takes the display size of monitor by default, but what if it is changed to the portion of the screen available for a user.
There is also pylink, which you can use.

Hi Natalia,
Thanks for the reply!

I was trying to look at eyeLinkCoreGraphicsIOHubPsychopy.py and to eyetracker.py, but it seems quite difficult change them without create other problems.

I’m not sure how to start with pylink, and how to integrate with Psychopy. Do you have any link to suggest from where should I start? (I cannot find enough online)


Hi Michele,

The traces are well covered :smiley: Also I am not sure if it works with the newest version of psychopy, but it worked well with 1.81 when I tried it last year.

This is the thread at the sr forum https://www.sr-support.com/forum/eyelink/programming/5548-a-psychopy-implementation-of-the-eyelink-coregraphics
This is the file:

I think you might need to register to be able to download the file.


Hi Natalia,

Thanks for your link, it seems what I was looking for!
It was actually quite hidden, even if I reached that forum multiple times.
I’ll take a look soon.

Thank you!

Thread Necromancy! I am trying to control the calibration grid in PsychoPy.

That link to the SR Forum no longer works as they appear to have updated their forum software and killed all the old accounts and posts. Even after re-registering I cannot find the method for changing calibration size.

In MATLAB + PTB we just used to make it run in windowed mode and the Calibration would adjust to fill the window - which made it perfect for adjusting in the fMRI bore with limited visual angles. Can I do this with PsychoPy too?

Hi @dagmarfraser are you using the newest release of PsychoPy (2021.2)? if so he grid can be set to various sizes (even from builderview!) I’m imagining there might be a bit more flexibility for what you need on that release!



Hi @Becca
I am looking for a solution to similar issue as the one mentioned here. Can you explain have the calibration/validation grid can be scaled in the builder?


1 Like

Hi There,

Please could you clarify what you mean by “scaled” - do you mean you want to set the grid to be a specific size?


Not OP, but I am looking for a solution for this as well. Do you know a way in which the grid can be customized for calibration of the eye tracker?

1 Like

Same question for me as well!

Hi Please can you clarify in what way you’d like to customise the grid? and is it for the Eyelink? I think the layouts are sometimes determined from the Eyelink set up for these - so we might be restricted.