# 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.

MRIReco.jl is work in progress and in some parts not entirely optimized. In particular the FFT and NFFT implementation are currently limited to the CPU and do not support GPU acceleration yet.

## Installation

Start julia and open the package mode by entering `]`

. Then enter

`add MRIReco`

This will install `MRIReco`

and all its dependencies. If you want to develop `MRIReco`

itself you can checkout `MRIReco`

by calling

`dev MRIReco`

More 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.