PyEtSimul Documentation

PyPI version Downloads License DOI

PyEtSimul is an open-source Python framework for simulating video-based eye trackers by generating synthetic eye features through geometric modeling. The framework allows flexible positioning of eyes, cameras, and light sources in 3D space, with controlled variation of eye anatomical features and camera properties.

3D eye tracking setup visualization with calibration analysis

PyEtSimul’s core code is based on et_simul [1], but extends it by generalizing corneal modeling to conic surfaces rather than the common sphere, supporting non-circular pupil shapes, size-dependent pupil decentration, eyelid occlusion, and camera lens distortion. It also supports systematic data generation and principled comparison of gaze estimation algorithms across calibrated and uncalibrated settings.


Note

The theoretical content in this documentation is derived from the PyEtSimul paper [2] by the same authors. If you use PyEtSimul in your research, please cite [2].

[1] Bohme, M., Dorr, M., Graw, M., Martinetz, T., & Barth, E. (2008). A software framework for simulating eye trackers. In Proceedings of the 2008 Symposium on Eye Tracking Research & Applications (ETRA ‘08), pp. 251-258. ACM. DOI: 10.1145/1344471.1344529
[2] Salari, M., Niehorster, D. C., Hansen, D. W., & Bednarik, R. (2026). PyEtSimul: An Open-Source Python Framework for Eye-Tracking Simulation. Proceedings of the ACM on Human-Computer Interaction (PACMHCI), ETRA 2026. ACM. DOI: 10.1145/3806023

Note

This project has received funding from the European Union’s Horizon Europe research and innovation funding program under grant agreement No 101072410, Eyes4ICU project.

Funded by EU Eyes4ICU