Skip to content

oscarvanderheide/MRSTAT.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MR-STAT Reconstruction Code

This repository contains an implementation of the partially-matrix free, inexact Gauss-Newton algorithm that can be used for MR-STAT. It use a 2D numerical brain phantom to generate synthetic data from which it then estimates $T_1$, $T_2$ and proton density. It only supports Cartesian readout trajectories at the moment. The reconstruction makes use of BlochSimulators.jl and should be able to run on modern NVIDIA GPU hardware.

Installation:

This package is not registered in Julia's General registry. It can be installed with

>pkg add https://github.com/oscarvanderheide/MRSTAT.jl.git

Warning:

  • This codebase is structured as a (non-registered) Julia package.
  • This codebase assumes a CUDA device is available.

Structure:

  • Only the MRSTAT.main needs be run. It loads external packages and several functions, assembles a FISP sequence, a Cartesian trajectory and a numerical phantom (including spatial coordinates and coil sensitivity profiles). It generates (noiseless) data. An MR-STAT reconstruction is then performed on the generated data.
  • The objective function is defined in utils/objective.jl. This function is also used by the non-linear solver to calculate the gradient of the objective and the (Gauss-Newton approximation to) the Hessian.
  • Bloch simulations (in case of FISP: EPG simulations) are performed using the BlochSimulators.jl package.
  • Partial derivatives are calculated using a finite difference approach, see DerivativeOperations/simulate_derivatives.jl.
  • The matrix-vector products with the Jacobian matrix and its adjoint are implemented in a partially matrix-free method, see DerivativeOperations/Jv.jl and DerivativeOperations/Jᴴv.jl.
  • The non-linear solver (Trust Region Reflective with Gauss-Newton approximation to the Hessian) is contained in the TrustRegionReflective submodule.

About

MR-STAT reconstruction code

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages