Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Showing different content on two screens (gaze position in particular)

Hi,

For all of my future eye-tracking experiments, I intend to enable live monitoring of the eye-tracking quality by showing the current gaze position on a second screen. I have three ideas of how to achieve that, but none of them seem to work:

A) Using pyglet to generate a separate window. The problem there is that opensesame works sequentially and as far as I can tell, there's no way to run a process parallel to the entire flow of the experiment (like a coroutine that lasts for the whole experiment). Currently, the experiment halts until the window is closed. I tried to deactivate and than reactivate it, but that doesn't seem to go anywhere....

B) Extending the screen by doubling the resolution. This would work, if it weren't for the eye-tracking that requires the dimensions of just one screen. Is it possible to set two resolutions for different parts of the experiment, e.g. by creating sketchpads that override the overall resolution?

C) Defining a second screen and display. I tried to implement Edwin's code from his book, but this of course clashes with the Open Sesame equivalents to the regular Pygaze modules (e.g. OSScreen rather than Screen).

Thanks in advance!

Comments

  • edited March 24

    Hi,


    > B) Extending the screen by doubling the resolution. This would work, if it weren't for the eye-tracking that requires the dimensions of just one screen. Is it possible to set two resolutions for different parts of the experiment, e.g. by creating sketchpads that override the overall resolution?


    Why is that a problem? Why do you need correct dimension for gaze recording? Can't you correct for the coordinates during the analysis?

    >C) Defining a second screen and display. I tried to implement Edwin's code from his book, but this of course clashes with the Open Sesame equivalents to the regular Pygaze modules (e.g. OSScreen rather than Screen).


    Maybe it makes sense then to not use Opensesame? (Event though I think option B should be fine)

    Eduard

  • Option B would be my preferred option as well, if it weren't for that pesky resolution issue ;) The problem there is that by doubling the resolution (so that both screens are covered), the calibration area gets doubled as well, i.e. some of the calibration points would appear on the second screen, which isn't exactly useful, especially since the second screen serves as the experimenter's screen, which is off-limits for the participants. I'm looking for a way to use the regular screen resolution while still being able to bypass it for certain stimuli.

  • Ah, I see.

    In this case, you can try to modify the calibration function of pygaze to draw the calibration dots not relative to the entire screen dimensions, but to whatever makes sense in your case. If you use an Eyelink, the function is in this file https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/libeyelink.py

    If you use another eyetracker it might be located somewhere else. In any case, you might need to dig a little to make it do what you need.

    Eduard

Sign In or Register to comment.