Skip to main content

A python package to read, analyse and visualize OCT and fundus data form various sources.

Project description

eyepy

A powerful Python package for importing, analyzing, and visualizing retinal imaging data, including OCT and OCT Angiography.

header_gif

Documentation PyPI version DOI

eyepy provides a unified and user-friendly interface for working with retinal imaging data. With support for a wide range of file formats, it enables researchers and clinicians to import, process, and visualize OCT volumes and angiography data with ease. The core EyeVolume object offers intuitive methods for plotting fundus images, B-scans, and quantitative analyses such as drusen and retinal layer thickness. Comprehensive documentation and example workflows are available to help you get started quickly.

Features

  • Import Structural Data (HEYEX-E2E, HEYEX-VOL, HEYEX-XML, Topcon-FDA, B-Scan collections, RETOUCH Challenge, AMD Dataset from Duke University)
  • Import Angiographic OCT Data (HEYEX-VOL)
  • Analyze OCT volumes (compute and quantify drusen)
  • Visualize OCT volumes with annotations and quantifications
  • Compute and visualize retinal layer thickness
  • Compute and visualize OCTA enface projections.
  • Save and load EyeVolume objects

Getting Started

Installation

Attention: If you want to use a version prior to 0.12.0 you have to install from the eyepie name instead. This is because we used eyepie as a package name on PyPI until the previous owner of the eyepy name on PyPI was so kind to transfer it to us.

To install the latest version of eyepy run pip install -U eyepy. (It is eyepie for versions < 0.12.0)

Getting Started

When you don't have a supported OCT volume at hand you can check out our sample datasets to get familiar with eyepy.

from eyepy.data import load
struc_ev = load("drusen_patient")
struc_ev = load("healthy_OD")
angio_ev = load("healthy_OD_Angio")

If you have data at hand use one of eyepy's import functions.

# Import HEYEX E2E export
ev = ep.import_heyex_e2e("path/to/file.e2e")
# Import HEYEX XML export
ev = ep.import_heyex_xml("path/to/folder")
# Import HEYEX VOL export
ev = ep.import_heyex_vol("path/to/file.vol")
# Import Topcon FDA export
ev = ep.import_topcon_fda("path/to/file.fda")
# Import volume from Duke public dataset
ev = ep.import_duke_mat("path/to/file.mat")
# Import volume from RETOUCH challenge
ev = ep.import_retouch("path/to/volume_folder")
# Import HEYEX OCTA VOL export
ev_angio = ep.import_heyex_angio_vol("path/to/volume_folder")

Spectralis OCTA (OCT Angiography) Support

eyepy is capable of reading and visualizing OCT Angiography (OCTA) data from Heidelberg Spectralis devices. You can explore and analyze both structural and angiography volumes using the same unified interface.

Example: Load and Visualize Spectralis OCTA Sample Data

The following example demonstrates how to load OCTA sample data, and plot the enface projections.

import eyepy as ep
import matplotlib.pyplot as plt

# Load sample data
angio_OD = ep.data.load("healthy_OD_Angio")
angio_OS = ep.data.load("healthy_OS_Angio")

fig, axes = plt.subplots(1, 2, figsize=(14, 7))
for i, (angio, title) in enumerate(zip([angio_OD, angio_OS], ["Right Eye (OD)", "Left Eye (OS)"])):
    # Show localizer with Angiography overlay for the complete retina
    angio.plot(ax=axes[i], slabs=["RET"])
    axes[i].set_title(title)
    axes[i].axis("off")

plt.tight_layout()

Example OCTA

Related Projects:

Citation

If you use eyepy in your research, please cite it. You can find citation information and export BibTeX entries via the Zenodo record: DOI

Contributing

For details on contributing and setting up a development environment, see the Contributing Guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eyepy-0.14.0.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

eyepy-0.14.0-py3-none-any.whl (62.5 kB view details)

Uploaded Python 3

File details

Details for the file eyepy-0.14.0.tar.gz.

File metadata

  • Download URL: eyepy-0.14.0.tar.gz
  • Upload date:
  • Size: 54.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for eyepy-0.14.0.tar.gz
Algorithm Hash digest
SHA256 44efc37c7f345da729662273832fe541676ce60e02632127addf8fcc1affa284
MD5 771f5a8b0edfa727b49be72cf4f70f43
BLAKE2b-256 48a64f4a1d87d18a55af32d32d8d42f2bcd756e7109a9b36a753f0546c6cb68a

See more details on using hashes here.

Provenance

The following attestation bundles were made for eyepy-0.14.0.tar.gz:

Publisher: ci.yaml on MedVisBonn/eyepy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eyepy-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: eyepy-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 62.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for eyepy-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bcbbad55ee7de83cc3c5963b2b83d13a62ccb8f65ae1af1c07d4a48afb418d9
MD5 0174f9ad7dd09bd555fac28b1e3ce2dc
BLAKE2b-256 df29f21bb0f36ee35ca815c358bc760cd8b47d804640510ab750418a5df7914e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eyepy-0.14.0-py3-none-any.whl:

Publisher: ci.yaml on MedVisBonn/eyepy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page