spacexerq 1a45bb4d08 phyba release 1 mese fa
..
.github 1a45bb4d08 phyba release 1 mese fa
benchmark_seq2xml 1a45bb4d08 phyba release 1 mese fa
sim 1a45bb4d08 phyba release 1 mese fa
.gitignore 1a45bb4d08 phyba release 1 mese fa
CODE_OF_CONDUCT.md 1a45bb4d08 phyba release 1 mese fa
CONTRIBUTING.md 1a45bb4d08 phyba release 1 mese fa
LICENSE 1a45bb4d08 phyba release 1 mese fa
README.md 1a45bb4d08 phyba release 1 mese fa
coil2xml.py 1a45bb4d08 phyba release 1 mese fa
examine_seq_diag.py 1a45bb4d08 phyba release 1 mese fa
make_some_seqs.py 1a45bb4d08 phyba release 1 mese fa
phantom.py 1a45bb4d08 phyba release 1 mese fa
pull_request_template.md 1a45bb4d08 phyba release 1 mese fa
pulseq_jemris_simulator.py 1a45bb4d08 phyba release 1 mese fa
pulseq_library.py 1a45bb4d08 phyba release 1 mese fa
py2jemris_demo.ipynb 1a45bb4d08 phyba release 1 mese fa
recon_jemris.py 1a45bb4d08 phyba release 1 mese fa
record_seq2xml_times.py 1a45bb4d08 phyba release 1 mese fa
requirements.txt 1a45bb4d08 phyba release 1 mese fa
sample.h5 1a45bb4d08 phyba release 1 mese fa
seq2xml.py 1a45bb4d08 phyba release 1 mese fa
sim2xml.py 1a45bb4d08 phyba release 1 mese fa
sim_jemris.py 1a45bb4d08 phyba release 1 mese fa
sim_py2jemris_ismrm2021.py 1a45bb4d08 phyba release 1 mese fa
sim_seq_validation.py 1a45bb4d08 phyba release 1 mese fa
utest_py2jemris_script.py 1a45bb4d08 phyba release 1 mese fa

README.md

py2jemris

Python library for interfacing with the JEMRIS MR simulator.

  • Convert Pulseq/PyPulseq sequence files (.seq) into JEMRIS format for simulation
  • Construct custom Tx/Rx coil maps and numerical phantoms
  • Perform JEMRIS simulation pipeline for rapid .seq file testing

Introduction

The JEMRIS project provides a fast and robust Bloch simulation core for Magentic Resonance Imaging (MRI) experiments, along with sequence design functions. The sequence representation in JEMRIS is high level, consisting of nested loops and parameter dependencies across sequence components [1]. In contrast, the Pulseq MR sequence standard represents the sequence in unrolled, consecutive blocks, with no interdependencies between blocks [2].

Importantly, Pulseq is mainly intended for sequence development and can be interfaced to three main vendors for open-source acquisition. While JEMRIS can convert its sequences (typically, an .xml sequence construction file with a list of .h5 waveform data files) into the Pulseq format, it does not allow the reverse operation - converting any Pulseq sequence into a form ready for JEMRIS simulation. We developed py2jemris in order to incorporate simulations into our fully open-source sequence development cycle, as PyPulseq [3] scripting allows flexible and rapid open-source sequence construction.

Usage

py2jemris is intended for rapid MR sequence development - it enables dual simulation/acquisition using the same sequence file.

Get Started

To get started, clone the repository and read the function docstrings. You will need to have JEMRIS installed on your system. A Wiki page and a Google Colab Notebook will be available soon.

References

  1. Stöcker, T., Vahedipour, K., Pflugfelder, D., & Shah, N. J. (2010). High‐performance computing MRI simulations. Magnetic resonance in medicine, 64(1), 186-193.
  2. Layton, K. J., Kroboth, S., Jia, F., Littin, S., Yu, H., Leupold, J., ... & Zaitsev, M. (2017). Pulseq: a rapid and hardware‐independent pulse sequence prototyping framework. Magnetic resonance in medicine, 77(4), 1544-1552.
  3. Ravi, K. S., Geethanath, S., & Vaughan, J. T. (2019). PyPulseq: A Python Package for MRI Pulse Sequence Design. Journal of Open Source Software, 4(42), 1725.