An SDRLab 122-16 controlling low-field MRI applications
- Posted by Red Pitaya Team
MRI scanning technology can be considered one of the most important and useful imaging tools in the medical world. It uses pulses in different regimes of the EM spectrum, from MHz to 100s MHz, and gradients in the low kHz range. Both signal types must be combined for to meet the requirements of imaging: the creation of phase-coherent processing magnetization using a resonant transmitter coil and special encoding, with the encoded signals being picked up via Faraday induction by a resonant receiver coil. Furthermore, a high degree of phase coherence between the different pulses is needed, placing strong constraints on time control.
The electronic control system is a key component for MRI scanners, handling sequences of electromagnetic pulses in time-synchronous fashion, as well as DAQ and ADC of MR signals for processing into images. At higher level, it also works as HMI. FPGA are ideal instruments for this task, which is why they can often be found at the core of the MRI control system, and why it is no surprise a Red Pitaya unit was used for this experiment.
Industrial manufacturers of MRI scanners usually implement tailormade setups in their devices, but there are also other, generic and hardware-agnostic concepts for use in a wide range of scanners. The traditional control systems include a lot of proprietary hard- and software, and are not suited for open-source development or overcoming the specific challenges of low-field MRI. OCRA (Open-source Console for Realtime Acquisition) is the first example of an open, flexible and inexpensive system that uses off-the-shelf components, while MaRCoS (MAgnetic Resonance COntrol System, the system presented by Vlad Negnevitsky et al. in the 2022 article “MaRCoS, an open-source electronic control system for low-field MRI”) can be the considered an upgrade, using the same approach as OCRA.
MaRCoS was developed by an open, international community of low-field MRI researchers, aiming at producing a unified, inexpensive high-performance platform, specifically suited for unconventional experiments. It uses easily programmable open-source COTS hardware and has no hard limitations on sequence length or complexity. Furthermore, it is scalable with regard to the development of future multi-channel versions.
The core of the MaRCoS consists of the Red Pitaya SDRLab 122-16 unit. Its two analog inputs are used for digitizing, while the outputs generate the RF transmit waveforms with a bandwidth of around 50 MHz, making it suitable for proton MRI at field strengths up to 1.17 Tesla. Two FPGAs are working in parallel in this setup, also controlling a four-channel gradient board. In turn, the MaRCoS hardware is controlled from a PC via an Ethernet connection (the setup architecture is shown in Fig. 1).
Figure 1: MaRCoS system architecture
Since MaRCoS does not use raster clocks or impose timing constraints on events, the FPGA I/Os accept sequences of arbitrary length. The architecture allows changes in any internal or external parameter to be introduced at any time with cycle accuracy, including modifications in RF (de-)modulator frequencies, RF envelope amplitudes and phases, gradient channel voltages, receiver sampling rates and values for all parameters, converted into hardware instructions by the Python library. This results in a low-cost system, capable of handling rapid bursts of events, creating arbitrary waveforms, treating RF and gradients in a uniform way, independently controlling the frequency, phase and amplitude of the different TX and RX channels in each TR, as well as meeting other specifications.
Figure 2: MaRCoS hardware components: a) SDRLab with GPA-FHDO adapter PCB; b) GPA-FHDO board; c) rendering OCRA board
The central element in the setup is the SDRLab unit (visible in Fig. 2, along with the other main MaRCoS components), on which MaRCoS runs Linux and a custom C++ server to control sequencing and digital signal processing, as well as digital and analog I/O. The Linux OS also handles networking functions, and provides other standard services such as SSH. The dual-channel 16-bit ADC and 14-bit DAC provide two independent MRI channels. The 122.88 MHz crystal oscillator works as a clock, providing an analog baseband bandwidth around 50 MHz. The digital communication of the Zynq SoC also controls the gradient board and external devices, such as TR switches.
The MaRCoS embedded server has five main roles: 1) receive sequences from the client PC; 2) high-level control of the system; 3) provide a steady supply stream of instructions to the FPGA; 4) read the FPGA receive buffer and stream raw data into large arrays in the system memory; and 5) send these arrays back to the client PC after finishing the sequence, which can reach sizes of hundreds of MBs. The FPGA firmware executes transmit, gradient, digital I/O and control instructions, sent by the PC, while simultaneously acquiring, converting, filtering and storing data in the receive buffers.
The electronic performance and stability of MaRCoS must be solid enough to minimize noise levels, amplitude and voltage fluctuations in order to provide high-quality reconstructed images and prevent artefacts/ghosting. The characteristics of the SDRLab specifically contribute to this, thanks to its spurious-free dynamic range, especially on the ADC side, which is clocked directly by its internal crystal oscillator. The phase and magnitude of the control pulses, as well as their timing, are sufficiently stable for demanding MRI applications.
Figure 3: MaRCoS GUI main window
A GUI was designed and developed to operate the MaRCoS, using Python for fast application development and execution, allowing graphical or hand-coded sequence configuration, and the main GUI window is shown in Fig. 3. A number of sequences have already been developed and introduced into the GUI repository, including 3D turbo spin echo, 3D gradient echo, and 2D HASTE, while other sequences that still need to be developed are balanced steady state free precession, echo planar imaging or zero echo time, as well as new sampling trajectories beyond the Cartesian ones.
Specifically designed medical systems are generally extremely bulky and expensive. Nevertheless, a mixture of knowledge and creativity can lead to new opportunities for users with smaller budgets. This approach has allowed the creators of MaRCoS to see beyond the initial use of the SDRLab, namely Software-Defined Radio, and turn its versatility to their advantage when it comes to high-resolution DAQ and precise time management.