PhoenixMR: A GPU-based MRI simulation framework with runtime-dynamic code execution

Phillip Duncan-Gelder,Darin O'Keeffe,Phil Bones,Steven Marsh
DOI: https://doi.org/10.1002/mp.17273
Abstract:Background: Simulations of physical processes and behavior can provide unique insights and understanding of real-world problems. Magnetic Resonance Imaging (MRI) is an imaging technique with several components of complexity. Several of these components have been characterized and simulated in the past. However, several computational challenges prevent simulations from being simultaneously fast, flexible, and accurate. Purpose: The simulation of MRI experiments is underutilized by medical physicists and researchers using currently available simulators due to reasons including speed, accuracy, and extensibility constraints. This paper introduces an innovative MRI simulation engine and framework that aims to overcome these issues making available realistic and fast MRI simulation. Methods: Using the CUDA C/C++ programing language, an MRI simulation engine (PhoenixMR), incorporating a Turing-complete virtual machine (VM) to simulate abstract spatiotemporal complexities, was developed. This engine solves a set of time-discrete Bloch equations using the symmetric operator splitting technique. An extensible front-end framework package (written in Python) aids the use of PhoenixMR to simplify simulation development. Results: The PhoenixMR library and front-end codes have been developed and tested. A set of example simulations were performed to demonstrate the ease of use and flexibility of simulation components such as geometrical setup, pulse sequence design, phantom design, and so forth. Initial validation of PhoenixMR is performed by comparing its accuracy and performance against a widely used MRI simulator using identical simulation parameters. Validation results show PhoenixMR simulations are three orders of magnitude faster. There is also strong agreement between models. Conclusions: A novel MRI simulation platform called PhoenixMR has been introduced. This research tool is designed to be usable by physicists and engineers interested in performing MRI simulations. Examples are shown demonstrating the accuracy, flexibility, and usability of PhoenixMR in several key areas of MRI simulation.
What problem does this paper attempt to address?