Published June 17, 2026 | Version v1.0.0-MRM-revision

Workflow Package for the "An open-source, reproducible MRI data acquisition and reconstruction workflow using Pulseq: multi-site and cross-vendor validation" Manuscript

Description

1. Background

Reproducibility is fundamental for validating research findings and building robust evidence to advance scientific knowledge. However, Reproducibility in MRI remains challenged by inconsistencies across data acquisition, formatting, sharing, and reconstruction. Competitive, regulatory, and intellectual property constraints have fostered closed, vendor-specific ecosystems over decades, introducing variability in acquisition protocols and reconstruction algorithms across systems. Proprietary data formats tightly coupled to specific scanner hardware and software further restrict data sharing and interpretation, while the reluctance to adhere to standardized formats continues to hinder cross-platform reproducibility and analysis.
To address these challenges, we integrated Pulseq for data acquisition with Gadgetron for image reconstruction under the common ISMRMRD (also known as MRD)data standard, establishing a fully reproducible, end-to-end MRI workflow from sequence design to final image reconstruction. We demonstrate the feasibility of this workflow for harmonizing data acquisition and reconstruction across four major vendors: Siemens, General Electric (GE), Philips, and the United Imaging (UIH).

The manuscript titled "An open-source, reproducible MRI data acquisition and reconstruction workflow using Pulseq: multi-site and cross-vendor validation" was submitted to the Magnetic Resonance in Medicine (MRM) journal.

This workflow package, proposed by the manuscript, hosts materials for

  • Tutorials for data acquisition,
  • tutorials for MRD conversion (with example raw data and DICOM images), and
  • tutorials for image reconstruction.

The detailed information is listed below.

2. Tutorials for Data Acquisition

This directory contains materials and tutorials for data acquisition on Siemens, GEPhilips, and UIH platforms with

  • vendor-provided and
  • Pulseq-based MPRAGE and EPI sequences.

2.1 Documents

  • writeMPRAGE_grappa_WE.m and writeEpiRS_label.m: MATLAB scripts for generating the vendor-independent Pulseq-based MPRAGE and EPI .seq files.
  • siemens_sequence_protocol.pdf: Sequence protocols for vendor-based MPRAGE and EPI product sequences on Siemens platforms.
  • data_acquisition_reconstruction_instruction_Siemens.pdf: instruction for Pulseq-based data acquisition and ICE online reconstruction.
  • data_acquisition_reconstruction_instruction_GE_Philips_UIH.pdf: instruction for Pulseq-based data acquisition on a non-Siemens platform, and the key sequence parameters for product MPRAGE and EPI sequence configuration.

2.2 Prerequisites

2.2.1 Programming tools

In this project, the Pulseq-based sequences are designed using the open-source Pulseq MATLAB toolbox. Therefore, you need to install the MATLAB software on your computer and be familiar with basic MATLAB programming. Alternatively, you can program your Pulseq-based sequences using the open-source PyPulseq Python toolbox with the Python software installed on your computer. It is also possible to program sequences using PyPulseq on Google CoLab without installing programming tools on your local computer (see more examples from the MR physics with Pulseq 2024 DACH-ISMRM course).

2.2.2 Open-source, vendor-independent Pulseq toolbox

  • For MATLAB users, please download the latest Pulseq software from the Pulseq GitHub website and install the Pulseq software in MATLAB by adding its directory and subdirectories to MATLAB's path. For the MPRAGE script, the makeAdiabaticPulse.m function requires Python and the SigPy package. Please ensure that Python and SigPy are properly installed on your local computer. The instructions for installing SigPy are given here.
  • For Python users, please install PyPulseq for your sequence programming.
  • Alternatively, for Python programming via Jupyter Notebooks within Google Colab, a Google account and an internet connection are required. No additional software is required to be installed on your local computer.

2.2.3 Closed-source, vendor-dependent Puseq interpreter

