Speaker
Description
Open-Source software such as pypulseq and BART have immensely improved MRI sequence design and image reconstruction. Nevertheless, working with a clinical MRI scanner still poses challenges. We present solutions for bringing open source sequences and image reconstruction to the scanner. An MRI sequence describes the sequence of events that is played out by the scanner hardware during an MRI exam. This is generated by a software named the "sequence program". It implements a function mapping adjustable input parameters and hardware constraints to output events. The sequence program can be run ahead of scanning, but adaptation to specific patients/volunteers often requires running the sequence program on the scanner. Applications such as interactive MRI additionally require just-in-time generation of sequence events. Images can then be reconstructed from the measured data, by means of a reconstruction program. It can be run offline in a research setting, but a rapid and thus online reconstruction is often beneficial/mandatory. We have created a sequence program in BART that can run on the scanner by compiling BART to a shared library which exposes several functions, mainly: (de-)initialization, parameter updates, and calculation of sequence events. Another program, referred to as interpreter, translates BART and vendor API calls. Interactive updates are furthermore enabled using a non-blocking ring-buffer, keeping the just-in-time property. Real-time image reconstruction on the scanner is realized based on a protocol for streaming multidimensional arrays, which is complemented by an 'adapter' program that harnesses the vendor API, extracting and inserting raw-data / reconstructed images.