PyEtSimul: An Open-Source Python Software Framework for Eye Tracking Simulation
Project description
PyEtSimul: An Open-Source Python Software Framework for Eye Tracking Simulation
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. For full documentation, see pyetsimul.readthedocs.io.
About
Core functionalities are based on "A Software Framework for Simulating Eye Trackers" by Böhme et al. (2008), ported from the original MATLAB codebase. This Python implementation includes enhancements, improvements, bug fixes, and additional features.
[!WARNING] Note: There is no guarantee that this code works exactly like the original MATLAB implementation.
Installation
Requirements
- Python ≥3.11
From PyPI
pip install pyetsimul
Using uv
uv pip install pyetsimul
From source
git clone https://github.com/mh-salari/pyetsimul.git
cd pyetsimul
uv sync
Or with pip:
git clone https://github.com/mh-salari/pyetsimul.git
cd pyetsimul
python3 -m pip install .
For development:
git clone https://github.com/mh-salari/pyetsimul.git
cd pyetsimul
python3 -m pip install -e .
Examples
After installation, explore the various examples in the examples/ directory to see PyEtSimul in action.
Citation
This work has been accepted for publication at ETRA 2026. The DOI will be added when the proceedings are published.
Cite as:
Salari, M., Niehorster, D. C., Hansen, D. W., & Bednarik, R. (2026).
PyEtSimul: An Open-Source Python Framework for Eye-Tracking Simulation.
In Proceedings of the 2026 Eye Tracking Research & Applications (ETRA 2026). ACM.
Also cite the original work:
Martin Böhme, Michael Dorr, Mathis Graw, Thomas Martinetz, and Erhardt Barth.
"A software framework for simulating eye trackers."
In Proceedings of the 2008 Symposium on Eye Tracking Research & Applications (ETRA '08),
pages 251-258, ACM, 2008.
Original MATLAB Implementation
For the original MATLAB version and detailed background, visit: https://github.com/mh-salari/et_simul-1.01
Acknowledgments
This project has received funding from the European Union's Horizon Europe research and innovation funding program under grant agreement No 101072410, Eyes4ICU project.
License
GPL-3.0-or-later
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyetsimul-3.2.4.tar.gz.
File metadata
- Download URL: pyetsimul-3.2.4.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a477ff7123732b7ce9bf0e99c2164b2f1c269142f64c29f77fa44d261d90e6f2
|
|
| MD5 |
cb071a98e2ca2c25ce377a2573ef2b11
|
|
| BLAKE2b-256 |
cde94af0385ec615e3d48555ded6f2a2cc5201c583bc11e8775b4516cf404a0e
|
File details
Details for the file pyetsimul-3.2.4-py3-none-any.whl.
File metadata
- Download URL: pyetsimul-3.2.4-py3-none-any.whl
- Upload date:
- Size: 183.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
505e5d5561a59c7c97e5aadd51c478ef8fb69dd7c32060fae5333118f2877a01
|
|
| MD5 |
f099bf4db7ee49f34fbc91b774b7af92
|
|
| BLAKE2b-256 |
f26d388b6beaf7cecbe1df1a9358beda99909215db4cbe2fdb88d5c30ae893c5
|