Code Monkey home page Code Monkey logo

oct-to-tiff's Introduction

oct-to-tiff

DOI

A command line tool for converting optical coherence tomography angiography (OCTA) data.

Installation

via pip:

pip install oct-to-tiff

via conda:

conda install -c conda-forge oct-to-tiff

Getting started

oct-to-tiff /path/to/image.OCT

will read an OCT volume and write to a single OME-TIFF file, including voxel size in the metadata.

By default, the output file will be written with the same name as the input file and to the same directory:

tree /path/to/images
    ├── image.OCT
    └── image.ome.tif

To specify a custom output directory, see Optional arguments below.

Batch processing

for file in *.OCT; do oct-to-tiff "${file}"; done

will convert all OCT volumes in the current directory to OME-TIFF files, including voxel size in the metadata.

Supported scan patterns

This tool has been developed by reverse engineering data from the Optovue RTVue XR Avanti System.

Due to limited test data, only the following scan patterns are currently supported:

Structural OCT

  • 3D Cornea
  • 3D Disc
  • 3D Retina
  • 3D Widefield
  • 3D Widefield MCT
  • Angle
  • Cornea Cross Line
  • Cornea Line
  • Cross Line
  • Enhanced HD Line
  • GCC
  • Grid
  • Line
  • ONH (Partial)
  • Pachymetry Wide
  • Radial Lines
  • Raster
  • Retina Map (Partial)

OCT Angiography

  • Angio Disc
  • Angio Retina
  • HD Angio Disc
  • HD Angio Retina

Optional arguments

To view these options at any time, run oct-to-tiff --help.

--output OUTPUT

Description: specify a custom output directory.

If the path to the output directory does not exist, a new directory (and parent directories) will be created.

Usage:

oct-to-tiff /path/to/image.OCT --output /path/to/output/directory

--overwrite

Description: overwrite output file if it exists.

Usage:

oct-to-tiff /path/to/image.OCT --overwrite

--size SIZE

Description: scan size in mm.

Sets the correct voxel size for scan patterns with adjustable length.

Usage:

oct-to-tiff /path/to/image.OCT --size 4.5

--log-level LEVEL

Description: sets the logging level (default: WARNING)

Usage:

oct-to-tiff /path/to/image.OCT --log-level INFO

--version

Description: show program's version number and exit.

Usage:

oct-to-tiff --version

The following options are mutually exclusive:

--angio

Description: convert extracted OCTA data.

Requires --size SIZE.

Usage:

oct-to-tiff /path/to/data --angio --size 4.5

--en-face

Description: convert extracted en face data.

Requires --size SIZE.

Usage:

oct-to-tiff /path/to/data --en-face --size 4.5

--seg-curve

Description: convert extracted segmentation data.

Usage:

oct-to-tiff /path/to/data --seg-curve

--boundaries

Description: extract segmentation lines.

Usage:

oct-to-tiff /path/to/curve.xml --boundaries

Contributing

This project uses Ruff for linting and formatting.

Requirements

Requires Python 3.8 or higher.

oct-to-tiff's People

Contributors

camlloyd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

midnightsquid00

oct-to-tiff's Issues

I have a question, can you help me?

Discussed in #43

Originally posted by JackYanng May 10, 2023
Hello, can this project convert files in e2e data?
I mentioned linking from the oct converter project and seeing that you were involved in responding to some questions in that project, I also encountered the same issue。

Can you provide me with this sample data and help me check it? I would be grateful for the specific issue.

link:marksgraham/OCT-Converter#31
image

My error message is as follows
image

How to export OCTA data as .OCT file

Hi Cameron Lloyd,

Thanks a lot for your work! This repo is really helpful.
But I am not sure how to export the OCTA data using Optovue software, whose name is "ReVue" I guess. In detail, I can export a .OCT file and even there is a string "Angio Retina" in its name, the content after I read it using your package is only OCT images. I do not think this is a problem about your repo, but the file does not contain OCTA data at all.
What about your OCTA data? or do you have any idea about exporting OCTA data?
Looking forward to your reply!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.