Jacob Samuel Blum1, Kainen Utt1, Donsub Rim2, and Sheng-Kwei Song1
1Radiology, Washington University in St. Louis, Saint Louis, MO, United States, 2Mathematics and Statistics, Washington University in St. Louis, Saint Louis, MO, United States
Synopsis
Keywords: Simulation/Validation, Simulations, Monte Carlo Simulation, Massively Parallel Simulation
Motivation: The software encompassed by this abstract, which we call simDRIFT, fulfills a presently unmet need by allowing for mesh-free Monte Carlo simulations of DWI that unify researchers' needs for computational performance and biophysical realism with easy-to-use and configurable open-source software.
Goal(s): simDRIFT aims to provides for rapid and flexible Monte-Carlo simulations of Pulsed Gradient Spin Echo (PGSE) Diffusion-Weighted Magnetic Resonance Imaging (DWI) experiments.
Approach: We compared the performance of simDRIFT against other open-source DWI simulators on identical voxel geometries.
Results: Our results show that simDRIFT achieves orders of magnitude improved performance relative to other simulators, especially for large resident spin ensemble sizes.
Impact: The performance gains achieved by simDRIFT support its aim to provide a customizable tool for the rapid prototyping of diffusion models, ground-truth model validation, and in silico phantom production.
What is simDRIFT: Scope and Purpose
This open-source software package,
which we call simDRIFT, enables rapid and configurable Monte-Carlo (MC) forward
simulations of diffusion-weighted magnetic resonance imaging (DWI) experiments,
which we anticipate will be useful for DWI signal processing model development
and validation. The primary focus of simDRIFT is forward simulation of the molecular
self-diffusion processes of individual spins within a larger ensemble populating
a complex, biophysically simulated tissue system. To encompass a wide variety
of tissue configurations, simDRIFT provides support for multiple oriented fiber
bundles (with user-defined radii, intrinsic diffusivities and densities) and
cell populations (with user defined radii) [Figure 1].
simDRIFT was designed to leverage
Numba’s CUDA API to allow for massively parallel computation; however, via its
simple and well documented command line interface may be easily used by
researchers with varying degrees of training in scientific and high-performance
computing in the context of DWI data.
simDRIFT fulfills a
presently unmet need by allowing for MC simulations of forward DWI data that
unifies researchers' needs for fast computational performance and biophysical
realism with an easy-to-use and configurable open-source software. We hope that simDRIFT’s customizability, high computational
performance, and massively parallel design can facilitate improved DWI signal
processing model development pipelines and thorough inter-model comparisons,
among other potential applications. Orders of Magnitude Improvement in Computational Performance with simDRIFT
simDRIFT’s superior computational performance represents an important
advantage relative to other available open-source software. Comparisons between
simDRIFT and Disimpy, a mesh-based, CUDA-enabled DWI forward simulator known to
be faster than CAMINO, on identical image voxel geometries featuring a 5-um radius
cell, reveals orders of magnitude improved performance, particularly for large
resident spin ensemble sizes [Figure 2]. Therefore, simDRIFT may
be especially useful in a problem regime where the computational cost of
existing software may be cumbersome or even prohibitive. simDRIFT can
quickly perform large-scale simulations, therefore benefiting from favorable
convergence properties with respect to the diffusion weighted signal. In this
context, using just desktop- or even laptop-level GPU hardware, simDRIFT users
can quickly and easily generate large amounts of synthetic DWI data from a wide
variety of voxel geometries.Using simDRIFT for Model Validation: Methods
simDRIFT has demonstrated usefulness for evaluating DWI models against signals with known ground-truth microstructure. In this section we will use synthetic data generated by simDRIFT to test the performance of Neurite Orientation and Dispersion Density Imaging (NODDI) on signals induced by simulated image voxels of various degrees of fiber density, fiber crossing angles, and cellularity. Using simDRIFT, we simulated DWI data induced by image voxels populated by two equally dense, oriented fiber bundles and a collection of aggregating cells with total densities between 0-.75 and 0-0.25 respectively. Each simulation was performed using 1.0 x 106 uniformly distributed water molecules to undergo a random walk within a 75 µm isotropic image voxel. Free water diffusivity was set to 3.0 µm2 / ms, and intra-fiber axial diffusivity was set to 2.0 µm2 / ms at 30 oC, and fiber crossing angles were set to be (0, 30, 60, and 90) degrees. The time step for the random walk was set 1.0 x 10-3 ms, and the diffusion time (Δ) to 10 ms. Fiber and cell densities were iterated in 0.05 increments, with the minimum fiber density being .05 and the minimum cell density being 0.0. In total, 300 simulations were performed on a Windows 10 desktop computer equipped with an Nvidia RTX 3090 Graphics Processing Unit (GPU). Results
NODDI analysis of the data from
the 300 simulations was performed [Figure 3], demonstrating how NODDI’s
microstructural parameter estimates may be influenced by cellularity, fiber
density, and fiber crossing angle. This example demonstrates how simDRIFT may
be integrated into DWI model validation frameworks. Discussion
In this abstract, we have
demonstrated how simDRIFT may be used as a tool for researchers to rapidly
prototype DWI signal processing models and evaluate those models against synthetic
data induced by biophysically accurate tissue models with known ground truth
tissue microstructure. The simDRIFT source code is well documented,
approachable, and hosted on GitHub: https://github.com/jacobblum/simDRIFT. It is our hope that researchers will use, contribute, and
give feedback about our software so that it may continually evolve and improve. Acknowledgements
This work was funded in part via support from NIH NINDS R01 NS11691 and R01 NS047592. The authors would like to acknowledge the early contributions of Chunyu Song and Anthony Wu. We are also immensely grateful for the supportive and clarifying discussions with Professor Sheng-Kwei Song, whose insight helped clarify this project's trajectory.References
Behrens, T. E. J., Johansen-Berg, H., Woolrich, M. W., Smith, S. M., Wheeler-Kingshott, C. A. M., Boulby, P. A., Barker, G. J., Sillery, E. L., Sheehan, K., Ciccarelli, O., Thompson, A. J., Brady, J. M., & Matthews, P. M. (2003). Non-invasive mapping of connections between human thalamus and cortex using diffusion imaging. Nature Neuroscience, 6(7), 750–757. https://doi.org/10.1038/nn1075
Blum J, Utt KL. Simulated Diffusion in Realistic Imaging Features of Tissue (Sim-DRIFT). Journal of Open Source Software, 8 (98), 5621 (2023), doi: 10.21105/joss.05621.
Chiang, C.-W., Wang, Y., Sun, P., Lin, T.-H., Trinkaus, K., Cross, A. H., & Song, S.-K. (2014). Quantifying white matter tract diffusion parameters in the presence of increased extra-fiber cellularity and vasogenic edema. NeuroImage, 101, 310–319. https://doi.org/ 10.1016/j.neuroimage.2014.06.064
Ianuş, A., Drobnjak, I., & Alexander, D. C. (2016). Model-based estimation of microscopic anisotropy using diffusion MRI: A simulation study. NMR in Biomedicine, 29(5), 672–685. https://doi.org/10.1002/nbm.3496
Kerkelä, L., Nery, F., Hall, M., & Clark, C. (2020). Disimpy: A massively parallel Monte Carlo simulator for generating diffusion-weighted MRI data in Python. Journal of Open Source Software, 5(52), 2527. https://doi.org/10.21105/joss.02527
Lam, S. K., Pitrou, A., & Seibert, S. (2015). Numba: A LLVM-based Python JIT compiler. Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, 1–6.
Novikov, D. S., Kiselev, V. G., & Jespersen, S. N. (2018). On modeling. Magnetic Resonance in Medicine, 79(6), 3172–3193. https://doi.org/10.1002/mrm.27101
Panagiotaki, E., Hall, M. G., Zhang, H., Siow, B., Lythgoe, M. F., & Alexander, D. C. (2010). High-fidelity meshes from tissue samples for diffusion MRI simulations. In Medical image computing and computer-assisted intervention – MICCAI 2010 (pp. 404–411). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-15745-5_50
Rafael-Patino, J., Romascano, D., Ramirez-Manzanares, A., Canales-Rodrıguez, E. J., Girard, ́ G., & Thiran, J.-P. (2020). Robust Monte-Carlo simulations in diffusion-MRI: Effect of the substrate complexity and parameter choice on the reproducibility of results. Frontiers in Neuroinformatics, 14. https://doi.org/10.3389/fninf.2020.00008
VanRossum, G., & Drake, F. L. (2010). Python language reference manual. Python software foundation Amsterdam, Netherlands.
Ye, Z., Gary, S. E., Sun, P., Mustafi, S. M., Glenn, G. R., Yeh, F.-C., Merisaari, H., Song, C., Yang, R., Huang, G.-S., Kao, H.-W., Lin, C.-Y., Wu, Y.-C., Jensen, J. H., & Song, S.-K. (2020). The impact of edema and fiber crossing on diffusion MRI metrics assessed in an ex vivo nerve phantom: Multi-tensor model vs. diffusion orientation distribution function. NMR in Biomedicine, 34(1). https://doi.org/10.1002/nbm.4414
Yeh, C.-H., Schmitt, B., Bihan, D. L., Li-Schlittgen, J.-R., Lin, C.-P., & Poupon, C. (2013). Diffusion microscopist simulator: A general Monte Carlo simulation system for diffusion magnetic resonance imaging. PLoS ONE, 8(10), e76626. https://doi.org/10.1371/journal.pone.0076626