Development of Interpreter Module for Generating Varian VNMRJ Compatible Pulse Sequences using Pulseq Open-Source Toolbox
Courtney Bauer1 and Steven M. Wright1

1Electrical and Computer Engineering, Texas A&M University, College Station, TX, United States


Introduction of a Pulseq interpreter module to enable use of the Pulseq toolbox with Varian-based legacy systems. Targeted as an aid for both educational and research applications, the interpreter module’s development centered around flexibility and ease of use. Preliminary evaluation of the interpreter module has presented promising results when compared to the existing Varian standard sequences. The interpreter module is still in refinement, with plans to introduce new features such as variable names for amplitudes and comparison methods to identify user defined shapes that are already present in the system library.


In 2016, Layton et al. published "Pulseq: A Rapid and Hardware-Independent Pulse Sequence Prototyping Framework", which introduced the Matlab based pulse sequence programming toolbox, Pulseq, for uses targeted towards education and research1. At the start of this project, interpreter modules were available for Siemens, General Electric, and Bruker scanner systems, however they were unavailable for the legacy Varian systems still used in the field of MR research. Texas A&M’s Magnetic Resonance Systems Laboratory (MRSL) employs two Varian Inova scanners that run VNMRJ Version 6.1c. At the MRSL, the legacy Varian scanners are used for both research, as well as educational purposes through courses offered through the Department of Electrical and Computer Engineering. Development of an interpreter module allows for students at the MRSL to develop platform-independent skill sets that they can then take into industry, as well as focus on pulse sequence writing and development as opposed to system specific nuances.


Development of the interpreter module centered around two goals: flexibility and ease of use. As a means to allow the user to focus solely on the pulse sequence writing, the interpreter module was created with the intention of minimizing its interaction with the student. The result of this effort was the interpreter module being a single function that received only two inputs: the Pulseq-generated “.seq” file name, as well as the desired name for the Varian-compatible pulse sequence.

In order to properly structure the sequence, the interpreter module recognizes events active within a given time bin, which Pulseq refers to as blocks. Pulseq bases the duration of the block on the longest duration event contained within the block1. The interpreter module looks at what events are active within a given time block, then passes that information to the proper function to write the output file. Due to system limitations and the need to standardize gradient commands, presently if two or more gradients are active at the same time, they are both set to be the duration of the longest gradient event.

The interpreter module is to be distributed to students with a MRSL–adapted version of the Pulseq toolbox. In addition to the standard Pulseq download, the MRSL’s version includes the MRSL’s Varian interpreter, supporting subfunctions, and supplementary materials such as a user manual, extra functions, and Matlab livescript examples. The student will download this toolbox to their own device to be able to write pulse sequences using Matlab. Once the user has used Pulseq to develop and output the .seq file, our interpreter is used to generate a Varian compatible script. This function recognizes the base sequence using an algorithm that looks at pulse profile repetitions following an acquisition. This algorithm was determined sufficient for the targeted application in the introductory MRI course offered at Texas A&M, however it can be easily modified and adapted to fit the needs of the user.


As a means for evaluating the interpreter’s performance, Pulseq and the interpreter module were used to generate a basic spin echo pulse sequence for comparison against the Varian equivalent “Ssems.c”, which is commonly used in the introductory MRI course as a starting point from which students make modifications to accommodate diffusion, flow, or chemical shift measurements. Key parameters for the pulse sequence included a repetition time of 1000 ms, an echo time of 30 ms, 3mm slice thickness, a RF pulse duration of 2000 microseconds, a phase encoding pulse duration of 2 ms, ramp times of 500 microseconds, 90° RF pulse power of 37 dB, 180° RF pulse power of 43 dB, and a receiver gain of 14 dB.

The pulse sequences shown in Figure 2 are real RF and gradient waveforms from the MRSL’s 33 cm Varian Inova system. These sequences were used to produce the images shown in Figure 3. These images are of a 7.75 cm cylindrical phantom containing two ramps and pin holes, filled with a copper sulfate solution, that is commonly used in the MRI introduction course. The phantom was positioned in the magnet to image a uniform region.

Discussion and Conclusion

Presently, the interpreter module has shown itself to have great potential for applications in the lab. Further developments are being explored, including the ability to support gradient pulses of different durations, introduction of variable names rather than hard coded amplitudes, and comparison of arbitrary shapes against the existing shape library, or producing a new shape file if no match is found.


No acknowledgement found.


1. Layton K, Kroboth S, Jia F, Littin S, Yu H, Leupold J, Nielsen J, Stöcker T and M. Zaitsev, Pulseq: A rapid and hardware-independent pulse sequence prototyping framework. Magnetic Resonance in Medicine. 2016;77(4):1544-1552.


Figure 1: Shown in the graphic is the process of utilizing Pulseq within the laboratory setting. First beginning with the user downloading and installing the MRSL specific Pulseq toolbox, designing and editing the pulse sequence using Pulseq, using the interpreter module to generate a Varian compatible script, then transferring, compiling, and running the script on the Varian system.

Figure 2: Shown are the gradient and RF signals of the interpreter generated spin echo (top) as compared to the Varian’s “Ssems” sequence (bottom), obtained from our monitoring oscilloscope. It should be noted that presently, the half-sine shapes require limited manual modification of the sequence, as the user must input the half-sine shape file names into the Varian compatible script, but that will be resolved with future work.

Figure 3: Shown above are the images acquired using the interpreter generated spin echo (top) as compared to the Varian’s “Ssems” sequence (bottom). Regions of signal (outlined in red) and noise (outlined in blue) were used to measure the SNR of the images for comparison. The average sampled signal values, average sampled noise values, and the SNRs are also presented. The interpreter’s spin echo image, with a SNR of 417, is found to have a comparable value to that of the Varian’s Ssems sequence image, also with an SNR of 417, supporting the interpreter module’s capability.

Proc. Intl. Soc. Mag. Reson. Med. 27 (2019)