-
Notifications
You must be signed in to change notification settings - Fork 701
Add pye3d support #1998
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add pye3d support #1998
Conversation
Allow resetting 3D model via network notification
|
I am getting this error when running the pye3d detector during post-hoc detection: Traceback (most recent call last):
File "/Users/papr/work/pupil/pupil_src/launchables/player.py", line 672, in player
p.recent_events(events)
File "/Users/papr/work/pupil/pupil_src/shared_modules/pupil_producers.py", line 422, in recent_events
assert pm.PupilTopic.match(topic, eye_id=pupil_datum["id"])
AssertionErrorP.S. it might be necessary to delete the |
pupil_src/shared_modules/pupil_detector_plugins/pye3d_plugin.py
Outdated
Show resolved
Hide resolved
papr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested all pupil-related plugins. Works as expected.
This PR adds a plugin for the pye3d pupil detector.
The plugin will only be loaded if pye3d is available. In this case, it will replace the default 3D pupil detector.
Please note that pye3d is distributed under a different license than Pupil.
Open Questions
Since the base class
PupilDetectorPluginabstracts awayhandle_events()and child classes only implementdetect(), we generally do not have access to detection results of other detectors indetect().However, any 3D detector needs the 2D result. To increase confusion, the old 3D detector does not work with the 2D pupil datum, but with the raw binary blob. Pye3D on the other hand needs the 2D pupil datum. We should come up with a better way of passing this, maybe just give access to the
eventsdict indetect()?Should we merge this even if the integration is not yet fully complete? Theoretically, we can release this code, even if it does not yet have all features (e.g. freezing the eye model), as it won't be used without having pye3d available anyways. I think that's a great chance for working incrementally without having one massive feature branch in the end.