Department of Bioengineering, Imperial College London,London,SW7 2AZ,United Kingdom.
Department of Bioengineering, Imperial College London,London,SW7 2AZ,United Kingdom.
Comput Methods Programs Biomed. 2022 Jun;221:106855. doi: 10.1016/j.cmpb.2022.106855. Epub 2022 May 4.
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.
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.
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.
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.
全波反演等先进的超声计算机层析成像技术在数学上比传统的超声成像方法复杂得多,计算量也大几个数量级。这种计算和算法的复杂性,以及该领域缺乏开源库,是这些技术无法广泛应用的障碍,阻碍了研究进展,也阻碍了可重复性。因此,我们开发了 Stride,这是一个用于解决大规模超声层析成像问题的开源 Python 库。
一方面,Stride 为医疗超声层析成像中遇到的优化问题类型提供了高级接口和工具。另一方面,这些高级抽象与高性能波动方程求解器以及可扩展的并行化例程无缝集成。波动方程求解器是使用专门的领域特定语言 Devito 自动生成的,并行化例程是通过自定义基于 actor 的库 Mosaic 提供的。
我们通过(1)与均匀介质的解析解进行比较,以及(2)与应用于高对比度复杂颅骨切片的最先进建模软件进行比较,展示了我们的波动方程求解器所达到的建模精度。此外,我们通过一系列示例展示了 Stride 如何处理 2D 和 3D 中的真实数值和实验层析成像问题,以及它如何能够从本地多处理环境稳健地扩展到多节点高性能集群。
Stride 使研究人员能够快速直观地开发新的成像算法,并探索新的物理现象,而不会牺牲性能和可扩展性。这将加速该领域的科学进步,并显著简化临床转化。