8000 GitHub - spectralcode/OCTproZ: OCTproZ is an open source software for optical coherence tomography processing and visualization.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

spectralcode/OCTproZ

Repository files navigation

OCTproZ

OCTproZ is an open source software for optical coherence tomography (OCT) processing and visualization. A plug-in system enables the integration of custom OCT systems and software modules.

The output windows in the screenshot above show OCT images of a strawberry.

Video

Live OCT visualization with OCTproZ: Laser cutting a spring onion

Screenshots

B-scan and volume rendering with LUT B-scan, en face view and 1D plot

Features

  • Real-time OCT processing and visualization with single GPU
    The full OCT processing pipeline is implemented in CUDA and visualization is performed with OpenGL. Depending on the GPU used, OCTproZ can be used for MHz-OCT.

  • Plug-in system
    Plug-ins enable the integration of custom OCT systems and software modules. There are two kinds of plug-ins for OCTproZ: Acquisition Systems and Extensions. An Acquisition System controls the OCT hardware and provides raw data to OCTproZ. Extensions have access to processed OCT data and can be used to extend the functionality of OCTproZ.

  • Cross platform
    OCTproZ runs on Windows and Linux.
    It has been successfully tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and JetPack 4.4.1 (Jetson Nano 4 GB)

Processing Pipeline

A detailed overview of the OCTproZ processing pipeline can be found here.

Performance

Performance highly depends on the used computer hardware and the size of the of the OCT data. A test data set with 12 bit per sample, 1024 samples per raw A-scan, 512 A-scans per B-scan and 256 B-scans per volume was used to measure the performance on different systems:

GPU A-scan rate without live 3D view A-scan rate with live 3D view
Jetson Nano ~181 kHz (~1.4 volumes/s) ~94 kHz (~0.7 volumes/s)
GeForce GTX 1080 ~3.40 MHz (~26 volumes/s) ~2.93 MHz (~22 volumes/s)

You can find more information here.

Download and Installation

To run OCTproZ a cuda-compatible graphics card with current drivers is required.

A precompiled package for Windows (64bit) can be downloaded from: GitHub release section. Extract the zip archive and execute OCTproZ, installation is not necessary.

If you need OCTproZ for a different operating system, the easiest way is to compile it yourself. See the compiling section.

Plugins

An overview of currently available plugins can be found here.

Test Dataset

A test dataset that can be used with the Virtual OCT System can be downloaded from here.

User Manual

An online version of the user manual can be found here.

Developer Guide

The plugin developer guide can be found here.

Compiling

Compiling instructions can be found here.

Contributing

Contribution guidelines can be found here.

Long-term goals

Vision and long-term goals can be found here.

How to cite

DOI

BibTeX:

@article{Zabic2020,
  doi = {10.21105/joss.02580},
  url = {https://doi.org/10.21105/joss.02580},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {54},
  pages = {2580},
  author = {Miroslav Zabic and Ben Matthias and Alexander Heisterkamp and Tammo Ripken},
  title = {Open Source Optical Coherence Tomography Software},
  journal = {Journal of Open Source Software}
}

Other open source OCT signal processing projects

Here is a list of other projects you should check out:

Name Info
ABC-OCT C++
fdoct-gpu-code Cuda
myOCT Matlab
OCTSharp Cuda, C#
OCTview C++, Python
oct-cbort Python
octlab C/C++, LabView
PyOCT Python
vortex Cuda, C++, with Python bindings

License

OCTproZ is licensed under GPLv3.
The DevKit is licensed under MIT license.

About

OCTproZ is an open source software for optical coherence tomography processing and visualization.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0