A Python-based simulation framework for bionic vision
Project description
pulse2percept: A Python-based simulation framework for bionic vision
Retinal degenerative diseases such as retinitis pigmentosa and macular degeneration result in profound visual impairment in more than 10 million people worldwide, and a variety of sight restoration technologies are being developed to target these diseases.
Retinal prostheses, now implanted in over 500 patients worldwide, electrically stimulate surviving cells in order to evoke neuronal responses that are interpreted by the brain as visual percepts (‘phosphenes’). However, interactions between the device electronics and the retinal neurophysiology result in perceptual distortions that may severely limit the quality of the generated visual experience:
(left: input stimulus, right: predicted percept)
Built on the NumPy and SciPy stacks, pulse2percept provides an open-source implementation of a number of computational models for state-of-the-art visual prostheses (also known as the ‘bionic eye’), such as ArgusII, BVA24, and PRIMA, to provide insight into the visual experience provided by these devices.
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 pulse2percept in a scholarly publication, please cite as:
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 and pip, the stable release of pulse2percept can be installed with pip:
pip3 install pulse2percept
The bleeding-edge version of pulse2percept can be installed via:
pip3 install git+https://github.com/pulse2percept/pulse2percept
When installing the bleeding-edge version on Windows, note that you will have to install your own C compiler first. Detailed instructions for different platforms can be found in our Installation Guide.
Dependencies
pulse2percept 0.6 was the last version to support Python <= 3.5. pulse2percept 0.7+ requires Python 3.6+.
pulse2percept requires:
Python (>= 3.6)
Cython (>= 0.28)
NumPy (>= 1.9)
SciPy (>= 1.0.1)
ScikitImage (>=0.14)
Matplotlib (>= 3.0.2)
ImageIO FFMPEG (>=0.4)
JobLib (>= 0.11)
Optional packages:
Pandas for loading datasets in the datasets module.
Scikit Learn for machine learning functionality in the model_selection module.
Dask for parallel processing (a joblib alternative). Use conda to install.
Pytest to run the test suite.
OpenMP for parallel processing support.
All required packages are listed in requirements.txt in the root directory of the git repository, and can be installed with the following command:
git clone https://github.com/pulse2percept/pulse2percept.git
cd pulse2percept
pip3 install -r requirements.txt
All packages required for development (including all optional packages) are listed in requirements-dev.txt and can be installed via:
pip3 install -r requirements-dev.txt
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 Issue Tracker on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file pulse2percept-0.7.0.tar.gz
.
File metadata
- Download URL: pulse2percept-0.7.0.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e903bae750b24924a8f08f0d51dc77573b0939e7d9b42d196fc26edbbe40c7ac |
|
MD5 | 042ea7fc273f3419f220835518f1ada3 |
|
BLAKE2b-256 | 727880aeeb55dc01f3cbb2c246ea1e8ba3e4974659e499e2c0b13881b6085eb5 |
File details
Details for the file pulse2percept-0.7.0-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9907d93f3b9a9c027e509eaec308e0936a88dc121d7c553ad2f0c1200c9881ff |
|
MD5 | 7bc0c68ec8a7efaafecbaf4796c1d3b2 |
|
BLAKE2b-256 | 89ec6ec908e77863c1a89e443d61992b392a3c45e70615a7ec052c6a8dcfccc4 |
File details
Details for the file pulse2percept-0.7.0-cp39-cp39-win32.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp39-cp39-win32.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6b3c79941cde7ae06f5f1a3ca289c469ddfb5cccde82e350c560033d4b5adf4 |
|
MD5 | 30d0b174e62f724d11d993425835b453 |
|
BLAKE2b-256 | bbb0d07a8a0d7257ffa77a70f2da2caab9da629d1cf83ab378259c3085e59fca |
File details
Details for the file pulse2percept-0.7.0-cp39-cp39-manylinux2010_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp39-cp39-manylinux2010_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c989092eae7982c419407f13e87aa10c62b602a5e55bad8b8e9d131eb8e64569 |
|
MD5 | 257def749de1603d69e6076d9785f4b5 |
|
BLAKE2b-256 | 7961e2f04cb2edcbc4580f8f06396df74ea7664e41e612b7572992d15764fba1 |
File details
Details for the file pulse2percept-0.7.0-cp39-cp39-manylinux2010_i686.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp39-cp39-manylinux2010_i686.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.9, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4660743a85a5a01d1a8af0cb38297abbd54eb45f5e4315baaff3ca5e99b8909d |
|
MD5 | f3f79dc2010ffb94dce4facc9e7b515b |
|
BLAKE2b-256 | 0ef3b1297511e22de23bc3be7580370441570d74817009d568152c1050db9a85 |
File details
Details for the file pulse2percept-0.7.0-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26dd2b7953a6dd52f728936b4bcbc647bf1a57da65a840f67afb306efa23d936 |
|
MD5 | 496e186e775c9de547a57d04beb1e58c |
|
BLAKE2b-256 | 03e9daf0aea983a44cda7137722e3fa2210859c392bac82b9e43f491dec60dd0 |
File details
Details for the file pulse2percept-0.7.0-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23f4de8139c38551eacd2c6420dc582b8e74e546ad2d72b87f7c778d62cc7bb2 |
|
MD5 | cf301e645fa20848910649423996a28f |
|
BLAKE2b-256 | f04ef0687b9dd0d643fddc6054e3dc2f35250eaaa07c87634f49344080705232 |
File details
Details for the file pulse2percept-0.7.0-cp38-cp38-win32.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp38-cp38-win32.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.8, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cc909789d59963a3a613bee377564446c0e809e4deb37426be8bae1be2c9d23 |
|
MD5 | 90458d588f4a99fc67a112a177b3fceb |
|
BLAKE2b-256 | aea57d7e48c25b285914e347bbbeb9b35acdffa26444c43cb2e33357092100dd |
File details
Details for the file pulse2percept-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dc88930b9f9d3d64af119d6dd3cafa92fb617234567fd8a4580ac6fc59ff74c |
|
MD5 | a75b1c4ef897e141034eb0a17eb29b8e |
|
BLAKE2b-256 | 809edb912bf16e7d1442c55cf857b735d0d29f2ca93b6bafcfce84f0dd1e4c61 |
File details
Details for the file pulse2percept-0.7.0-cp38-cp38-manylinux2010_i686.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp38-cp38-manylinux2010_i686.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.8, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5641ae71a6b0116b6a71303a72075c1c46b6cf27d81a6f6583f147c0a60e9a48 |
|
MD5 | 0ba6b552fb119c575df27934837b5bd8 |
|
BLAKE2b-256 | 520156e1c2978e104e3f2c991fffc27f9b35893d5666fbfd1e70f013009abfa2 |
File details
Details for the file pulse2percept-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc61246f03155e358cf5c829ae8e8070ec2065c6d2c63d64fbac81d96bcbe9cd |
|
MD5 | 48ce8f19c10087b9b605dbd4c03b1572 |
|
BLAKE2b-256 | 6a6f2a9fe2c4310f3c31463824608ba8d8d17451a09c487745dba24f16b19d65 |
File details
Details for the file pulse2percept-0.7.0-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2f8ba36d1ce366213757954ef36f228953867be3d6a9d36445a03e1d214c189 |
|
MD5 | 8b05b27bf24d4a10b630972c257dd809 |
|
BLAKE2b-256 | b0a19c00ff668795f16761c166dd991bd1760054eb1da61bc3a5b40927ee50f7 |
File details
Details for the file pulse2percept-0.7.0-cp37-cp37m-win32.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp37-cp37m-win32.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.7m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18f9dddf56e67354f159419de1f1d2bb7dbdfb760a825b44d5154d66ce32a5b4 |
|
MD5 | 37743c63aaac19649ae3ee887e261fc4 |
|
BLAKE2b-256 | 0fc7c9c0ffb0b266d23e9bf3ffc7ca7ff008a0c7471582ee8b15e9c6f708303e |
File details
Details for the file pulse2percept-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf109c967561ea716751ee6b880ae2e4280a14d4d603286454adfbb7606652d1 |
|
MD5 | be0f7352b45994ca9f70f15ce0fc51b2 |
|
BLAKE2b-256 | 6022190a8ebbe94484d13a1bcd9977fa44d8433b02ae208e1b646aad2e52691e |
File details
Details for the file pulse2percept-0.7.0-cp37-cp37m-manylinux2010_i686.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp37-cp37m-manylinux2010_i686.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d535235be3417a6eeec940cdd03e0bff9748c182386e04c9acd45c8bf6b1ee0 |
|
MD5 | 2cd418082ea7e1fd881e2c93bdeacbe2 |
|
BLAKE2b-256 | 31a5fd0f35f8b9847d37d4dcdf26e94baf79a3bbe6b447525f8f8c2a85deca09 |
File details
Details for the file pulse2percept-0.7.0-cp37-cp37m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp37-cp37m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.7m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 028da7c769672b6e4219d2b597a9320e3726e8e525e20131c1d262b505d42c4c |
|
MD5 | 189a2a22f680aa0562372e6d39f5887d |
|
BLAKE2b-256 | 23db58240b0c6bbffc358fbef58d801f54914fbfb9b2482c201e400b2b9e44f4 |
File details
Details for the file pulse2percept-0.7.0-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1bbe244001ab67754008b66c6539df9a9dc734de13456303bf6890a9ff5764 |
|
MD5 | ce85d79b509e988e5de8fdf179b66800 |
|
BLAKE2b-256 | 593cdecc761f0de963d03531aaa252763a4216fe9ee4ea63057f9e1f9c2a9cef |
File details
Details for the file pulse2percept-0.7.0-cp36-cp36m-win32.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp36-cp36m-win32.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.6m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 012f6ecb5f000f2add8671df7185cf20104bf1e248c0876ece27e08aa663e7dc |
|
MD5 | a469d1bddee2eb5b09376328a75552f1 |
|
BLAKE2b-256 | 925e4eb31320dee953019d58be8cfd30b40a442d1bb2a101bc8320db3b760c0b |
File details
Details for the file pulse2percept-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fd6e4c92a6802aa90743357ac73cb05f96ce9c8d2cdf7d3329dbb1369b7be8c |
|
MD5 | 3cfec307029828b728c0e28a4db8e13e |
|
BLAKE2b-256 | 6c5f2547296c0902e02d2ded590a5aa0303ceba0ea24397c98f43bf9bf5226c4 |
File details
Details for the file pulse2percept-0.7.0-cp36-cp36m-manylinux2010_i686.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp36-cp36m-manylinux2010_i686.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d5889410f0def7bfab99281ee08d28aedafead1bf97e0a94035199ce405ac7a |
|
MD5 | 316c96c0881f7dff786b00173887ecc2 |
|
BLAKE2b-256 | cb954cf56da4e2272b91f0f9b555ce6608b772c343a7611df7489ece854658a9 |
File details
Details for the file pulse2percept-0.7.0-cp36-cp36m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pulse2percept-0.7.0-cp36-cp36m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.6m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46319586ba1e1ade22beae88e492bb4af2113f00cd5069a1008b4519f5999ddc |
|
MD5 | fdaa4b2d184970b13c6d61375ddbf65a |
|
BLAKE2b-256 | a0dd317fc294a9ff97500d1181db12ce87ba99b09711a88852d3a751583f2231 |