#### 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

• edited 3:50PM

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 3:50PM

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 3:50PM

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 3:50PM

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 3:50PM

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 3:50PM

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 3:50PM

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 3:50PM

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

• edited 3:50PM

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