The closed-source, vendor-dependent Pulseq interpreter should be installed on a specific MR platform to execute the Pulseq sequence file (.seq file) generated by MATLAB, PyPulseq, or other tools. The approaches to obtaining the Pulseq interpreter for the four major vendors are listed below:

  • Siemens: The interpreter can be obtained upon a Siemens C2P agreement. For more information, please send an inquiry to pulseq.mr-at-uniklinik-freiburg.de.
  • GE: The interpreter (EPIC source code) can be obtained upon request. For more information, please visit the GE TOPPE website or contact the developer, Dr. Jon-Fredrik Nielsen, via Email: jfnielse-at-umich.edu.
  • Philips: For access to the Philips interpreter, please visit the openMR.nl website or contact the developer Thomas Roos at t.h.m.roos-2-at-umcutrecht.nl.
  • UIH: For more information on the UIH interpreter, please visit the Pulseq on UIH MR website or contact the UIH developer team at umr-adept-at-united-imaging.com.

2.3 Data acquisition with MPRAGE

We implemented a 3D MRPAGE sequence using Pulseq in MATLAB. The MPRAGE sequence diagram is featured with (1) a two-fold GRAPPA acceleration, (2) a noise scan for noise prewhitening, and (3) a water-only RF excitation for fat suppression. The sequence diagram and the acceleration pattern are shown in Figure 1.

2.3.1 Execution on Siemens platforms

For Siemens users, please install the latest Siemens Pulseq interpreter on your Siemens scanners. Please run the writeMPRAGE_grappa_WE.m script with the option vendor='siemens' ; to generate the mprage_challenge.seq Pulseq file. Please place the mprage_challenge.seq to the subfolder %CustomerSeq%\pulseq on your scanner. For more information about sequence installation and execution, please refer to the Puseq C2P manual provided with the interpreter source code upon C2P agreement. For data acquisition, please refer to the instruction data_acquisition_reconstruction_instruction_Siemens.pdf.
For product sequence configuration, please refer to the document siemens_sequence_protocol.pdf.

2.3.2 Execution on non-Siemens platforms

For users from other vendors (GE, Philips, and UIH), regarding installing the vendor-specific Pulseq interpreter and executing Pulseq .seq files, please refer to the websites or contact the developers listed in 2.2.3, Closed-source, vendor-dependent Pulseq interpreter. Please run the writeMPRAGE_grappa_WE.m script with the corresponding vendor option (e.g., vendor='ge' ;). For data acquisition, please refer to the instruction data_acquisition_reconstruction_instruction_GE_Philips_UIH.pdf.
For product sequence configuration with other vendors, please refer to data_acquisition_reconstruction_instruction_GE_Philips_UIH.pdf for information on key sequence parameters.

2.4 Data acquisition with EPI

We developed a 2D multi-slice EPI sequence with fat saturation, ramp sampling, and a three-echo navigator using Pulseq. The EPI sequence diagram is shown in Figure 2.

2.4.1 Execution on Siemens platforms

For Siemens users, ensure the latest Siemens Pulseq interpreter is installed on your Siemens scanners. Please run the writeEpiRS_label.m script with the option vendor='siemens' ; to generate the epi_challenge.seq Pulseq file. Please place the epi_challenge.seq to the subfolder %CustomerSeq%\pulseq on your scanner. For data acquisition, please refer to the instruction data_acquisition_reconstruction_instruction_Siemens.pdf.
For product sequence configuration, please refer to the document siemens_sequence_protocol.pdf.

2.4.2 Execution on non-Siemens platforms

For users from other vendors (GE, Philips, and UIH), please run the writeEpiRS_label.m script with the corresponding vendor option (e.g., vendor='ge' ;). For data acquisition, please refer to the instruction data_acquisition_reconstruction_instruction_GE_Philips_UIH.pdf.
For product sequence configuration with other vendors, please refer to data_acquisition_reconstruction_instruction_GE_Philips_UIH.pdf for information on key sequence parameters.

3. Tutorials for Pulseq to MRD Conversion

This directory contains materials and tutorials for standardizing data format using Pulseq with Pulseq-based MPRAGE and EPI sequences across the four vendors (Siemens, GE, Philips, and UIH).

