Frequently Asked Questions


Don’t see your question here? Please open an issue on GitHub and ask your question there.


How are retinal coordinates mapped to visual field coordinates?

Studies often assume a linear mapping between retinal and visual field coordinates (e.g., [Hayes2003], [Thompson2003]), based on the work by [Curcio1990] (see Curcio1990Map).

A more exact transformation is given in [Watson2014] (see Watson2014Map and Watson2014DisplaceMap).

You can also write your own VisualFieldMap.

In any case, note that stimulation of the inferior (superior) retina leads to phosphenes appearing in the upper (lower) visual field.


Why Python?

Python is free, well-designed, painless to read, and easy to use. True, sometimes Python can be slow, but that is why we use Cython under the hood, which takes execution up to C speed. A GPU back end is planned for a future release.

How can I contribute to pulse2percept?

If you found a bug or want to request a feature, simply open an issue in our Issue Tracker on GitHub. Make sure to label your issue appropriately.

If you would like to contribute some code, great! We appreciate all contributions, but those accepted fastest will follow a workflow similar to the one described in our Contribution Guidelines.

The code I downloaded does not match the documentation. What gives?

Make sure you are reading the right version of the documentation:

  • If you installed pulse2percept with pip, you are using the stable release, for which you can find documentation at
  • If you installed pulse2percept from source, you are using the bleeding-edge version, for which you can find documentation at
  • Unfortunately, pulse2percept < 0.5 is incompatible with ReadTheDocs. Please refer to the Installation Guide for information on how to upgrade your code to the latest version.