Vortex: An open-source library for building real-time optical coherence tomography engines
University Of Michigan At Ann Arbor, Ann Arbor MI
Investigators
Abstract
PROJECT SUMMARY This proposal seeks to support the Vortex open-source project which meets a progress-limiting need for software in optical coherence tomography (OCT) research. OCT is a laser-based imaging technique for real-time in vivo volumetric microscopy that has transformed the diagnosis and management of eye disease. Modern OCT instruments are complex mechatronic systems that match carefully designed hardware with application-speciï¬c software to achieve real-time display of high-quality images. Lack of appropriate software hampers scientiï¬c efforts as novel OCT hardware requires similarly novel software, although the latter is infrequently the research focus or subject of publication. We launched the Vortex open-source project to provide a collection of well-designed and interoperable C++ components which the user can assemble into application-speciï¬c OCT software in Python or C++. Since development began in 2020, Vortex-powered software has produced multiple peer-reviewed publications in academic research and accelerated the technology development process in multiple startup companies. This proposal now seeks to continue Vortexâs maturation as an open-source library through the following speciï¬c aims. (1) Restructure Vortexâs memory management scheme to improve ï¬exibility and functionality. By implementing standards-compliant buffer manipulation routines following a test-driven development strategy, we will simplify hardware support and lift data type restrictions for Python bindings. (2) Update Vortexâs Python and logging interfaces to improve interoperability. In migrating Python bindings from pybind11 to the newer nanobind, we will standardize memory sharing, eliminate dependencies, streamline integration of logging, and increase performance. (3) Complete Vortexâs documentation and automated testing suite to improve usability. Through full documentation of Vortexâs Python bindings and high code coverage for testing, we will provide an accessible library that is robust and reliable. Work on each aim will occur in Vortexâs Gitlab public repository, where we will use issues, pull requests, and milestones to manage the software development process, in accordance with software industry best practices. We will disseminate these updates to Vortex through public releases on Gitlab, publication of manuscripts, and presentations/workshops at conferences. Completing these aims will yield substantial improvements in Vortex from a software engineering standpoint and produce a library that is both veriï¬ably correct and well-documented. We believe these improvements will position Vortex as a turnkey tool on which OCT researchers and developers can rely as they advance the state-of-the-art.
View original record on NIH RePORTER →