pulse2percept

Getting started

  • Overview
  • Installation
  • Getting Started
  • Example Gallery
    • Implants
    • Stimuli
    • Models
    • Residual vision
    • Plotting
    • Datasets
    • For developers
      • Implants
      • Stimuli
      • Models
      • Residual vision
      • Plotting
      • Datasets
      • For developers

Basic concepts

  • Visual Prostheses
  • Electrical Stimuli
  • Computational Models
  • Stimulus Encoders
  • Raster Strategies
  • Physical Units
  • Datasets

User Guide

  • API Reference
  • Frequently Asked Questions
  • In the News
  • Release Notes
  • References

Developer Guide

  • Contributing to pulse2percept
  • Coding Style Guide
  • Performance Benchmarks
  • Preparing a New Release
pulse2percept
  • Example Gallery
  • View page source

Example Gallery

This gallery contains a number of usage examples and case studies to highlight the ease-of-use and flexibility of pulse2percept.

Implants

The implants module provides access to various state-of-the-art retinal prostheses, such as ArgusI and ArgusII (epiretinal), Alpha-IMS and PRIMAPivotal (subretinal), as well as BVT24 (suprachoroidal).

Other implants can be added by creating a new Implant object.

Cortical implant gallery

Cortical implant gallery

Creating a grid of electrodes

Creating a grid of electrodes

Retinal implant gallery

Retinal implant gallery

Simulating Argus II

Simulating Argus II

Creating your own electrode array

Creating your own electrode array

Simulating PRIMA: from image to optical drive

Simulating PRIMA: from image to optical drive

Stimuli

The stimuli module provides a number of common electrical stimulus types, such as BiphasicPulseTrain, which can be assigned to electrodes of a Implant object.

Stimuli can also be created from images (ImageStimulus) and videos (VideoStimulus).

Generating a stimulus from a video

Generating a stimulus from a video

Generating pulse trains

Generating pulse trains

Generating monophasic and biphasic pulses

Generating monophasic and biphasic pulses

Generating a drifting sinusoidal grating or drifting bar stimulus

Generating a drifting sinusoidal grating or drifting bar stimulus

Generating a stimulus from an image

Generating a stimulus from an image

Generating a sinusoidal pulse train

Generating a sinusoidal pulse train

Models

The pulse2percept.models module provides a number of published and verified computational models that can be used to predict neural responses or visual percepts resulting from electrical stimulation, such as Nanduri2012Model and AxonMapModel.

New models can be created by mixing-and-matching spatial and temporal models, or by creating a new one from scratch.

Neuropythy and Neuralink: Patient specific visual field maps based on MRI

Neuropythy and Neuralink: Patient specific visual field maps based on MRI

Beyeler et al. (2019): Focal percepts with the scoreboard model

Beyeler et al. (2019): Focal percepts with the scoreboard model

Beyeler et al. (2019): Axonal streaks with the axon map model

Beyeler et al. (2019): Axonal streaks with the axon map model

Thompson et al. (2003): Circular phosphenes

Thompson et al. (2003): Circular phosphenes

van der Grinten, de Ruyter van Steveninck, Lozano et al. (2023): Phosphene simulation using cortical prostheses

van der Grinten, de Ruyter van Steveninck, Lozano et al. (2023): Phosphene simulation using cortical prostheses

Visual field maps and phosphene locations

Visual field maps and phosphene locations

Granley et al. (2021): Effects of Biphasic Pulse Parameters with the BiphasicAxonMapModel

Granley et al. (2021): Effects of Biphasic Pulse Parameters with the BiphasicAxonMapModel

Horsager et al. (2009): Predicting temporal sensitivity

Horsager et al. (2009): Predicting temporal sensitivity

Nanduri et al. (2012): Frequency vs. amplitude modulation

Nanduri et al. (2012): Frequency vs. amplitude modulation

Residual vision

The pulse2percept.vision module describes the visual world an implanted eye is looking at: what is present (Scene) and where native vision is lost (Scotoma). A model registers a scene against an implant and returns what the person sees; see Simulating a visual scene.

Simulating PRIMA in age-related macular degeneration (AMD)

Simulating PRIMA in age-related macular degeneration (AMD)

Plotting

The pulse2percept.plotting module provides figures and animations that combine multiple pulse2percept objects. Individual objects retain their own plot() and play() methods.

Comparing a stimulus to the percept it produces

Comparing a stimulus to the percept it produces

Datasets

The pulse2percept.datasets module provides helper functions that can be used to load datasets from the bionic vision community, such as load_horsager2009(), fetch_beyeler2019(), load_nanduri2012() and load_fornos2012().

Data from Greenwald et al. (2009)

Data from Greenwald et al. (2009)

Threshold data from Horsager et al. (2009)

Threshold data from Horsager et al. (2009)

Phosphene fading data from Perez Fornos et al. (2012)

Phosphene fading data from Perez Fornos et al. (2012)

Data from Nanduri et al. (2012)

Data from Nanduri et al. (2012)

Phosphene drawings from Beyeler et al. (2019)

Phosphene drawings from Beyeler et al. (2019)

For developers

Code examples for people interested in contributing to pulse2percept.

Writing your own test case

Writing your own test case

Download all examples in Python source code: examples_python.zip

Download all examples in Jupyter notebooks: examples_jupyter.zip

Gallery generated by Sphinx-Gallery

Previous Next

© Copyright 2016 - 2025, pulse2percept developers.

Built with Sphinx using a theme provided by Read the Docs.