PyGaze: An open-source, cross-platform toolbox for minimal-effort programming of eyetracking experiments
The PyGaze toolbox is an open-source software package for Python, a high-level programming language. It is designed for creating eyetracking experiments in Python syntax with the least possible effort, and it offers programming ease and script readability without constraining functionality and flexibility. PyGaze can be used for visual and auditory stimulus presentation; for response collection via keyboard, mouse, joystick, and other external hardware; and for the online detection of eye movements using a custom algorithm. A wide range of eyetrackers of different brands (EyeLink, SMI, and Tobii systems) are supported. The novelty of PyGaze lies in providing an easy-to-use layer on top of the many different software libraries that are required for implementing eyetracking experiments. Essentially, PyGaze is a software bridge for eyetracking research.
KeywordsEyetracking Open-source Software Python PsychoPy Gaze contingency
Many thanks to Richard Bethlehem for his help with testing, to Ignace Hooge for his advice on saccade detection, and to Daniel Schreij and Wouter Kruijne for their contributions to the EyeLink code. S.M. was funded by ERC Grant No. 230313 to Jonathan Grainger.
- Free Software Foundation. (2007). GNU General Public License. The GNU General Public License v3.0 - GNU Project - Free Software Foundation (FSF). Retrieved July 28, 2013, from https://gnu.org/licenses/gpl.html
- Krause, F., & Lindemann, O. (2013). Expyriment: A Python library for cognitive and neuroscientific experiments. Behavior Research Methods. doi: 10.3758/s13428-013-0390-6
- Peirce, J. W. (2009). Generating stimuli for neuroscience using PsychoPy. Frontiers in Neuroinformatics, 2, 10. doi: 10.3389/neuro.11.010.2008
- San Agustin, J., Skovsgaard, H., Hansen, J. P., & Hansen, D. W. (2009). Low-cost gaze interaction: ready to deliver the promises. In Proceedings of the 27th international Conference Extended Abstracts on Human Factors in Computing Systems (pp. 4453–4458). New York, NY: ACM Press. doi: 10.1145/1520340.1520682 Google Scholar
- San Agustin, J., Skovsgaard, H., Mollenbach, E., Barret, M., Tall, M., Hansen, D. W., & Hansen, J. P. (2010). Evaluation of a low-cost open-source gaze tracker. In Proceedings of the 2010 Symposium on Eye-Tracking Research and Applications (pp. 77–80). New York, NY: ACM Press. doi: 10.1145/1743666.1743685 CrossRefGoogle Scholar
- Saunders, D. R., & Woods, R. L. (2013). Direct measurement of the system latency of gaze-contingent displays. Behavior Research Methods. doi: 10.3758/s13428-013-0375-5
- Sharika, K. M., Neggers, S. F. W., Gutteling, T. P., Van der Stigchel, S., Dijkerman, H. C., & Murthy, A. (2013). Proactive control of sequential saccades in the human supplementary eye field. Proceedings of the National Academy of Sciences, 110, E1311–E1320. doi: 10.1073/pnas.1210492110 CrossRefGoogle Scholar
- Van Rossum, G., & Drake, F. L. (2011). Python Language reference manual. Bristol, UK: Network Theory Ltd.Google Scholar
- Wilson, G., Aruliah, D. A., Brown, C. T., Chue Hong, N. P., Davis, M., Guy, R. T., . . . Wilson, P. (2012). Best practices for scientific computing. arXiv, 1210.0530v3. Retrieved January 20, 2013, from http://arxiv.org/abs/1210.0530v3