Lincoln Craven-Brightman1, Thomas O'Reilly2, Benjamin Menkuec3, Marcus Prier4, Rubén Pellicer-Guridi5,6, Joseba Alonso5,6, Lawrence L. Wald1,7, Maxim Zaitsev8, Jason Stockmann1,7, Thomas Witzel9, Andrew Webb2, and Vlad Negnevitsky10
1A.A. Martinos Center for Biomedical Imaging, Department of Radiology, Massachusetts General Hospital, Charlestown, MA, United States, 2Department of Radiology, Leiden University Medical Center, Leiden, Netherlands, 3University of Applied Sciences and Arts Dortmund, Dortmund, Germany, 4Otto von Guericke Universität Magdeburg, Magdeburg, Germany, 5Universitat Politècnica de València, Valencia, Spain, 6Spanish National Research Council, Valencia, Spain, 7Harvard Medical School, Boston, MA, United States, 8Medizinische Universität Wien, Vienna, Austria, 9Qbio Inc, San Carlos, CA, United States, 10Independent researcher, Zürich, Switzerland
Synopsis
The hardware and software for a low cost programmable MR console has been
developed, characterized and tested in various setups at multiple sites for both
educational and research applications. A new Python-based wrapper allows
easy pulse programming of different sequences and k-space trajectories using
PulSeq, with output data also being processed via Python. The first two- and
three-dimensional in vivo images have also been acquired using this hardware
on a large bore Halbach array system.
Introduction
In this work a newly-formed consortium of international developers1-5 present data which demonstrate that a low-cost, flexible and programmable
MR console that can be used for both educational and clinical research applications.
We show for the first time that an upgraded OCRA (Open-source Console for
Real-time Applications, Fig. 1) system can be interfaced with a low-field setup
previously used to acquire in vivo images of the brain and extremities. The low
cost (under 1,000 USD) allows such a system to be used in teaching laboratories
which may require individual systems per student6, and also can be integrated
into more sophisticated low-field MRI systems in which all other components
(magnet, RF and gradient amplifiers, RF and gradient coils) have been designed
for low cost and sustainability7-9. The original OCRA was introduced
as an inexpensive, accessible way to enable MRI experiments and educational
demonstrations at sites around the world10. While MR images were acquired
on a table-top system, pulse sequences originally had to be hand-coded in a low-level assembly language. This presents a barrier to entry for most MRI engineers
and scientists. In this work, we overcome this obstacle by creating wrapper
software that bridges the gap between OCRA machine code and the open-source
pulse sequence programming environment PulSeq11,12. PulSeq allows users
to easily specify RF and gradient events in a Matlab and Python environment.
We have integrated the software required to run our OCRA package into a single
central repository13, which is easily accessible for new users. We also demonstrate OCRA's compatibility with low field scanners through the first in-vivo image with an OCRA system.Methods
Our version of OCRA runs on the Red Pitaya 122-16, with two RF inputs and
outputs capable of 300kHz to 550MHz signals14. The previous OCRA client
software relied on a hand-coded text file to describe the pulse sequence, which
was uploaded along with the TX, RX and gradient parameters to a C-based
server running on the OCRA console through a custom, binary protocol. With
the new system, a user instead describes their pulse sequence using the PulSeq
MATLAB or Python libraries capable of interfacing with other MRI vendor
platforms, such as Siemens and GE11. Next, the user writes the experiment
logic and data analysis code in Python, including writing a loop for the number
of repetitions, filtering and sanity checks on the acquired data, and plotting
commands. All the information is transferred to the OCRA console via a new
open client-server interface based on key-value pairs encoded using Msgpack.
The console replies with the acquired data and status information. Figure 1
shows the workflow and data pipeline. A fully-featured GUI to complement the
script-based workflow is also planned; the standardized client-server interface
means that new client software or GUIs can be easily created in any programming language.
Test images have been generated with various pulse sequences on different
MR devices using the presented OCRA upgrade. Figure 2 shows the various setups where our OCRA package is in use, including a 0.5 T test setup (10
mm field of view) for teaching, and a 0.05 T setup (27 cm diameter) capable of
in-vivo imaging9.Results
Pulse sequences generated with PulSeq have been interpreted by the OCRA
wrapper developed. Figure 3 shows an example pulse sequence diagram generated using our PulSeq library, with an oscilloscope trace showing the RF pulses
and gradient waveforms played out by the console.
Figure 4 shows 1D, 2D, and 3D image data acquired on two different MRI
scanner setups. Figures 4a and 4b were acquired on the educational tabletop
scanner (FH Dortmund) with 1D and 2D spin echo sequences. Figures 4c and
4d were acquired with the research system (LUMC) using 2D and 3D turbo spin
echo sequences with an echo train length of 2.Discussion
We have developed and validated an upgraded version of OCRA and a PulSeq-to-OCRA wrapper. Figure 4a shows ghosting artifacts due to the B0 inhomogeneity of the desktop system. However, the smooth k-space phase and the
absence of ghosting on Figures 4b-d suggest that the pulse sequence produces
sequence waveforms accurately with stable timing.
Although many different low-cost MR consoles have been proposed over the years6 none have yet achieved the critical mass
of users and developers necessary to take full advantage of advances in digital
technology and open source software. In order to achieve this, our approach
includes making all required electronic circuitry open source15 and designing
a software interface for sequence design and implementation. This is based on
the most commonly used open-source scientific software (Python) and an off-the-shelf ”core” containing an FPGA with multiple digital and analog inputs
and outputs (Red Pitaya).
The OCRA client, server and FPGA firmware are actively being developed,
with support for the OCRA116 DAC and GPA-FHDO17 gradient boards, and
ongoing work to reduce latency and jitter.
We also envision that the flexibility of this approach will allow us to design
sequences with many unique features such as real-time feedback control, as well
as incorporating multiple transmit and receive channels, and additional sensors,
at very low cost.Acknowledgements
AW and TR acknowledge support from Horizon 2020 European Research Grant
FET-OPEN 737180 Histo MRI, Horizon 2020 ERC Advanced NOMA-MRI 670629, Simon Stevin Meester Prize and NWO WOTRO Joint SDG Research
Programme W 07.303.101. JA and RP acknowledge the European Union (737180
Histo MRI, and IDIFEDER/2018/022) and the Spanish Ministry of Science
(PID2019-111436RB-C21). BM acknowledges support from Auto-Intern GmbH
and Wuerth Electronic.References
[1] Open-source Console for Real-time Acquisition
https://zeugmatographix.org/ocra/
[2] LUMC-LowFieldMRI repositories https://github.com/LUMCLowFieldMRI
[3] Tabletop MRI Wiki, 2020. https://tabletop.martinos.org/
[4] Solution Centre for Image Guided Local Therapies, 2020.
https://www.forschungscampus-stimulate.de/en/start/start.html
[5] Laboratory for Electromagnetic Imaging, University of Applied Sciences and
Arts Dortmund. https://github.com/menkueclab
[6] C. Zimmerman Cooley, J.P. Stockmann, T. Witzel, C. LaPierre, A.
Mareyam, F. Jia, and others, ‘Design and Implementation of a Low-Cost,
Tabletop MRI Scanner for Education and Research Prototyping’, Journal of
Magnetic Resonance, 310 (2020), 106625
[7] T. O’Reilly, W.M. Teeuwisse, and A.G. Webb, ‘Three-Dimensional MRI in
a Homogenous 27 Cm Diameter Bore Halbach Array Magnet’, Journal of
Magnetic Resonance, 307 (2019), 106578
[8] B. De Vos, P. Fuchs, T. O’Reilly, A.G. Webb, and R. Remis, ‘Gradient Coil
Design and Realization for a Halbach-Based MRI System’, IEEE Transactions
on Magnetics, 56 (2020)
[9] T. O’Reilly, W.M. Teeuwisse, D. Gans, K. Koolstra, and A.G. Webb, ‘In
Vivo 3D Brain and Extremity MRI at 50 MT Using a Permanent Magnet
Halbach Array’, Magnetic Resonance in Medicine, 2020, mrm.28396
[10] S. Anand, J.P. Stockmann, L.L. Wald, T. Witzel, A low-cost (¡500 USD)
FPGA-based console capable of real-time control, in: Proc. Jt. Annu. Meet.
ISMRM-ESMRM 2018 Paris, p. 0948, 2018
[11] K.J. Layton, S. Kroboth, F. Jia, S. Littin, H. Yu, J. Leupold, J.-F. Nielsen,
T. St¨ocker, and M. Zaitsev, Pulseq: A rapid and hardware-independent
pulse sequence prototyping framework. Magn. Reson. Med., 77;2017:1544-
1552. https://doi.org/10.1002/mrm.26235
[12] PulSeq: Open-source pulse sequences http://pulseq.github.io/
[13] ocra-pack project wiki, 2020. https://github.com/OpenMRI/ocrapack/wiki
[14] Red Pitaya SDRlab 122-16 - STEMlab swiss army knife for
engineers, 2020. https://www.redpitaya.com/Catalog/p52/sdrlab-122-16-
standard-kit?cat=c102
[15] Open Source Magnetic Resonance Imaging, www.opensourceimaging.org
[16] OCRA1 – SPI controlled 4 channel 18bit DAC and RF Attenuator,
2020. https://zeugmatographix.org/ocra/2020/11/27/ocra1-spi-controlled-4-
channel-18bit-dac-and-rf-attenutator/
[17] B. Menkuec, J.P. Stockmann, N. Arango, GPA-FHDO - Gradient Power
Amplifier for low-field MRI, 2020. https://github.com/menkueclab/GPAFHDO