Howdy, Stranger!

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

Supported by

PyGaze and Tobii EyeX eye tracker

edited July 2018 in PyGaze

Hello!
I’m new to OpenSesame and I’m trying to run an experiment including the Tobii EyeX. I’ve never used an eye tracker before, but I know that this one is quite simple and (from what I red in this forum) it can be integrated in OpenSesame.
Unfortunately, I couldn’t find a clear explanation about how to use the PyGaze item, except for this: http://osdoc.cogsci.nl/3.1/manual/eyetracking/pygaze/#pygaze-opensesame-plugins.
Please, can you help me to make it work providing me the correct sequence of the items and the way to include Tobii EyeX?
So far, every time I try to run my experiment this message occurs:

File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libqtopensesame\misc\process.py", line 154, in run
    exp.run()
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\experiment.py", line 439, in run
    self.items.execute(self.var.start)
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 103, in execute
    self.run(name)
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 122, in run
    self[name].run()
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\sequence.py", line 51, in run
    self.experiment.items.run(_item)
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 122, in run
    self[name].run()
  File "C:\Program Files (x86)\OpenSesame\share\opensesame_plugins\pygaze_init\pygaze_init.py", line 217, in run
    **kwdict)
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\eyetracker.py", line 91, in __init__
    from pygaze._eyetracker.libtobii import TobiiProTracker
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\_eyetracker\libtobii.py", line 9, in <module>
    import tobii_research as tr
ImportError: No module named tobii_research

Thank you!

