Skip to content
Snippets Groups Projects
user avatar
Michiel Cottaar authored
143a3712
History

MRIBuilder

MRIBuilder allows for the creation and optimisation of MRI sequences within Julia.

Depending on your application, there are several levels at which you can interact with MRIBuilder. The ones lower down require more expertise with Julia and the internals of MRIBuilder:

  1. Many sequences have already been implemented and can be obtained through a simple function call (see Using implemented sequences).
  2. New sequences can be created out of pre-defined sequence components and by defining sequence-specific metrics (see Defining new sequences).
  3. Finally, one can actually define new sequence components (not documented yet).

Typically, the resulting sequence will only cover a single repetition time (TR). MRIBuilder enables the concatenation of single-TR sequences into a multi-TR sequence. During these repeats minor adjustments can be made to the single-TR sequence. This can be used to allow different repeats to image different lines in k-space or excite different slices (see Post-hoc adjustment of sequences).

The signal formation for the resulting sequence can be predicted using MCMRSimulator given some representation of the imaged tissue. MRIBuilder can be used to read/write to the pulseq MR sequence file format. This can be used to run the sequence on MRI scanners as described in the pulseq homepage. Rather than just directly running the sequences from this library on the scanner, we strongly recommend to load it using the MATLAB pulseq or python pypulseq first as these libraries run additional checks!

Installation

It can be run from the command line using the Julia REPL, from a Julia script, or in a Jupyter notebook. Like any Julia package, Julia can be installed using the built-in Julia package manager:

pkg> add https://git.fmrib.ox.ac.uk/ndcn0236/mribuilder.jl.git