Python-based tools for reading OCT and fundus data.
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.
Requires python 3.7 or higher.
pip install oct-converter
A number of example usage scripts are included in examples/
.
Here is an example of reading a .fds file:
from oct_converter.dicom import create_dicom_from_oct
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(show_contours=True) # plots a montage of the volume, with layer segmentations is available
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')
metadata = fds.read_all_metadata(verbose=True) # extracts all other metadata
with open("fds_metadata.json", "w") as outfile:
outfile.write(json.dumps(metadata, indent=4))
# create and save a DICOM
dcm = create_dicom_from_oct(filepath)
Are welcome! Here is a development roadmap, including some easy first issues. Please open a new issue to discuss any potential contributions.
9 November 2023
22 September 2023
28 March 2023
31 January 2023
7 August 2022
16 June 2022
24 Aug 2021
11 June 2021
14 May 2021
30 October 2020
22 August 2020
14 July 2020
We can't guarantee images extracted with OCT-Converter will match those extracted or viewed with the manufacturer's software. Any use in clinical settings is at the user's own risk.