Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

PyEtSimul : An Open-Source Python Framework for Eye-Tracking Simulation

Salari, Mohammadhossein ; Niehorster, Diederick C. LU orcid ; Hansen, Dan Witzner and Bednarik, Roman (2026) In Proceedings of the ACM on Human-Computer Interaction 10(3).
Abstract
This paper presents PyEtSimul, an open-source Python-based 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. PyEtSimul generalizes corneal modeling by representing the cornea as a conic surface rather than the common sphere. It also supports non-circular pupil shapes, size-dependent pupil decentration, eyelid occlusion, and camera lens distortion. It supports systematic data generation and principled comparison of gaze estimation algorithms across calibrated and uncalibrated settings. These features enable... (More)
This paper presents PyEtSimul, an open-source Python-based 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. PyEtSimul generalizes corneal modeling by representing the cornea as a conic surface rather than the common sphere. It also supports non-circular pupil shapes, size-dependent pupil decentration, eyelid occlusion, and camera lens distortion. It supports systematic data generation and principled comparison of gaze estimation algorithms across calibrated and uncalibrated settings. These features enable analyses not possible with other available simulators. PyEtSimul facilitates controlled experiments with known parameters often latent in normal settings, enabling reproducible benchmarking and systematic exploration of hardware designs. By generating fully synthetic data, PyEtSimul removes privacy concerns and the need for costly hardware, making it practical for both educational and research applications. (Less)
Please use this url to cite or link to this publication:
author
; ; and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
Eye tracking, Gaze estimation, Optical simulation, Simulation
in
Proceedings of the ACM on Human-Computer Interaction
volume
10
issue
3
article number
ETRA009
pages
17 pages
publisher
Association for Computing Machinery (ACM)
external identifiers
  • scopus:105040705892
ISSN
2573-0142
DOI
10.1145/3806023
language
English
LU publication?
yes
id
eff1afa9-cb59-4fba-935e-b2c0c4c9511f
date added to LUP
2026-06-01 19:02:15
date last changed
2026-06-30 10:52:55
@article{eff1afa9-cb59-4fba-935e-b2c0c4c9511f,
  abstract     = {{This paper presents PyEtSimul, an open-source Python-based 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. PyEtSimul generalizes corneal modeling by representing the cornea as a conic surface rather than the common sphere. It also supports non-circular pupil shapes, size-dependent pupil decentration, eyelid occlusion, and camera lens distortion. It supports systematic data generation and principled comparison of gaze estimation algorithms across calibrated and uncalibrated settings. These features enable analyses not possible with other available simulators. PyEtSimul facilitates controlled experiments with known parameters often latent in normal settings, enabling reproducible benchmarking and systematic exploration of hardware designs. By generating fully synthetic data, PyEtSimul removes privacy concerns and the need for costly hardware, making it practical for both educational and research applications.}},
  author       = {{Salari, Mohammadhossein and Niehorster, Diederick C. and Hansen, Dan Witzner and Bednarik, Roman}},
  issn         = {{2573-0142}},
  keywords     = {{Eye tracking; Gaze estimation; Optical simulation; Simulation}},
  language     = {{eng}},
  month        = {{05}},
  number       = {{3}},
  publisher    = {{Association for Computing Machinery (ACM)}},
  series       = {{Proceedings of the ACM on Human-Computer Interaction}},
  title        = {{PyEtSimul : An Open-Source Python Framework for Eye-Tracking Simulation}},
  url          = {{http://dx.doi.org/10.1145/3806023}},
  doi          = {{10.1145/3806023}},
  volume       = {{10}},
  year         = {{2026}},
}