<h1 align="center">eyepy</h1>
<p align="center">
Use Python to import, analyse and visualize retinal imaging data.
</p>
![header_gif](https://user-images.githubusercontent.com/5720058/228815448-4b561246-dac9-4f8f-abde-e0dd5457a72b.gif)
[![Documentation](https://img.shields.io/badge/docs-eyepy-blue)](https://MedVisBonn.github.io/eyepy)
[![PyPI version](https://badge.fury.io/py/eyepy.svg)](https://badge.fury.io/py/eyepy)
[![DOI](https://zenodo.org/badge/292547201.svg)](https://zenodo.org/badge/latestdoi/292547201)
The `eyepy` python package provides a simple interface to import and process OCT volumes. Everything you import with one of our import functions becomes an `EyeVolume` object which provides a unified interface to the data. The `EyeVolume` object provides methods to plot the localizer (fundus) image and B-scans as well as to compute and plot quantifications of voxel annotations such as drusen. Check out the [documentation](https://MedVisBonn.github.io/eyepy), especially the [Cookbook](https://medvisbonn.github.io/eyepy/cookbook/) chapter, for more information.
## Features
* Import Data (Heyex-E2E, Heyex-VOL, Heyex-XML, Topcon-FDA, B-Scan collections, [RETOUCH Challenge](https://retouch.grand-challenge.org/), [AMD Dataset from Duke University](https://people.duke.edu/~sf59/RPEDC_Ophth_2013_dataset.htm))
* Analyze OCT volumes (compute and quantify drusen)
* Visualize OCT volumes with annotations and quantifications
* 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 hava a supported OCT volume at hand you can check out our sample dataset to get familiar with `eyepy`.
```python
from eyepy.data import load
ev = load("drusen_patient")
```
If you have data at hand use one of eyepys import functions.
```python
# 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 form RETOUCH challenge
ev = ep.import_retouch("path/to/volume_folder")
```
# Related Projects:
+ [eyeseg](https://github.com/MedVisBonn/eyeseg): A python package for segmentation of retinal layers and drusen in OCT data.
+ [OCT-Converter](https://github.com/marksgraham/OCT-Converter): Extract raw optical coherence tomography (OCT) and fundus data from proprietary file formats. (.fds/.fda/.e2e/.img/.oct/.dcm)
+ [eyelab](https://github.com/MedVisBonn/eyelab): A GUI for annotation of OCT data based on eyepy
+ Projects by the [Translational Neuroimaging Laboratory](https://github.com/neurodial)
+ [LibOctData](https://github.com/neurodial/LibOctData)
+ [LibE2E](https://github.com/neurodial/LibE2E)
+ [OCT-Marker](https://github.com/neurodial/OCT-Marker)
+ [UOCTE](https://github.com/TSchlosser13/UOCTE) Unofficial continuation of https://bitbucket.org/uocte/uocte
+ [OCTAnnotate](https://github.com/krzyk87/OCTAnnotate)
+ [heyexReader](https://github.com/ayl/heyexReader)
+ [OCTExplorer](https://www.iibi.uiowa.edu/oct-reference) Iowa Reference Algorithm
Raw data
{
"_id": null,
"home_page": "https://github.com/MedVisBonn/eyepy",
"name": "eyepy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<3.12",
"maintainer_email": "",
"keywords": "ophthalmology,oct,visualization,spectralis",
"author": "Olivier Morelle",
"author_email": "oli4morelle@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/02/9a/81701476f5ea15a21f98706ff2a2f51674ba635254f09b681169c658b0c9/eyepy-0.12.1.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">eyepy</h1>\n<p align=\"center\">\nUse Python to import, analyse and visualize retinal imaging data.\n</p>\n\n![header_gif](https://user-images.githubusercontent.com/5720058/228815448-4b561246-dac9-4f8f-abde-e0dd5457a72b.gif)\n\n[![Documentation](https://img.shields.io/badge/docs-eyepy-blue)](https://MedVisBonn.github.io/eyepy)\n[![PyPI version](https://badge.fury.io/py/eyepy.svg)](https://badge.fury.io/py/eyepy)\n[![DOI](https://zenodo.org/badge/292547201.svg)](https://zenodo.org/badge/latestdoi/292547201)\n\n\nThe `eyepy` python package provides a simple interface to import and process OCT volumes. Everything you import with one of our import functions becomes an `EyeVolume` object which provides a unified interface to the data. The `EyeVolume` object provides methods to plot the localizer (fundus) image and B-scans as well as to compute and plot quantifications of voxel annotations such as drusen. Check out the [documentation](https://MedVisBonn.github.io/eyepy), especially the [Cookbook](https://medvisbonn.github.io/eyepy/cookbook/) chapter, for more information.\n\n## Features\n\n* Import Data (Heyex-E2E, Heyex-VOL, Heyex-XML, Topcon-FDA, B-Scan collections, [RETOUCH Challenge](https://retouch.grand-challenge.org/), [AMD Dataset from Duke University](https://people.duke.edu/~sf59/RPEDC_Ophth_2013_dataset.htm))\n* Analyze OCT volumes (compute and quantify drusen)\n* Visualize OCT volumes with annotations and quantifications\n* Save and load EyeVolume objects\n\n## Getting Started\n\n### Installation\n**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.\n\nTo install the latest version of eyepy run `pip install -U eyepy`. (It is `eyepie` for versions < 0.12.0)\n\n### Getting Started\nWhen you don't hava a supported OCT volume at hand you can check out our sample dataset to get familiar with `eyepy`.\n\n```python\nfrom eyepy.data import load\nev = load(\"drusen_patient\")\n```\n\nIf you have data at hand use one of eyepys import functions.\n\n```python\n# Import HEYEX E2E export\nev = ep.import_heyex_e2e(\"path/to/file.e2e\")\n# Import HEYEX XML export\nev = ep.import_heyex_xml(\"path/to/folder\")\n# Import HEYEX VOL export\nev = ep.import_heyex_vol(\"path/to/file.vol\")\n# Import Topcon FDA export\nev = ep.import_topcon_fda(\"path/to/file.fda\")\n# Import volume from Duke public dataset\nev = ep.import_duke_mat(\"path/to/file.mat\")\n# Import volume form RETOUCH challenge\nev = ep.import_retouch(\"path/to/volume_folder\")\n```\n\n# Related Projects:\n\n+ [eyeseg](https://github.com/MedVisBonn/eyeseg): A python package for segmentation of retinal layers and drusen in OCT data.\n+ [OCT-Converter](https://github.com/marksgraham/OCT-Converter): Extract raw optical coherence tomography (OCT) and fundus data from proprietary file formats. (.fds/.fda/.e2e/.img/.oct/.dcm)\n+ [eyelab](https://github.com/MedVisBonn/eyelab): A GUI for annotation of OCT data based on eyepy\n+ Projects by the [Translational Neuroimaging Laboratory](https://github.com/neurodial)\n + [LibOctData](https://github.com/neurodial/LibOctData)\n + [LibE2E](https://github.com/neurodial/LibE2E)\n + [OCT-Marker](https://github.com/neurodial/OCT-Marker)\n+ [UOCTE](https://github.com/TSchlosser13/UOCTE) Unofficial continuation of https://bitbucket.org/uocte/uocte\n+ [OCTAnnotate](https://github.com/krzyk87/OCTAnnotate)\n+ [heyexReader](https://github.com/ayl/heyexReader)\n+ [OCTExplorer](https://www.iibi.uiowa.edu/oct-reference) Iowa Reference Algorithm\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A python package to read, analyse and visualize OCT and fundus data form various sources.",
"version": "0.12.1",
"project_urls": {
"Homepage": "https://github.com/MedVisBonn/eyepy",
"Repository": "https://github.com/MedVisBonn/eyepy"
},
"split_keywords": [
"ophthalmology",
"oct",
"visualization",
"spectralis"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "228fe6e50ff0887fef8255dfba37c74ddfad56076e8debbfe78e465524c9d0d8",
"md5": "179691c3ecf965d0d4bd1e6dfeb86108",
"sha256": "d29866778c9807f6e4bef8249f345171b0549006beed64822db418db32c8fa9d"
},
"downloads": -1,
"filename": "eyepy-0.12.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "179691c3ecf965d0d4bd1e6dfeb86108",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<3.12",
"size": 57609,
"upload_time": "2023-09-26T19:23:08",
"upload_time_iso_8601": "2023-09-26T19:23:08.651945Z",
"url": "https://files.pythonhosted.org/packages/22/8f/e6e50ff0887fef8255dfba37c74ddfad56076e8debbfe78e465524c9d0d8/eyepy-0.12.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "029a81701476f5ea15a21f98706ff2a2f51674ba635254f09b681169c658b0c9",
"md5": "0fa54c5f27d7da040dda361f58a233ee",
"sha256": "480f4fb9d7c98575cb23f9ad63e2aede2a69a4a95ec36e72287b0d33a060963e"
},
"downloads": -1,
"filename": "eyepy-0.12.1.tar.gz",
"has_sig": false,
"md5_digest": "0fa54c5f27d7da040dda361f58a233ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<3.12",
"size": 49588,
"upload_time": "2023-09-26T19:23:10",
"upload_time_iso_8601": "2023-09-26T19:23:10.408638Z",
"url": "https://files.pythonhosted.org/packages/02/9a/81701476f5ea15a21f98706ff2a2f51674ba635254f09b681169c658b0c9/eyepy-0.12.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-26 19:23:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MedVisBonn",
"github_project": "eyepy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "eyepy"
}