Pygaze plugin not sampling from Tobii Spectrum Pro
Hi all,
I'm having some problems sampling from a Tobii Spectrum Pro in Opensesame using the Pygaze plugin.
I had a working anti-saccade protocol, then we had a COVID lockdown, and I returned to it not working :/ Now I'm just trying to get the simple example working.
When using the eye tracker, sample() is returning (-1, -1), which I understand to be an error, so the gaze dot is drawn in the top left corner. When using the advanced dummy, it works as expected.
Hacking apart the Pygaze simple tracker example to have a gaze dot, it works fine with the eye tracker. That leads me to believe that the problem lies in the Pyaze Opensesame plugin.
I am running everything in the same virtual environment, I've tried in Python 3.6 and 3.8. I'm now looking for ideas on what to try next. Happy to post whatever code or logs might be useful, but not sure how useful that is without the tracker itself.
Thanks!
Comments
Hi Matt,
So I suppose you (or someone?) have updated some of the packages? Otherwise I am suprised, your experiments stopped working. I don't know details, but there were recent changes in Pygaze, maybe they have causes the issue. Debugging from my side is quite annoying, as I don't have access to a Tobii, and don't know the toolbox well enough to suggest things with first trying out things myself. Sorry!
But generally, you are on the right track. Check out the tracestack and look into those functions what they are supposed to do and what they actually do. Perhaps like that you can find out what is happening.
Alternatively, it might simply help to downgrade (or upgrade) both Opensesame as well as pygaze (and the plugin)
Good luck,
Eduard
Just to close the loop, I ended up eliminating OpenSesame and implementing in Pygaze. That did not solve the problem, but did help a bit with localising it to the saccade detection functions.
I pulled out those functions from Github, redeclared them in the experiment scope (with a gaze dot for debugging), and they work.
Inspecting my version of
libtobii.wait_for_saccade_start(), it is different to that on Github (i.e., here). The clearest difference is that in the while loop, the version I have checks for a variable namedmoving, whereas the Github version checks forsaccadic.pygaze.versionreports 0.7.4Hey @mattm
I have also worked with the Tobii pro Spectrum and know the problem (-1 -1). If I remember correctly, however, this was not an error but was due to the output of the eye tracker. I had already written about this on GitHub with Tobii support, but it's been over two years.
I have not yet understood your problem exactly. Can you clarify it for me a bit? Maybe we can find a solution.
Thanks @mirko
The problem is solved enough for me now, I'm not sure that it's related to the (-1 -1) problem, which I have sometimes observed.
I don't know the exact problem, but the version of
libtobii.wait_for_saccade_start()that I have installed with Pygaze is not the same as that on Github. The version from Github works as expected. I haven't investigated why it doesn't work, or why it was installed.