3.1 Documents

  • meas_MID00203_FID24417_pulseq_we_mprage_sag_p2_1mm_iso.dat: MPRAGE raw data acquired from a phantom on the Siemens Cima.X 3T scanner at Freiburg, Germany.
  • meas_MID00207_FID24421_pulseq_epirs_iso_2_8mm_slc48_tran.dat: EPI raw data acquired from a phantom on the Siemens Cima.X 3T scanner at Freiburg, Germany.
  • pulseq2mrd_mprage.m: MATLAB script to convert the Siemens MPRAGE raw data (meas_MID00203_FID24417_pulseq_we_mprage_sag_p2_1mm_iso.dat) to MRD data (pulseq_mprage_data.h5).
  • pulseq2mrd_epi.m: MATLAB script to convert the Siemens EPI raw data (meas_MID00207_FID24421_pulseq_epirs_iso_2_8mm_slc48_tran.dat) to ISMRMRD data (pulseq_epi_data.h5).
  • mprage_challenge.seq and epi_challenge.seq.seq files for sequence execution on Siemens platforms. It provides information on LABELs and sequence definitions to support Pulseq-to-MRD conversion.

3.2 Required toolboxes

3.3 MRD conversion for MPRAGE

  • Be sure that the Pulseq, mapVBVD, and ISMRMRD toolboxes are in MATLAB's path.
  • Run pulseq2mrd_mprage.m script. It can convert the Siemens MPRAGE data (meas_MID00203_FID24417_pulseq_we_mprage_sag_p2_1mm_iso.dat) to ISMRMRD data (pulseq_mprage_data.h5) with the LABELs and sequence definitions loaded from the mprage_challenge.seq file.

3.4 MRD conversion for EPI

  • Be sure that the Pulseq, mapVBVD, and ISMRMRD toolboxes are in MATLAB's path.
  • Run pulseq2mrd_epi.m script. It can convert the Siemens EPI data (meas_MID00207_FID24421_pulseq_epirs_iso_2_8mm_slc48_tran.dat) to ISMRMRD data (pulseq_epi_data.h5) with the LABELs and sequence definitions loaded from the epi_challenge.seq file.

4. Tutorials for Image Reconstruction

This directory contains materials and tutorials for:

  • image reconstruction using Gadgetron for Pulseq-generated MRD data from the four platforms, and
  • vendor-based online image reconstruction for Pulseq-based MPRAGE and EPI sequences on Siemens platforms.

4.1 Documents

The documents contained in this tutorial are listed below:

  • pulseq_mprage_out.h5 and pulseq_epi_out.h5: Gadgetron-reconstructed Pulseq-based MPRAGE and EPI .h5 images. The data were acquired from a phantom on the Cima.X 3T at Freiburg, Germany.
  • convert_h5_to_nifti.m: MATLAB script to convert pulseq_mprage_out.h5 and pulseq_epi_out.h5 to NIFTI images (.nii).
  • pulseq_mprage_gadgetron.nii and pulseq_epi_gadgetron.nii: the Pulseq-based MPRAGE and EPI .nii images converted by the script convert_h5_to_nifti.m.
  • pulseq_mprage_ice.nii and pulseq_epi_ice.nii: the Pulseq-based MRPAGE and EPI NIFTI images reconstructed by Siemens' ICE software.
  • pulseq_mprage_openrecon.nii and pulseq_epi_openrecon.nii: the Pulseq-based MRPAGE and EPI NIFTI images reconstructed by Siemens' OpenRecon software.
  • read_all_recon_images.m: MATLAB script to read all NIFTI images and produce .png figures.

4.2 Instructions for Gadgetron offline reconstruction

4.2.1 Gadgetron installation using Docker (on a Windows 11 system)

  • Download and install the Docker software in your computer. You may need to install/update the Windows Sub Linux (WSL) system for the Docker installation.
  • Open your terminal (PowerShell with an administrative account in Windows) and navigate to the folder you would like to map to the Gadgetron Docker container, e.g. by running this command cd C:\Users\chenq\Downloads\Docker_folder, as shown in Figure 3.
  • Run docker run -t --name gt_latest --detach --volume ${pwd}:/opt/data ghcr.io/gadgetron/gadgetron/gadgetron_ubuntu_rt_nocuda:latest. If Docker is not recognized, set Docker to connect to C:\Program Files\Docker\Docker\resources\bin in the Environment Path in Windows. This will download and then launch the latest Gadgetron version in a Docker container. It will also mount your current folder as a data folder inside the container. The installed Gadgetron software within the Docker container is shown in Figure 4.
  • Open your Docker software with the administrative account. Start the Gadgetron software within the Docker container by clicking the triangle button in the red rectangle in Figure 4.

  • Run docker exec -ti gt_latest /bin/bash in the PowerShell (Figure 5). This executes your Gadgetron container in PowerShell.

