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 11:45AM

    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 11:45AM

    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 11:45AM

    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

  • edited 11:45AM

    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 11:45AM

    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 11:45AM

    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?

  • edited 11:45AM

    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 11:45AM

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

  • edited 11:45AM

    Thanks Edwin!

Sign In or Register to comment.