MRIsim.jl

Build status Docs DOI

MRIsim.jl is a Julia package to simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.

TO-DO:

  • Phantom and Sequence data-types,
  • Spin preccesion in gradient-only blocks,
  • GPU accelaration using CUDA.jl,
  • RF excitation,
  • GPU accelaration of RF excitation (under development),
  • Pulseq IO and auxiliary functions,
  • Signal "Raw Output" dictionary (ISMRMRD),
  • MRIReco.jl for the reconstruciton,
  • Scanner data-type: , etc.,
  • Diffusion models with Laplacian Eigen Functions,
  • Magnetic susceptibility,
  • Coil sensitivities,
  • Documentation.

ISMRM 2020 Presentation: MRIsim - Carlos Castillo.pdf

Installation

To install just do the following:

] add MRIsim

First run

MRIsim.jl comes with a handy GUI that contains a brain phantom with an EPI sequence. To open it use:

SpinLab()

Then, press the button that says "Run simulation!" to do your first simulation :).

How to cite

If you use this package please acknowledge us by citing:

@software{carlos_castillo_passi_2021_5507370,
  author       = {Castillo-Passi, Carlos and Irarrazaval, Pablo},
  title        = {cncastillo/MRIsim.jl: v0.3.3},
  month        = sep,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {v0.3.3},
  doi          = {10.5281/zenodo.5507370},
  url          = {https://doi.org/10.5281/zenodo.5507370}
}

SpinLab GUI

SpinLab


Example 1: Brain phantom for different TEs

Brain phantom with different TEs

Example 2: dMRI with multiple diffusion directions

Example 3: Moment-compensated diffusion