A Python implementation of OPIPP, a method for precisely generating artificial retinal mosaics, the spatial organization of retinal neurons. Here is a short introduction to the background.
We recommend the "import-analysis-simulation" pipeline for generating artificial mosaics and purpose a tutorial for each step, as
- Importing retinal spatial pattern datasets from local files
- Analyzing and visualizing spatial patterns of mosaics
- Simulating artifical retinal mosaics
Users are welcome to extend and customize methods for feature calculation and mosaic simulation.
Here are useful tools that are not implemented in the current version. We plan to apply these methods in future development.
We also provided a web application for uploading data, playing with the O-PIPP method, and downloading generated mosaics!
pip install OPIPP
pip install git+https://github.com/heliy/OPIPP
- python >=3.8
- numpy >= 1.20.0
- scipy >= 1.9.0
- matplotlib >= 3.2.0
- networkx >= 2.0.0
- Liuyuan He, Wenyao Wang, Lei Ma, Tiejun Huang; Optimization-Based Pairwise Interaction Point Process (O-PIPP): A Precise and Universal Retinal Mosaic Modeling Approach. Invest. Ophthalmol. Vis. Sci. 2024;65(8):39. https://doi.org/10.1167/iovs.65.8.39.
-
The example mosaic for retinal horizontal cells and related spatial features are from (Keeley et al., 2020).
-
In the optimization, we use the adaptive simulated annealing algorithm from (Mahdi et al., 2017).
- Update documents.
- Add more operations for mosaics and tags in
Pattern
. - Fix bugs in
Pattern
. - Estimate scope from the array of given points.
-
Distribution
->Feature
.