MRIReco.jl
Magnetic Resonance Imaging Reconstruction
Introduction
MRIReco is a Julia packet for magnetic resonance imaging. It contains algorithms for the simulation and reconstruction of MRT data and is both easy to use and flexibly expandable.
Both direct and iterative methods are available for image reconstruction. In particular, modern compressed sensing algorithms such as ADMM can be used.
The MRT imaging operator can be set up for a variety of scanning patterns (cartesian, spiral, radial, ...) and can take into account field inhomogeneity as well as the use of coil arrays. The operator can be quickly evaluated using NFFT-based methods.
One strength of the package is that it is strongly modular and uses high quality Julia packages. These are e.g.
- NFFT.jl and FFTW.jl for fast Fourier transformations
- Wavelets.jl for sparsification
- LinearOperators.jl in order to be able to divide the imaging operator modularly into individual parts
- RegularizedLeastSquares.jl for modern algorithms for solving linear optimization problems
This interaction allows new algorithms to be easily integrated into the software framework. It is not necessary to program in C/C++ but the advantages of the scientific high-level language Julia can be used.
Installation
Start julia and open the package mode by entering ]. Then enter
add MRIRecoThis will install MRIReco and all its dependencies. If you want to develop MRIReco itself you can checkout MRIReco by calling
dev MRIRecoMore information on how to develop a package can be found in the Julia documentation.
Plotting
On purpose MRIReco is not depending on a particular plotting package since there are various plotting packages in the Julia ecosystem. Within the examples outlined in the tutorial we will use PyPlot for plotting but you may prefer using the Plots package. You can add both packages the same way MRIReco has been added.
Tutorial
There is a Jupyter-based tutorial on MRIReco at
https://github.com/MagneticResonanceImaging/MRIRecoTutorial
that has been presented at the ISMRM conference in Montreal 2019. Since the API has slightly changed, we, however recommend that you read this documentation and in particular execute the example scripts as is described in the Getting Started section.