Extract OCT and fundus data from proprietary file formats.
Project description
OCT Converter
Python-based tools for reading OCT and fundus data.
Description
In ophthalmology, data acquired from the scanner is often exported in the manufacturer's proprietary file format. OCT-Converter provides python-based tools for extracting images (optical coherence tomography and fundus), as well as associated metadata, from these files.
Supported file formats
- .fds (Topcon)
- .fda (Topcon)
- .e2e (Heidelberg)
- .img (Zeiss)
- .oct (Bioptigen)
- .OCT (Optovue)
- .dcm (both the standard kind, see Dicom, and Zeiss' obfuscated version, see ZEISSDicom)
Installation
Requires python 3.7 or higher.
pip install oct-converter
Usage
A number of example usage scripts are included in examples/.
Here is an example of reading a .fds file:
from oct_converter.readers import FDS
# An example .fds file can be downloaded from the Biobank website:
# https://biobank.ndph.ox.ac.uk/showcase/refer.cgi?id=30
filepath = '/home/mark/Downloads/eg_oct_fds.fds'
fds = FDS(filepath)
oct_volume = fds.read_oct_volume() # returns an OCT volume with additional metadata if available
oct_volume.peek() # plots a montage of the volume
oct_volume.save('fds_testing.avi') # save volume as a movie
oct_volume.save('fds_testing.png') # save volume as a set of sequential images, fds_testing_[1...N].png
oct_volume.save_projection('projection.png') # save 2D projection
fundus_image = fds.read_fundus_image() # returns a Fundus image with additional metadata if available
fundus_image.save('fds_testing_fundus.jpg')
Contributions
Are welcome! Please open a new issue to discuss any potential contributions.
Updates
18 November 2022
- Initial support for reading the Zeiss Dicom format.
7 August 2022
- Contours (layer segmentations) are now extracted from .e2e files.
- Acquisition date is now extracted from .e2e files.
16 June 2022
- Initial support for reading Optovue OCTs
- Laterality is now extracted separately for each OCT/fundus image for .e2e files.
- More patient info extracted from .e2e files (name, sex, birthdate, patient ID)
24 Aug 2021
- Reading the Bioptigen .OCT format is now supported
11 June 2021
- Can now specify whether Zeiss .img data needs to be de-interlaced during reading.
14 May 2021
- Can save 2D projections of OCT volumes.
30 October 2020
- Extract fundus and laterality data from .e2e
- Now attempts to extract additional volumetric data from .e2e files that was previously missed
22 August 2020
- Experimental support for reading OCT data from .fda files.
14 July 2020
- Can now read fundus data from .fda files.
Related projects
- uocte inspired and enabled this project
- LibE2E and LibOctData provided some additional descriptions of the .e2e file spec
- eyepy can read HEYEY XML and VOL formats, and eyelab is a tool for annotating this data
Clinical use
This is research software and any data extracted using it should not be used for clinical decision-making.
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
Hashes for oct_converter-0.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17c943377748e614bc5b34411f800f6ea5cea2234812c474b7011c6cd6bad55c |
|
MD5 | 789a12f320cbcdcc294d0fdab5fe537f |
|
BLAKE2b-256 | 46c1b751d0d2a246d690a387658c3363c1899e116b0be30c546dfae78f21db50 |