Howdy, Stranger!

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

Supported by

[solved] Testing EyeTribe with PyGaze template experiment ends in NoneType error

edited June 2016 in PyGaze

Hi, i'm trying to set a EyeTribe with Opensesame 3.0.7. I tried to run a experiment, but the calibration phase always brings the following error:

Opensesame debug

     Stopped

     The experiment did not finish normally for the following reason:

     Unexpected error
     Details

     item-stack: experiment[run].pygaze_init[run]
     exception message: 'NoneType' object has no attribute '__getitem__'
     time: Fri May 13 18:11:54 2016
     exception type: TypeError
     Traceback (also in debug window)

       File "dist\libqtopensesame\misc\process.py", line 140, in run
       File "dist\libopensesame\experiment.py", line 397, in run
       File "dist\libopensesame\item_store.py", line 95, in execute
       File "dist\libopensesame\item_store.py", line 110, in run
       File "dist\libopensesame\sequence.py", line 50, in run
       File "dist\libopensesame\item_store.py", line 110, in run
       File "C:\Program Files (x86)\OpenSesame\plugins\pygaze_init\pygaze_init.py", line 212, in run
       File "dist\pygaze\_eyetracker\libeyetribe.py", line 208, in calibrate
       File "dist\pygaze\_eyetracker\pytribe.py", line 1236, in pointend
     TypeError: 'NoneType' object has no attribute '__getitem__'

I tried also with the template experiment for PyGaze and it brings the same error. This doesn't appear when i'm using the Dummy option so i assume it must be an error related to the EyeTribe.

As i'm very Python-naive i'm not sure what steps i should follow to solve the error.

I would be grateful for any help!

Seba

Comments

  • edited 8:03AM

    As an update, i checked the log of the EyeTribe and it brings up this error.

    2016-05-13 17:42:29.815|2340015440|I|Validating config chosen device
    2016-05-13 17:42:42.817|2427200557|I|New connection detected [176093691904]
    2016-05-13 17:42:43.853|1886814084|I|Setting up device properties
    2016-05-13 17:42:43.899|1886814084|I|The device stream has started
    2016-05-13 17:42:43.910|2427200557|I|Tracker started
    2016-05-13 17:42:43.910|2427200557|I|Creating new connection [176093691904]
    2016-05-13 17:42:47.213|2427200557|E|Invalid JSON format: [{
    "category": "calibration",
    "request": "pointend",
    }]
    2016-05-13 17:42:48.337|2427200557|I|Connection removed [176093691904]
    2016-05-13 17:42:49.133|1886814084|I|The device stream has stopped
    2016-05-13 17:42:49.137|2427200557|I|Tracker stopped
    

    I've tried a lot of different approaches but still can't make it work.

  • edited 8:03AM

    Last update:
    I asked in the eyetribe forum and this is what they answered. I leave the link to the topic here in case anybody else has the same problem.

    EyeTribe Forum

  • edited 8:03AM

    Hi,

    Thanks for bringing this to our attention. I don't have any opportunity to look at it right now (maybe @Edwin does?), but it's on the radar.

    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 8:03AM

    Hi there,

    I'm getting the exact same error message under the same circumstances. I know you folks are probably busy right now, but I just figured I'd add my name to the list in the hopes of getting this resolved faster. Thanks!

  • edited 8:03AM

    Hi there

    I am getting the same error (Windows 10, Python 2.7.10, latest version of OpenSesame).

    Starting experiment as ExperimentProcess-3
    Expyriment  (Python 2.7.10) 
    Main file: C:\Program Files (x86)\OpenSesame\opensesame.exe (6a8b7f)
    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 Sat Jun 04 13:09:05 2016
    
    Unexpected error
    
    item-stack: experiment[run].pygaze_init[run]
    exception message: 'NoneType' object has no attribute '__getitem__'
    time: Sat Jun 04 13:09:19 2016
    exception type: TypeError
    
    Traceback:
      File "dist\libqtopensesame\misc\process.py", line 140, in run
      File "dist\libopensesame\experiment.py", line 397, in run
      File "dist\libopensesame\item_store.py", line 95, in execute
      File "dist\libopensesame\item_store.py", line 110, in run
      File "dist\libopensesame\sequence.py", line 50, in run
      File "dist\libopensesame\item_store.py", line 110, in run
      File "C:\Program Files (x86)\OpenSesame\plugins\pygaze_init\pygaze_init.py", line 212, in run
      File "dist\pygaze\_eyetracker\libeyetribe.py", line 208, in calibrate
      File "dist\pygaze\_eyetracker\pytribe.py", line 1236, in pointend
    TypeError: 'NoneType' object has no attribute '__getitem__'
    
  • edited 8:03AM

    I still don't have an EyeTribe with me to actually verify this, but: The fact that something that definitely did work before now seems broken for a lot of people suggests that it may be due to an update of the EyeTribe SDK.

    I have lasted tested it (successfully) with v0.9.56 of the EyeTribe SDK for Windows. Right now, v0.9.77 is also available. If you downgrade to 0.9.56, does it work again?

    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 8:03AM

    Hi guys,

    With some help from Martin from the EyeTribe team, the issue was debugged. Fixing it is on the top of my TODO list once I get back into the office. Should be solved around Tuesday.

    For the curious: The issue was on our side, with a slightly malformed json message (with a trailing comma). The newest version of the EyeTribe server is a bit more picky with these things, and decided it didn't like the extra comma.

    Cheers,

    Edwin

  • edited June 2016

    @sebastiaan You are probably right. I reinstalled OpenSesame and downgraded to SDK 0.9.56 and now the callibration works perfectly.

    @Edwin Thanks for the update, but given my deadlines I'll stick with this configuration for now ;-)

  • edited 8:03AM

    BOOM! Should be finished with the this commit. Download PyGaze from GitHub to try it out.

  • edited 8:03AM

    Thanks Edwin!

    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

Sign In or Register to comment.