Stride: A flexible software platform for high-performance ultrasound computed tomography. (June 2022) - Cueto, Carlos; Bates, Oscar; Strong, George; Cudeiro, Javier; Luporini, Fabio; Calderón Agudo, Òscar; Gorman, Gerard; Guasch, Lluis; Tang, Meng-Xing
Highlights: The lack of open codes for ultrasound computed tomography has hindered adoption and reproducibility. We present Stride, an open-source Python library for modelling and solving large-scale ultrasound tomography problems. Stride provides expressive and flexible interfaces for solving physics-constrained optimisation problems. Through ntegration with domain-specific languages, Stride provides high-performance wave-equation solvers in CPUs and GPUs. Out-of-the-box scaling from a local workstation to a multi-node HPC cluster is made possible through a custom actor-based parallelisation library. Abstract: Background and objective: Advanced ultrasound computed tomography techniques like full-waveform inversion are mathematically complex and orders of magnitude more computationally expensive than conventional ultrasound imaging methods. This computational and algorithmic complexity, and a lack of open-source libraries in this field, represent a barrier preventing the generalised adoption of these techniques, slowing the pace of research, and hindering reproducibility. Consequently, we have developed Stride, an open-source Python library for the solution of large-scale ultrasound tomography problems. Methods: On one hand, Stride provides high-level interfaces and tools for expressing the types of optimisation problems encountered in medical ultrasound tomography. On the other, these high-level abstractions seamlessly integrate with high-performance wave-equation solvers and with scalable parallelisation routines. The wave-equation solvers are generated automatically using Devito, a domain-specific language, and the parallelisation routines are provided through the custom actor-based library Mosaic. Results: We demonstrate the modelling accuracy achieved by our wave-equation solvers through a comparison (1) with analytical solutions for a homogeneous medium, and (2) with state-of-the-art modelling software applied to a high-contrast, complex skull section. Additionally, we show through a series of examples how Stride can handle realistic numerical and experimental tomographic problems, in 2D and 3D, and how it can scale robustly from a local multi-processing environment to a multi-node high-performance cluster. Conclusions: Stride enables researchers to rapidly and intuitively develop new imaging algorithms and to explore novel physics without sacrificing performance and scalability. This will lead to faster scientific progress in this field and will significantly ease clinical translation.