pulse2percept: A Python-Based Simulation Framework for Bionic Vision

pulse2percept is a BSD-licensed, open-source Python package for simulated prosthetic vision (SPV).

Built on the NumPy and SciPy stacks, as well as contributions from the broader Python community, pulse2percept provides an open-source implementation of several phosphene models for a wide range of state-of-the-art retinal prostheses, to provide insight into the visual experience provided by these devices.

The project started at the University of Washington under the guidance of Ione Fine, Geoff Boynton, and Ariel Rokem. It has since been repackaged to run on both CPU and GPU backends, extended to support both retinal and cortical prostheses, and upgraded to be compatible with the Open Neural Network Exchange (ONNX) standard.

As pulse2percept continues to be adopted by several research labs around the globe, we continue to improve its functionality and performance as well as add new implants, models, and datasets.

Documentation is available at https://pulse2percept.readthedocs.io.

Contribute at https://github.com/pulse2percept/pulse2percept.

Project Team

Project Lead:

Jacob Granley

PhD Candidate

Project Affiliate:

Principal Investigator:

Michael Beyeler

Assistant Professor


Ariel Rokem

Research Associate Professor
University of Washington

Geoffrey M. Boynton

University of Washington

Ione Fine

University of Washington


pulse2percept is an open-source Python simulation framework used to predict the perceptual experience of retinal prosthesis patients across a wide range of implant configurations.

Back to all software projects