Byline: Jon-Fredrik Nielsen, Douglas C. Noll Keywords: pulse sequence programming; pulse sequence prototyping; platform-independent; open source; open MRI Purpose To introduce a framework for rapid prototyping of MR pulse sequences. Methods We propose a simple file format, called 'TOPPE', for specifying all details of an MR imaging experiment, such as gradient and radiofrequency waveforms and the complete scan loop. In addition, we provide a TOPPE file 'interpreter' for GE scanners, which is a binary executable that loads TOPPE files and executes the sequence on the scanner. We also provide MATLAB scripts for reading and writing TOPPE files and previewing the sequence prior to hardware execution. With this setup, the task of the pulse sequence programmer is reduced to creating TOPPE files, eliminating the need for hardware-specific programming. No sequence-specific compilation is necessary; the interpreter only needs to be compiled once (for every scanner software upgrade). We demonstrate TOPPE in three different applications: k-space mapping, non-Cartesian PRESTO whole-brain dynamic imaging, and myelin mapping in the brain using inhomogeneous magnetization transfer. Results We successfully implemented and executed the three example sequences. By simply changing the various TOPPE sequence files, a single binary executable (interpreter) was used to execute several different sequences. Conclusion The TOPPE file format is a complete specification of an MR imaging experiment, based on arbitrary sequences of a (typically small) number of unique modules. Along with the GE interpreter, TOPPE comprises a modular and flexible platform for rapid prototyping of new pulse sequences. Magn Reson Med 79:3128-3134, 2018. [c] 2017 International Society for Magnetic Resonance in Medicine. Supporting information: Additional Supporting Information may be found in the online version of this article Additional Supporting Information may be found in the online version of this article. CAPTION(S): Fig. S1. Pulse sequence diagram for the k-space trajectory measurements shown in Figure 3. Fig. S2. Example of a TOPPE sequence with multiple (64) different gy and gz waveforms associated with one .mod file. Only two of the waveforms are shown. All 64 waveforms are loaded into scanner memory during sequence prescription. During sequence execution, the particular waveform to be played out is selected on-the-fly according to the corresponding entry in scanloop.txt. In this example, each waveform is of duration 40 ms. We successfully ran this sequence and switched the waveforms during sequence execution (not shown), according to the instructions in scanloop.txt. With the possibility of up to 20 different .mod files, each containing multiple waveforms, we believe TOPPE will be sufficiently flexible for most applications. However, we have observed that there appears to be a limit on total waveform memory allowed by our GE scanner: for example, the multi-waveform .mod file shown here appears to nearly reach the total memory limit. Fig. S3. Example of a relatively complex pulse sequence that is not easily implemented using traditional programming techniques: Arterial Spin Labeling with stack-of-spirals readout. Following a (velocity-selective) spin tagging pulse and a transit delay of a1/41.3 sec, a train of alternating RF excitation and data readout modules are played out (total duration a1/40.7 sec). kz (partition) encode ordering is center-out (not shown). The flip angle is increased to maintain constant signal following each excitation. For a given readout repetition interval and assuming tissue T1 of gray matter at 3T, we obtained the optimal flip angle schedule using the Matlab function fmincon. Implementing such a sequence using traditional programming techniques would be relatively laborious, and would in any case likely require the ASL tagging pulse, flip angle schedule, and perhaps the spiral readouts to be loaded from external files. Fig. S4. Another example of a relatively complex pulse sequence that is not easily implemented using traditional programming techniques: A set of 12 triangular readout gradients used to measure gradient impulse response function, as implemented in (15). Although the waveforms differ only by their time to peak (ranging from 50 to 160 I1/4s in 10 I1/4s increments), there is no direct way to encode these waveforms programmatically during run-time. In TOPPE, one can either associate each waveform with its own .mod file, or load all 12 waveforms into a single module (after zero-padding to ensure equal waveform duration).