Howdy, Stranger!

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

Supported by

[open] Problems with 3.0.0 and eyetracking

edited October 2015 in PyGaze

Hi Guys,

I recently started using OpenSesame version 2.9.7 with Pygaze and the plugins. I was able to build and run a prototype experiment.

Then today I upgraded to 3.0.0, and now my experiment stopped working.

I created a new experiment using the template in 3.0.0, and when I configure it to use the Eyelink, and run it, it just gives me this error:

Unexpected error

item-stack: 
exception message: fullscreen not found
time: Thu Oct 22 15:14:04 2015
exception type: AttributeError

Traceback:

(The Traceback area is blank.)

Any ideas what is going on?

I am using Ubuntu 14.04, with the most recent versions of all the dependencies.

Thanks,

Cyrus

Comments

  • edited 2:40AM

    Also, I forgot to mention that I have tested PyGaze independently on the exact same system, and it works just fine.

    -Cyrus

  • edited 2:40AM

    Hmm. After changing the runner to the "internal runner", It runs my experiment, but with different problems:

    1) It seems to be skipping the calibration/validation screens.
    2) It crashes on the first trial with this error:

    Stopped
    
    The experiment did not finish normally for the following reason:
    
    Unexpected error
    Details
    
    item-stack: experiment[run].practice_loop[run].block_sequence[run].block_loop[run].trial_sequence[run].pygaze_log[run]
    exception message: eval_text not found
    time: Thu Oct 22 15:44:44 2015
    exception type: AttributeError
    Traceback (also in debug window)
    
      File "/usr/lib/pymodules/python2.7/libqtopensesame/runners/inprocess_runner.py", line 38, in execute
        self.experiment.run()
      File "/usr/lib/pymodules/python2.7/libopensesame/experiment.py", line 390, in run
        self.items.execute(self.var.start)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 95, in execute
        self.run(name)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/lib/pymodules/python2.7/libopensesame/sequence.py", line 49, in run
        self.experiment.items.run(_item)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/lib/pymodules/python2.7/libopensesame/loop.py", line 143, in run
        self.experiment.items.execute(self.var.item)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 95, in execute
        self.run(name)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/lib/pymodules/python2.7/libopensesame/sequence.py", line 49, in run
        self.experiment.items.run(_item)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/lib/pymodules/python2.7/libopensesame/loop.py", line 143, in run
        self.experiment.items.execute(self.var.item)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 95, in execute
        self.run(name)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/lib/pymodules/python2.7/libopensesame/sequence.py", line 49, in run
        self.experiment.items.run(_item)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/share/opensesame/plugins/pygaze_log/pygaze_log.py", line 60, in run
        self.experiment.pygaze_eyetracker.log(self.eval_text(msg))
      File "/usr/lib/pymodules/python2.7/libopensesame/item.py", line 280, in __getattr__
        raise AttributeError(u'%s not found' % var)
    AttributeError: eval_text not found
    

    I am new to OpenSesame, but this seems to be a problem with the pygaze plugin... Could it be that the pygaze plugins are incompatible with 3.0.0?

    Thanks,

    Cyrus

  • edited 2:40AM

    Hi Cyrus,

    PyGaze had to be updated to work with OpenSesame 3.0 (which should be documented better, come to think of it). You can get the latest snapshot from here:

    If you're using Expyriment, you also need to update it to 0.8.0. Otherwise you get funny-looking circles.

    It's a bit of a hassle, I know. I'll see if I can update all the packages in the repository soon, so that it doesn't have to be done manually.

    Cheers,
    Sebastiaan

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • edited 2:40AM

    Thanks, Sebastian! I really appreciate the quick reply. I will test that out and let you know how it goes.

    Yours,

    Cyrus

  • edited 2:40AM

    Question: Should I checkout the os3 branch of your PyGaze fork to test this with 3.0.0?

  • edited 2:40AM

    I got the os3 branch of PyGaze, and now the calibration phase starts. After calibration, my experiment doesn't work.

    I am getting this error:

    <br /><br />In [1]: Expyriment 0.8.0 (Python 2.7.6) 
    openexp.sampler._legacy.init_sound(): sampling freq = 48000, buffer size = 1024
    openexp.sampler._legacy.init_sound(): mixer already initialized, closing
    experiment.run(): experiment started at Thu Oct 22 17:17:53 2015
    Attention: EyeLink logfile renamed to /home/cyrus/src/Testing.OpenSesame.with.PyGaze/sub_0.edf
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 523, in draw_image_line
        self.imagebuffer.tostring(), self.size, 'RGBX')
    ValueError: String length does not equal format and resolution size
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 523, in draw_image_line
        self.imagebuffer.tostring(), self.size, 'RGBX')
    ValueError: String length does not equal format and resolution size
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 523, in draw_image_line
        self.imagebuffer.tostring(), self.size, 'RGBX')
    ValueError: String length does not equal format and resolution size
    
    
  • edited 2:40AM

    Not sure what the above error was, but I finally got something working.

    The only way I could get it to work was to remove the pygaze_drift-correction plugin from my sequence.

    Is that working for you?

    Thanks so much,

    Cyrus

  • edited October 2015

    Hi Cyrus,

    I updated the Cogsci PPA, so at least you should have all the up-to-date versions without needing to do any manual hacking. Let me know if you still encounter issues.

    Cheers,
    Sebastiaan

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • edited 2:40AM

    Hi All,

    I am getting somewhere, but I wanted to report a problem. Whenever I run a eye-tracking experiment in OS 3.0.1, the second time I try to run it, I get this error:

    Unexpected error
    
    item-stack: experiment[run].pygaze_init[run]
    exception message: Link terminated
    time: Tue Nov  3 18:18:40 2015
    exception type: RuntimeError
    
    Traceback:
      File "/usr/lib/pymodules/python2.7/libqtopensesame/runners/inprocess_runner.py", line 38, in execute
        self.experiment.run()
      File "/usr/lib/pymodules/python2.7/libopensesame/experiment.py", line 390, in run
        self.items.execute(self.var.start)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 95, in execute
        self.run(name)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/lib/pymodules/python2.7/libopensesame/sequence.py", line 49, in run
        self.experiment.items.run(_item)
      File "/usr/lib/pymodules/python2.7/libopensesame/item_store.py", line 110, in run
        self[name].run()
      File "/usr/share/opensesame/plugins/pygaze_init/pygaze_init.py", line 197, in run
        **kwdict)
      File "/usr/local/lib/python2.7/dist-packages/pygaze/eyetracker.py", line 68, in __init__
        self.__class__.__init__(self, display, **args)
      File "/usr/local/lib/python2.7/dist-packages/pygaze/_eyetracker/libeyelink.py", line 166, in __init__
        self.eyelink_graphics = EyelinkGraphics(self, _eyelink)
      File "/usr/local/lib/python2.7/dist-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 112, in __init__
        self.set_tracker(tracker)
      File "/usr/local/lib/python2.7/dist-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 194, in set_tracker
        self.tracker.sendCommand("enable_search_limits=YES")
    RuntimeError: Link terminated
    

    I have to kill OpenSesame and run it again for eye tracking to work. Is there a way around this?

    Thanks,

    -Cyrus

Sign In or Register to comment.