BlochSimulators is a Julia package for performing Bloch simulations within the context of Magnetic Resonance Imaging. It provides functionality to perform MR signal simulations of custom sequences and k-space trajectories. Simulations can be deployed on different computational resources, including CUDA compatible GPU cards. The aim of package was to achieve the highest possible runtime performance. The package can be used to simulate dictionaries for MR Fingerprinting or to perform forward model evaluations for MR-STAT.


BlochSimulators.jl is registered in the General Julia registry. To install the package, press ] in the Julia REPL to enter package mode, followed by either

pkg> add BlochSimulators (if you want to use the package as-is)


pkg> dev BlochSimulators (if you want to make modificatios to the source code).


The examples folder contains several example sequence structs as well as k-space trajectory structs. Users of BlochSimulators.jl are encouraged to modify these examples or assemble their own structs with custom sequence/k-space trajectory implementations. Example Julia code on how to use a custom sequence to simulate an MR Fingerprinting dictionary is available here. Another example in which both a sequence and k-space trajectory struct are used to simulate MR signal is available here.


See CITATION.bib for details on how to cite this work.