Workflow Package for the "An open-source, reproducible MRI data acquisition and reconstruction workflow using Pulseq: multi-site and cross-vendor validation" Manuscript
- 1. Division of Medical Physics, Department of Radiology, University Medical Center Freiburg, Faculty of Medicine, University of Freiburg, Freiburg, Germany
- 2. Department of Radiology and Oncology, Center for Image Sciences, University Medical Center Utrecht, Utrecht, the Netherlands
- 3. Department of Electrical and Computer Engineering, University of Michigan, Ann Arbor, USA
- 4. Shanghai United Imaging Healthcare Co., Ltd., Shanghai, China
- 5. Wuhan United Imaging Life Science Instrument Co., Ltd., Wuhan, China
- 6. Athinoula A. Martinos Center for Biomedical Imaging, Massachusetts General Hospital, Boston, Massachusetts, USA
- 7. Department of Radiology, Harvard Medical School, Boston, Massachusetts, USA
- 8. State Key Laboratory of Extreme Optics and Instrumentation, College of Optical Science and Engineering, Zhejiang University, Hangzhou, China
- 9. Department of Radiology, Juntendo University, Tokyo, Japan
- 10. Department of Radiology, The University of Tokyo, Tokyo, Japan
- 11. Brigham and Women's Hospital, Harvard Medical School, Boston, Massachusetts, USA
- 12. Harvard/MIT Health Sciences and Technology, Cambridge, Massachusetts, USA
- 13. Department of Biomedical Engineering, University of Michigan, Ann Arbor, USA
- 14. Functional MRI Laboratory, Department of Radiology, University of Michigan, Ann Arbor, USA
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, GE, Philips, and UIH platforms with
- vendor-provided and
- Pulseq-based MPRAGE and EPI sequences.
2.1 Documents
writeMPRAGE_grappa_WE.mand writeEpiRS_label.m: MATLAB scripts for generating the vendor-independent Pulseq-based MPRAGE and EPI.seqfiles.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
2.3.1 Execution on Siemens platforms
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.siemens_sequence_protocol.pdf.2.3.2 Execution on non-Siemens platforms
.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.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
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.siemens_sequence_protocol.pdf.2.4.2 Execution on non-Siemens platforms
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.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.seqandepi_challenge.seq:.seqfiles for sequence execution on Siemens platforms. It provides information on LABELs and sequence definitions to support Pulseq-to-MRD conversion.
3.2 Required toolboxes
- Open-source Pulseq MATLAB toolbox to load Pulseq
.seqfiles and get LABELs and sequence definitions for ISMRMRD conversion. - mapVBVD toolbox to load the Siemens
.datraw data. - ISMRMRD toolbox for MRD conversion.
3.3 MRD conversion for MPRAGE
- Be sure that the Pulseq, mapVBVD, and ISMRMRD toolboxes are in MATLAB's path.
- Run
pulseq2mrd_mprage.mscript. 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 themprage_challenge.seqfile.
3.4 MRD conversion for EPI
- Be sure that the Pulseq, mapVBVD, and ISMRMRD toolboxes are in MATLAB's path.
- Run
pulseq2mrd_epi.mscript. 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 theepi_challenge.seqfile.
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.h5andpulseq_epi_out.h5: Gadgetron-reconstructed Pulseq-based MPRAGE and EPI.h5images. The data were acquired from a phantom on the Cima.X 3T at Freiburg, Germany.convert_h5_to_nifti.m: MATLAB script to convertpulseq_mprage_out.h5andpulseq_epi_out.h5to NIFTI images (.nii).pulseq_mprage_gadgetron.niiandpulseq_epi_gadgetron.nii: the Pulseq-based MPRAGE and EPI.niiimages converted by the scriptconvert_h5_to_nifti.m.pulseq_mprage_ice.niiandpulseq_epi_ice.nii: the Pulseq-based MRPAGE and EPI NIFTI images reconstructed by Siemens' ICE software.pulseq_mprage_openrecon.niiandpulseq_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.pngfigures.
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 toC:\Program Files\Docker\Docker\resources\binin 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/bashin 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/datato 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.h5in 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.h5in 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.mscript to convert the Gadgetron-reconstructed MPRAGE (pulseq_mprage_out.h5) and EPI (pulseq_epi_out.h5) images from.h5to NIFTI.niiimages.
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 STDfor NUMARIS/X (e.g., XA60A and XA61A), orICE 3D/ICE 2Dfor MPRAGE/EPI for NUMARIS/4 (e.g., VB, VD, and VE), as shown in Figure 9. - Select
Sum-of-Squarefor 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 selectICE STDfor Numeris.X (ICE 3Dfor Numeris 4) forData handlingin 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 andDynamic->Measurementsis 30, and selectICE STDfor Numeris.X (ICE 2Dfor Numeris 4) forData handlingin 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.pdfdocument 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.pdfdocument in the SDK package for instructions on configuring the OpenRecon container using a JSON-formatted descriptor. - Follow the
README.pdfinside 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
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.