Note: For other installation approaches, please refer to the Gadgetron 4.0 documentation.

4.2.2 Data preparation

  • Place your Pulseq-generated MPRAGE (pulseq_mprage_data.h5) and EPI (pulseq_epi_data.h5) ISMRMRD data in the mounted folder, for example, in the folder: C:\Users\chenq\Downloads\Docker_folder.
  • Run the command in Terminal: cd /opt/data to enter the mounted folder (Figure 6).

4.2.3 Gadgetron reconstruction

  • For MPRAGE reconstruction, run gadgetron_ismrmrd_client -f pulseq_mprage_data.h5 -c Generic_Cartesian_Grappa.xml -o pulseq_mprage_out.h5 in the PowerShell to call Gadgetron to reconstruct the converted Pulseq-generated MPRAGE ISMRMRD data (pulseq_mprage_data.h5) into an image (pulseq_mprage_out.h5), as shown in Figure 7.
  • For EPI reconstruction, run gadgetron_ismrmrd_client -f pulseq_epi_data.h5 -c epi.xml -o pulseq_epi_out.h5 in the PowerShell to call Gadgetron to reconstruct the converted Pulseq-generated EPI ISMRMRD data (pulseq_epi_out.h5) into an image (pulseq_epi_out.h5), as shown in Figure 8.

4.2.4 Convert Gadgetron-reconstructed images from .h5 to NIFTI .nii

  • Run convert_h5_to_nifti.m script to convert the Gadgetron-reconstructed MPRAGE (pulseq_mprage_out.h5) and EPI (pulseq_epi_out.h5) images from .h5 to NIFTI .nii images.

4.3 Instructions for vendor-provided online reconstruction on Siemens

Vendor-provided online reconstructions, ICE and OpenRecon, are enabled for Pulseq-based MPRAGE and EPI sequences on Siemens platforms.

4.3.1 ICE reconstruction

Before executing the Pulseq-based sequences on a Siemens platform, you can enable ICE online Reconstruction following the instructions below:

  • Navigate to the Special Card, set Data handling to ICE STD for NUMARIS/X (e.g., XA60A and XA61A), or ICE 3D/ICE 2D for MPRAGE/EPI for NUMARIS/4 (e.g., VB, VD, and VE), as shown in Figure 9.
  • Select Sum-of-Square for coil combination.
  • Be sure that the maximal pixel intensity does not violate the intensity threshold of 4095.
  • To enable online reconstruction for Pulseq-based MPRAGE (mprage_challenge.seq), please turn on the iPAT card and select ICE STD for Numeris.X (ICE 3D for Numeris 4) for Data handling in the special card, as shown in Figure 9.
  • To enable online reconstruction for Pulseq-based EPI (epi_challenge.seq), please be sure that the iPAT card is off and Dynamic -> Measurements is 30, and select ICE STD for Numeris.X (ICE 2D for Numeris 4) for Data handling in the special card, as shown in Figure 10.

4.3.2 OpenRecon reconstruction

  • Download the OpenRecon SDK from the Siemens MAGNETOM Community website.
  • Follow the python-modules\OpenReconGettingStartedPython.pdf document inside the SDK package to build your OpenRecon container.
  • You may want to configure your own OpenRecon container to specify how OpenRecon interfaces with the product reconstruction and the end user interface presented on the scanner. In this case, please refer to the  OpenReconJsonConfig.pdf document in the SDK package for instructions on configuring the OpenRecon container using a JSON-formatted descriptor.
  • Follow the README.pdf inside the SDK package to install OpenRecon on your scanner. Note that OpenRecon is now only partially/completely available on XA50 or higher versions. For more information, please visit the OpenRecon online forum.
  • The open-source, flexible, and reproducible workflow for data acquisition, reconstruction, and post-processing based on Pulseq and OpenRecon is shown in Figure 11.

Workflow overview. (A) TSE sequence designed in Pulseq. (B) The Pulseq interpreter loads the .seq file and streams events to scanners. (C) Data acquisition occurs on various scanners. (D) Acquired data are streamed into the ICE pipeline and emitted to the OR container for custom reconstruction or post-processing using the MRD format. The processed data are injected into the pipeline, (E) converted to DICOM images, and then sent to the host computer for online display. If OR is unavailable, raw data can be exported for offline reconstruction within the same OR container.

