PyGaze icon indicating copy to clipboard operation
PyGaze copied to clipboard

openGaze division by zero

Open hcuve opened this issue 5 years ago • 4 comments

Hi @esdalmaijer,

I came across this at least twice while trying out a gaze point tracker, but forgot to save the error.

It seems like in the calibration there is some division by zero happening somewhere which triggers a float division by zero error.

Wondering if you have any ideas of the culprit?

Thanks, Helio

hcuve avatar Oct 18 '19 13:10 hcuve

Hi Helio!

Could it have been here? https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/libopengaze.py#L474

That would mean no valid data points were collected during calibration/validation. Could this have been the case?

Cheers, Edwin

esdalmaijer avatar Oct 18 '19 13:10 esdalmaijer

Hi Edwin,

thanks, I think this is it. I will have a look tomorrow. On another note, wondering if pygaze supports streaming the GSR and self report dial data from the gazepoint biometrics kit. I talked to one of their developers and they said that this could be accessed through their API the same way you access the eye tracking data. I am looking to spend some time this week working on this, but just wanted to have your opinion, do you think it would require building a separate wrapper altogether, or it could be easily customized on your implementation of OpenGaze?

Cheers, Helio

Cheers

hcuve avatar Oct 19 '19 19:10 hcuve

Hi Helio,

Good question! I don't currently have anything that hooks into that biometrics kit, but one could implement it within the OpenGazeTracker class in opengaze: https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/opengaze.py#L29

You'd have to update a couple of things:

  • Incorporate any functions as methods to the OpenGazeTracker class. You can use the existing _send_message framework for this. Example of how to call an OpenGaze function from within a OpenGazeTracker method: https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/opengaze.py#L631 And an example with returned values: https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/opengaze.py#L966

  • Update what is saved in the log file. -- Change the header here: https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/opengaze.py#L94 -- The log_sample method automatically recognises the keys in a sample, and compares them against the header. Thus, adjusting the header should make previously unspecified variables be logged too. https://github.com/esdalmaijer/PyGaze/blob/master/pygaze/_eyetracker/opengaze.py#L336

Cheers, Edwin

esdalmaijer avatar Dec 29 '19 16:12 esdalmaijer

hi @esdalmaijer thanks loads for this, I will work on it once I am back to the office in a couple of days. Happy holidays!

Cheers, Helio

hcuve avatar Dec 29 '19 16:12 hcuve