Skip to content

Latest commit

 

History

History
70 lines (43 loc) · 2.33 KB

README.md

File metadata and controls

70 lines (43 loc) · 2.33 KB

OPIPP: Optimization-based Pairwise Interaction Point Process

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.

Pipeline

overview

We recommend the "import-analysis-simulation" pipeline for generating artificial mosaics and purpose a tutorial for each step, as

  1. Importing retinal spatial pattern datasets from local files
  2. Analyzing and visualizing spatial patterns of mosaics
  3. Simulating artifical retinal mosaics

Users are welcome to extend and customize methods for feature calculation and mosaic simulation.

Tools

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!

Install

PyPI

pip install OPIPP

pip+git

pip install git+https://github.com/heliy/OPIPP

Dependencies

  • python >=3.8
  • numpy >= 1.20.0
  • scipy >= 1.9.0
  • matplotlib >= 3.2.0
  • networkx >= 2.0.0

Citation

  • 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.

References

  • 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).

TODO & Changelog

v0.2.0

  • Update documents.

v0.1.2

  • Add more operations for mosaics and tags in Pattern.
  • Fix bugs in Pattern.
  • Estimate scope from the array of given points.

v0.1.1

  • Distribution -> Feature.