Comments

  • Hi Martina,

    You need to install the tobii-research package. The easiest way to do that is with the Python package manager:

    Cheers!
    Sebastiaan

  • Thank you for your answer Sebastiaan!
    Unfortunately I'm still having some iussue. When I find the tobii-research package in the Python package manager and click on "Install", the message "Failted to installed tobii-research" occurs. During this, the debug window shows this:
    Collecting tobii-research
    Using cached https://files.pythonhosted.org/packages/7c/0a/454ceaec763119fb9fbac763ba39ca47eb4dc9bc825ca243e7874722462e/tobii_research-1.5.0-cp27-cp27m-win32.whl
    Installing collected packages: tobii-research

    So I tried to type "pip install tobii-research" in the debug window, but this is the outcome:
    File "", line 1
    pip install tobii-research
    ^
    SyntaxError: invalid syntax

    I also downloaded the file tobii_research-1.5.0-cp27-cp27m-win_amd64.whl from the link that you gave me, but I don't know how to use a file with the .whl extension.

    How can I solve this problem?

    Thank you again!

  • Hi Martina,

    Have you tried running OpenSesame as adminstrator? If you have, could you post the complete error message that you see in the debug window? (It seems that you posted only the beginning.)

    So I tried to type "pip install tobii-research" in the debug window, but this is the outcome:

    If you want to do this from the debug window, you need to use pip as a Python library, like so:

    import pip
    pip.main(['install', 'tobii-research'])
    

    Cheers,
    Sebastiaan

  • edited July 2018

    Hi Sebastiaan!

    Thank you for your suggestion, I wasn't running OpenSesame as administrator (I did it and it worked, tobii-research package has been installed!).

    However, now I have a different problem (I think). When I run my script using my Tobii, this message appear in the debug window:

    Starting experiment as ExperimentProcess-1
    Expyriment 0.8.1.opensesame2 (Python 2.7.12) 
    openexp.sampler._legacy.init_sound(): sampling freq = 48000, buffer size = 1024
    experiment.run(): experiment started at Mon Jul 09 17:31:47 2018
    experiment.run(): disabling garbage collection
    experiment.end(): enabling garbage collection
    
    Unexpected error
    
    item-stack: experiment[run].pygaze_init[run]
    exception type: ImportError
    exception message: No module named tobii.eye_tracking_io.basic
    time: Mon Jul 09 17:31:47 2018
    
    Traceback:
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libqtopensesame\misc\process.py", line 150, in run
        exp.run()
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\experiment.py", line 411, in run
        self.items.execute(self.var.start)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 91, in execute
        self.run(name)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 106, in run
        self[name].run()
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\sequence.py", line 51, in run
        self.experiment.items.run(_item)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 106, in run
        self[name].run()
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\share\opensesame_plugins\pygaze_init\pygaze_init.py", line 204, in run
        **kwdict)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\eyetracker.py", line 82, in __init__
        from pygaze._eyetracker.libtobii import TobiiTracker
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\_eyetracker\libtobii.py", line 50, in <module>
        from tobii.eye_tracking_io.basic import EyetrackerException
    ImportError: No module named tobii.eye_tracking_io.basic
    

    Is there something else that I need to install in order to use my Tobii EyeX? Can you help me with this iussue?

    Thank you!

    Martina

  • Hi Martina,

    It looks like you're using an old version of OpenSesame that includes older version of all the necessary libraries. So the Tobii functionality is probably simply broken.

    Would it be an option to upgrade to the latest version of OpenSesame (currently 3.2.4)?

    Cheers!
    Sebastiaan

  • edited July 2018

    Hi Sebastiaan!

    Yes, I'm already using the last vesrion of OpenSesame (3.2.4).

    Anyway, now a different message appears when I try to run your template for eye-tracking experiments; here is it:

    Starting experiment as ExperimentProcess-1
    Expyriment 0.9.1b2-11-gc100ee8 (Python 2.7.13) 
    Scripts/safelaunch-opensesame.py
    openexp.sampler._legacy.init_sound(): sampling freq = 48000, buffer size = 1024
    experiment.run(): experiment started at Thu Jul 12 11:24:11 2018
    experiment.run(): disabling garbage collection
    experiment.end(): enabling garbage collection
    
    Unexpected error
    
    item-stack: experiment[run].pygaze_init[run]
    exception type: UnicodeEncodeError
    exception message: 'ascii' codec can't encode character u'\xe0' in position 37: ordinal not in range(128)
    time: Thu Jul 12 11:24:14 2018
    
    Traceback:
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libqtopensesame\misc\process.py", line 154, in run
        exp.run()
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\experiment.py", line 449, in run
        self.items.execute(self.var.start)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 103, in execute
        self.run(name)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 122, in run
        self[name].run()
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\sequence.py", line 51, in run
        self.experiment.items.run(_item)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 122, in run
        self[name].run()
      File "C:\Program Files (x86)\OpenSesame\share\opensesame_plugins\pygaze_init\pygaze_init.py", line 217, in run
        **kwdict)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\eyetracker.py", line 95, in __init__
        self.__class__.__init__(self, display, **args)
      File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\_eyetracker\libtobii.py", line 107, in __init__
        self.datafile = open("{0}_TOBII_output.tsv".format(logfile), 'w')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 37: ordinal not in range(128)
    

    I'm sorry to bother you again. What can I do in this case?

    Thank you!

    Martina

  • Hi Martina,

    This appears to be a character encoding bug in PyGaze. If you select a logfile location that doesn't have any special (non-ascii) characters in it, does the error go away?

    Cheers!
    Sebastiaan

  • Interesting issue! Any ideas on how to solve it, Sebastiaan? (You're the encoding nerd ;) )

  • Just to update the issue on this platform too: The EyeX does not seem to be supported by the new Tobii SDK, which means the current tobii TRACKERTYPE is unlikely to work with the EyeX. (To be honest, I'm a bit confused by the specifics, but it seems like Tobii introduced a mechanism that actively prevents the EyeX from being used with the new SDK to collect data, as this is something they explicitly forbid in their end-user license agreement?)

    There exists an older implementation in the tobii-legacy TRACKERTYPE, which is based on the previous Tobii SDK. (I'd wager that that also isn't non-ascii safe, although I haven't gone back and checked it.) Unfortunately, using this TRACKERTYPE means you'd need all the old Tobii SDK software too, which is proprietary stuff available from Tobii only.

    For the whole discussion, see the issue that @sebastiaan filed on GitHub: https://github.com/esdalmaijer/PyGaze/issues/120

    Sorry we couldn't be of more help!

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games