Accessible vision simulations in Python.
Project description
Visisipy: accessible vision simulations in Python
Visisipy (pronounced /ˌvɪsəˈsɪpi/, like Mississippi but with a V) is a Python library for optical simulations of the eye.
It provides an easy-to-use interface to define and build eye models, and to perform common ophthalmic analyses on these models.
Goals
- Provide a uniform interface to define, build and analyze various types of eye models, using abstractions that are relevant in a clinical context.
- Provide a collection of ready-to-use eye models, such as the Navarro model[^navarro], that can be customized at need.
- Provide an accessible interface to clinically relevant analyses on these models, such as off-axis refraction calculations.
- Modular design with support for multiple backends, both open-source and commercial.
Contributing
Visisipy aims to be a community-driven project and warmly accepts contributions. If you want to contribute, please email us (visisipy@mreye.nl) or open a new discussion.
Installation
Visisipy can be installed through pip:
pip install visisipy
Visisipy will be made available through Conda as soon as possible.
Example
import visisipy
import matplotlib.pyplot as plt
import seaborn as sns
# Initialize the default Navarro model
model = visisipy.EyeModel()
# Build the model in OpticStudio
model.build()
# Perform a raytrace analysis
coordinates = [(0, 0), (0, 10), (0, 20), (0, 30), (0, 40)]
raytrace = visisipy.analysis.raytrace(coordinates=coordinates)
# Alternatively, the model can be built and analyzed in one go:
# raytrace = visisipy.analysis.raytrace(model, coordinates=zip([0] * 5, range(0, 60, 10)))
# Visualize the model
fig, ax = plt.subplots()
visisipy.plots.plot_eye(ax, model.geometry, lens_edge_thickness=0.5)
ax.set_xlim((-7, 23))
ax.set_ylim((-15, 15))
ax.set_aspect('equal')
sns.lineplot(raytrace, x="z", y="y", hue="field", ax=ax)
plt.show()
Documentation
Read the full documentation at visisipy.readthedocs.io.
[^navarro]: Escudero-Sanz, I., & Navarro, R. (1999). Off-axis aberrations of a wide-angle schematic eye model. JOSA A, 16(8), 1881–1891. https://doi.org/10.1364/JOSAA.16.001881
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file visisipy-0.2.0.tar.gz.
File metadata
- Download URL: visisipy-0.2.0.tar.gz
- Upload date:
- Size: 2.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47c08335add09a3cffdd784d3aa385f375b8b1e65bb1184aa382fadba106bd45
|
|
| MD5 |
4d5bb4aba1e79209a875a8bd70f43b7c
|
|
| BLAKE2b-256 |
c6ccce9e499efa7a6e3fe1bff304827113777f3610698d009ea0e40c48f99db9
|
File details
Details for the file visisipy-0.2.0-py3-none-any.whl.
File metadata
- Download URL: visisipy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 81.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bb91580f73ec8598e583d697aa806b24dee58cb92d115fa88403ee9126752f1
|
|
| MD5 |
875c4c50f69a528c02224c991a49f35e
|
|
| BLAKE2b-256 |
3b429fcc78a8f3806d874abc914041d94080e35687e145487c28ae04f0a65bac
|