MWorks gaze-contingent updating

Hi Chris,

I’m wondering if you could provide advice/help on setting up a simple RSVP experiment for gaze-contingent updating. I want to do something very similar to Ha’s experiments except that, after calibration, I’d like to show images on the screen where the eyetracker thinks the monkey is looking (instead of always at the center of the screen). Trials would be aborted if the monkey looks off the screen (and I’d ideally have the option of setting the experiment to abort trials if eyemovements after each trial begins deviate too much depending on how much behavioral cooperation I can get).

Also, do you have a rough sense of how long after an eyemovement it would take for MWorks to update the screen and show stimuli at the new detected eye location?

Thanks!
Darren

Hi Darren,

I’ve attached an example experiment that may be helpful. The basic logic is as follows:

  1. Queue an invisible fixation window (target_region) that defines the “usable” area of the display, i.e. all points sufficiently far from the edges that you can show the whole stimulus. Wait for the monkey’s gaze to come to rest on a spot within this window.

  2. Queue another invisible fixation window (fixation_window) at the current eye position. Verify that the monkey’s gaze remains within this fixation window for some length of time (I arbitrarily chose 500ms).

  3. If fixation is broken, return to step 1. Otherwise, present the stimulus at the same position as the fixation window.

The example uses a fake monkey to generate eye positions. In lieu of different image stimuli, it presents a single rectangle stimulus with a different, randomly-chosen color in each trial.

One potential issue is that target_region must be a square, as MWorks fixation windows are always square. To get around this, your can create multiple fixation windows that together cover the area you want.

Also, do you have a rough sense of how long after an eyemovement it would take for MWorks to update the screen and show stimuli at the new detected eye location?

The primary source of delay is waiting for the display to refresh, so I’d guess that the interval between the eye position being received and the stimulus appearing on screen wouldn’t be more than a frame or two. If the precise timing matters, I can do some tests and give you actual numbers.

Cheers,
Chris

Attachment: gaze_contingent_update.xml (9.89 KB)

Great, thanks!

For this setup, I’m not concerned about the precise timing. Only in the
case that we need to do the extreme gaze-contingent updating (stimulus
presentation actively following gaze), will the precise timing matter.

Thanks again,
Darren