For more information, please refer to our ISMRM abstract: Chen et al., Open-source, Flexible, and Reproducible Workflow for Data Acquisition, Reconstruction, and Post-processing Based on Pulseq and Open Recon, ISMRM, Hawaii, 2025.

4.4 Example reconstructed images

This tutorial provides example Pulseq-based images reconstructed by Gadgetron, ICE, and OpenRecon, acquired from a phantom on a Cima.X 3T Siemens scanner at Freiburg, Germany.

  • The MPRAGE phantom images from Siemens Cima.X 3T (Figure 12).
  • The EPI phantom images from Siemens Cima.X 3T (Figure 13).

Note that the OpenRecon images were re-inverted to match the ICE-based images. The OpenRecon-based and ICE-based images were shifted by one pixel along the phase-encoding direction to match the Gadgetron-reconstructed images.

For more information regarding Pulseq and the workflow for data acquisition and image reconstruction, please visit our GitHub repositories: Pulseq Matlab software, Pulseq Tutorials, and Pulseq Rocks for the 2024 ISMRM Reproducibility Team Challenge.

If you need any further information or have any questions, please feel free to contact our Pulseq email address: pulseq.mr-at-uniklinik-freiburg.de.

Files

figures.zip

Files (7.9 GB)

Name Size
md5:9072608204b1480f62a973957c9dff0c
1.2 MB Preview Download
md5:3832c8ec586af7bc38a303daed9c6404
2.4 MB Preview Download
md5:c2a0f579e33ff58387714786a45a4c6e
81.0 MB Preview Download
md5:3a9c6b2ff974b833e8b6df90f1325446
7.9 GB Preview Download

Additional details

Dates

Created
2026-06-17

Software

Programming language
MATLAB

References

  • Antunes B, Hill DRC. Reproducibility, replicability and repeatability: A survey of reproducible research with a focus on high performance computing. Comput Sci Rev. 2024;53(June):100655. doi:10.1016/j.cosrev.2024.100655
  • Tamir JI, Blumenthal M, Wang J, Oved T, Shimron E, Zaiss M. MRI acquisition and reconstruction cookbook: recipes for reproducibility, served with real-world flavour. Magn Reson Mater Physics, Biol Med. 2025;38(3):367–385. doi:10.1007/s10334-025-01236-4
  • Layton KJ, Kroboth S, Jia F, et al. Pulseq: a rapid and hardware-independent pulse sequence prototyping framework. Magn Reson Med. 2017;77(4):1544-1552. doi:10.1002/mrm.26235
  • Hansen MS, Sørensen TS. Gadgetron: an open source framework for medical image reconstruction. Magn Reson Med. 2013;69:1768-1776. doi:10.1002/mrm.24389
  • Inati SJ, Naegele JD, Zwart NR, et al. ISMRM raw data format: A proposed standard for MRI raw datasets. Magn Reson Med. 2017;77(1):411-421. doi:10.1002/mrm.26089
  • Chen Q. 2023 ISMRM virtual meeting: Vendor-agnostic pulse sequence programming with Pulseq: from basics to advanced topics | Tutorial on image reconstruction based on Pulseq. Accessed September 17, 2025. https://github.com/pulseq/ISMRM-Virtual-Meeting--November-15-17-2023/tree/main/tutorials/day2_imageReconstruction
  • Chen Q, Zijlstra F, Hucker P, Littin S, Zaitsev M. Open-source, cross-platform workflow for MRI data acquisition and image reconstruction based on the Pulseq framework. In: Proceedings of the 33rd International Society for Magnetic Resonance in Medicine (ISMRM). ; 2024:0948.
  • Chen Q, Hucker P, Shafiekhani M, Zaitsev M. Open-source, Flexible, and Reproducible Workflow for Data Acquisition, Reconstruction, and Post-processing Based on Pulseq and Open Recon. In: Proceedings of the 34th International Society for Magnetic Resonance in Medicine (ISMRM). ; 2025. doi:10.58530/2025/1844
  • PulseqRocks. https://github.com/pulseq/Pulseq-Rocks-2023-24-ISMRM-Reproducibility-Challenge. Accessed October 26, 2025.