pulse2percept
A Python-based simulation framework for bionic vision
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
10 of 30 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
bionic-vision
neural-engineering
neuroscience
python
retinal-implants
vision
Keywords from Contributors
lesson
Last synced: 6 months ago
·
JSON representation
Repository
A Python-based simulation framework for bionic vision
Basic Info
- Host: GitHub
- Owner: pulse2percept
- License: bsd-3-clause
- Language: Python
- Default Branch: master
- Homepage: https://pulse2percept.readthedocs.io
- Size: 277 MB
Statistics
- Stars: 86
- Watchers: 15
- Forks: 57
- Open Issues: 57
- Releases: 11
Topics
bionic-vision
neural-engineering
neuroscience
python
retinal-implants
vision
Created about 10 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Contributing
License
Code of conduct
Authors
README.rst
.. image:: https://img.shields.io/badge/DOI-10.25080/shinma--7f4c6e7--00c-blue
:target: https://doi.org/10.25080/shinma-7f4c6e7-00c
:alt: DOI
.. image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
:target: https://github.com/pulse2percept/pulse2percept/blob/master/LICENSE
:alt: BSD 3-clause
.. image:: https://img.shields.io/pypi/v/pulse2percept.svg
:target: https://pypi.org/project/pulse2percept
:alt: PyPI
.. image:: https://github.com/pulse2percept/pulse2percept/actions/workflows/build.yml/badge.svg
:target: https://github.com/pulse2percept/pulse2percept/actions
:alt: build
.. image:: https://img.shields.io/github/forks/pulse2percept/pulse2percept?style=social
:target: https://github.com/pulse2percept/pulse2percept/network/members
:alt: GitHub forks
.. image:: https://img.shields.io/github/stars/pulse2percept/pulse2percept?style=social
:target: https://github.com/pulse2percept/pulse2percept/stargazers
:alt: GitHub stars
====================================================================
pulse2percept: A Python-based simulation framework for bionic vision
====================================================================
Globally, an estimated 43 million people are blind, with limited treatment
options available for many causes of vision loss. For certain conditions,
visual neuroprostheses - such as retinal and cortical implants - may be the
only viable intervention.
However, understanding the perceptual experience generated by these devices
remains a significant challenge. The artificial vision they provide is
shaped by complex interactions between neural stimulation, underlying
neurophysiology, and device-specific parameters.
`pulse2percept`_ (p2p) is an open-source Python package that offers
spatiotemporal models of common `retinal and cortical implants`_,
providing a computational framework to simulate and study artificial
vision.
.. _pulse2percept: https://github.com/pulse2percept/pulse2percept
.. _retinal and cortical implants: https://en.wikipedia.org/wiki/Visual_prosthesis
.. image:: https://raw.githubusercontent.com/pulse2percept/pulse2percept/master/doc/_static/boston-train-combined.gif
:align: center
:alt: Input stimulus and predicted percept
*(left: input stimulus, right: predicted percept)*
Simulations such as the above are likely to be critical for providing realistic
estimates of prosthetic vision, thus providing regulatory bodies with guidance
into what sort of visual tests are appropriate for evaluating prosthetic
performance, and improving current and future technology.
If you use p2p in a scholarly publication, please cite as:
.. epigraph::
M Beyeler, GM Boynton, I Fine, A Rokem (2017). pulse2percept: A
Python-based simulation framework for bionic vision. *Proceedings of the
16th Python in Science Conference (SciPy)*, p.81-88,
doi:`10.25080/shinma-7f4c6e7-00c `_.
Installation
============
Once you have Python 3.9 or later, you can install the `stable release`_
of p2p using:
.. code-block:: bash
pip install pulse2percept
We provide prebuilt wheels for recent versions of macOS (e.g., macOS 14),
Linux (e.g., Ubuntu 24.04 LTS), and Windows (e.g., Windows Server 2022).
You can find the full documentation
`here `_.
.. _stable release: https://pulse2percept.readthedocs.io/en/stable/index.html
Compatibility and Building from Source
--------------------------------------
While other platforms are not explicitly supported, you may still be able to run
p2p with minimal modifications. If ``pip`` does not find a prebuilt wheel for
your system, it will attempt to install from source.
.. note::
Building from source requires NumPy and Cython. On Windows, this includes
`Visual Studio Build Tools`_.
Supported Python versions:
+----------------------+------+------+------+------+-----+-----+-----+-----+-----+
| Python | 3.13 | 3.12 | 3.11 | 3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 |
+======================+======+======+======+======+=====+=====+=====+=====+=====+
| p2p 0.10 | Yes | Yes | Yes | Yes | | | | | |
+----------------------+------+------+------+------+-----+-----+-----+-----+-----+
| p2p 0.9 | | Yes | Yes | Yes | Yes | | | | |
+----------------------+------+------+------+------+-----+-----+-----+-----+-----+
| p2p 0.8 | | | | Yes | Yes | Yes | Yes | | |
+----------------------+------+------+------+------+-----+-----+-----+-----+-----+
| p2p 0.7 | | | | | Yes | Yes | Yes | Yes | |
+----------------------+------+------+------+------+-----+-----+-----+-----+-----+
| p2p 0.6 | | | | | | Yes | Yes | Yes | Yes |
+----------------------+------+------+------+------+-----+-----+-----+-----+-----+
Our `GitHub Action Runners`_ ensure that p2p works as expected on macOS 14 Arm64,
Ubuntu 24.04, and Windows Server 2022.
.. _Visual Studio Build Tools: https://visualstudio.microsoft.com/visual-cpp-build-tools/
.. _GitHub Action Runners: https://github.com/pulse2percept/pulse2percept/actions
Upgrading and Uninstalling
--------------------------
To upgrade p2p to the latest stable version:
.. code-block:: bash
pip install -U pulse2percept
To uninstall:
.. code-block:: bash
pip uninstall pulse2percept -y
Installing the Bleeding-Edge Version
------------------------------------
If you want to install the `latest development version`_ from source, first
ensure that you have **NumPy and Cython** installed.
On Windows, you will also need Visual Studio Build Tools.
Then run:
.. code-block:: bash
pip install git+https://github.com/pulse2percept/pulse2percept
For more details, see our `Installation Guide`_.
If you encounter issues, check our `Issue Tracker`_ on GitHub for solutions
or contribute fixes for unsupported platforms.
.. _latest development version: https://pulse2percept.readthedocs.io/en/latest/index.html
.. _Installation Guide: https://pulse2percept.readthedocs.io/en/stable/install.html
.. _Issue Tracker: https://github.com/pulse2percept/pulse2percept/issues
Where to go from here
=====================
* Have a look at some code examples from our `Example Gallery`_.
* Familiarize yourself with `visual implants`_, `electrical stimuli`_,
and our `computational models`_.
* Check the `FAQ`_ to see if your question has already been answered.
* Request features or report bugs in our on
`GitHub `_.
.. _Example Gallery: https://pulse2percept.readthedocs.io/en/latest/examples/index.html
.. _visual implants: https://pulse2percept.readthedocs.io/en/latest/topics/implants.html
.. _electrical stimuli: https://pulse2percept.readthedocs.io/en/latest/topics/stimuli.html
.. _computational models: https://pulse2percept.readthedocs.io/en/latest/topics/models.html
.. _FAQ: https://pulse2percept.readthedocs.io/en/latest/users/faq.html
.. _Issue Tracker: https://github.com/pulse2percept/pulse2percept/issues
Owner
- Name: pulse2percept
- Login: pulse2percept
- Kind: organization
- Repositories: 1
- Profile: https://github.com/pulse2percept
GitHub Events
Total
- Create event: 66
- Release event: 1
- Issues event: 27
- Watch event: 9
- Delete event: 61
- Issue comment event: 69
- Push event: 205
- Pull request review event: 6
- Pull request event: 126
- Fork event: 10
Last Year
- Create event: 66
- Release event: 1
- Issues event: 27
- Watch event: 9
- Delete event: 61
- Issue comment event: 69
- Push event: 205
- Pull request review event: 6
- Pull request event: 126
- Fork event: 10
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Beyeler | m****r@u****u | 230 |
| Michael Beyeler | m****r | 185 |
| arokem | a****m@g****m | 104 |
| Ione Fine | i****e@u****u | 45 |
| Michael Beyeler | m****r@u****u | 34 |
| Jacob Granley | j****y@u****u | 31 |
| Dylan Lin | 4****9 | 11 |
| Geoff Boynton | g****n@u****u | 8 |
| Aiwen Xu | a****u@u****u | 7 |
| Wade Varesio | w****o@g****m | 7 |
| FrancieNagiki | h****i@u****u | 6 |
| Jacob Granley | j****y@m****u | 6 |
| Ubuntu | u****u@i****l | 6 |
| nickarenberg | n****2@g****m | 3 |
| Ori Mizrahi | 5****9 | 3 |
| ezgirmak | 3****k | 3 |
| Pulse2Percept | P****t | 3 |
| Ubuntu | u****u@i****l | 3 |
| Michael Beyeler | m****r@u****u | 2 |
| isaac hoffman | i****n@u****u | 2 |
| Conrad Crowley | c****y@g****m | 2 |
| Jon Luntzel | 3****l | 2 |
| Ubuntu | u****u@i****l | 1 |
| emmagan | 4****n | 1 |
| NeuroscienceScripts | 5****s | 1 |
| Jacob Lavoie | j****2@g****m | 1 |
| Oliver Contier | o****r@g****m | 1 |
| Gareth | g****7@g****m | 1 |
| isaac hoffman | t****h@g****m | 1 |
| Ubuntu | u****u@i****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 92
- Total pull requests: 285
- Average time to close issues: 7 months
- Average time to close pull requests: 26 days
- Total issue authors: 9
- Total pull request authors: 16
- Average comments per issue: 0.49
- Average comments per pull request: 0.83
- Merged pull requests: 211
- Bot issues: 0
- Bot pull requests: 82
Past Year
- Issues: 17
- Pull requests: 137
- Average time to close issues: 1 day
- Average time to close pull requests: 6 days
- Issue authors: 2
- Pull request authors: 4
- Average comments per issue: 0.24
- Average comments per pull request: 0.69
- Merged pull requests: 89
- Bot issues: 0
- Bot pull requests: 82
Top Authors
Issue Authors
- jgranley (47)
- mbeyeler (35)
- ju-w (3)
- tallyhawley (2)
- apurvvarshney (1)
- ascientist (1)
- aiwenxu (1)
- mai-amber (1)
- Nykzom (1)
Pull Request Authors
- jgranley (86)
- dependabot[bot] (82)
- mbeyeler (53)
- tallyhawley (23)
- FrancieNagiki (7)
- lukeyoffe (7)
- HououinKyouma-2036 (6)
- narenberg (5)
- WadeVaresio (4)
- ju-w (2)
- apurvvarshney (2)
- yarikoptic (2)
- whuang602 (2)
- step-security-bot (2)
- ascientist (1)
Top Labels
Issue Labels
bug (26)
Cortex (19)
enhancement (17)
maintenance (8)
installation (6)
good-first-issue (5)
doc (4)
performance (4)
usability (3)
wontfix (2)
question (2)
help-wanted (1)
duplicate (1)
Pull Request Labels
dependencies (82)
github_actions (82)
maintenance (8)
Cortex (6)
enhancement (2)
usability (2)
high-prio (2)
bug (2)
performance (1)
wontfix (1)
Packages
- Total packages: 1
-
Total downloads:
- pypi 172 last-month
- Total dependent packages: 0
- Total dependent repositories: 4
- Total versions: 19
- Total maintainers: 1
pypi.org: pulse2percept
A Python-based simulation framework for bionic vision
- Documentation: https://pulse2percept.readthedocs.io/
- License: Copyright (c) 2016-2020, the pulse2percept developers All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 0.9.0
published about 1 year ago
Rankings
Forks count: 6.1%
Dependent repos count: 7.5%
Stargazers count: 8.1%
Average: 8.5%
Dependent packages count: 10.1%
Downloads: 10.9%
Maintainers (1)
Last synced:
6 months ago
Dependencies
doc/requirements.txt
pypi
- docutils <0.18
- h5py *
- ipython *
- jax *
- joblib >=0.11
- pandas *
- setuptools >=42.0,<50.0
- sphinx ==1.8.5
- sphinx_gallery >=0.7
- sphinx_rtd_theme *
- sphinx_version_warning *
requirements-dev.txt
pypi
- coveralls * development
- dask * development
- flake8 * development
- h5py * development
- joblib >=0.11 development
- mock * development
- pandas * development
- pyswarm * development
- pytest >=5 development
- pytest-cov * development
- seaborn * development
- sklearn * development
requirements.txt
pypi
- cython >=0.28
- imageio_ffmpeg >=0.4
- matplotlib >=3.0.2
- numpy >=1.11
- scikit_image >=0.14
- scipy <=1.7.1
- scipy >=1.0.1
- setuptools <50.0
setup.py
pypi
- numpy >=
- scipy >=
.github/workflows/build.yml
actions
- actions/checkout v1 composite
- actions/setup-python v1 composite
- codecov/codecov-action v1 composite
.github/workflows/wheels.yml
actions
- actions/checkout v2 composite
- actions/upload-artifact v2 composite
- pypa/cibuildwheel v2.1.3 composite
pulse2percept/models/setup.py
pypi
pulse2percept/setup.py
pypi
pulse2percept/stimuli/setup.py
pypi
pulse2percept/utils/setup.py
pypi