dMRI-Lab 1.0
atti2amura.m File Reference

Functions

function atti2amura (in dwifile, in gifile, in bifile, in mufile, in varargin)
 

Function Documentation

◆ atti2amura()

function atti2amura ( in dwifile,
in gifile,
in bifile,
in mufile,
in varargin )

Computes (apparent) moments (either full, axial, or planar) of arbitrary orders over the attenuation signal E(q) according to a mono-exponential model for single-shell acquisitions:

                               atti(u,b) = exp(-b*D_0(u)),

where D_0(u) is the Apparent Diffusion Coefficient measured at b=b0 for each direction 'u' within the unit sphere. In precise terms:

                                mu_{full}^{nu}       = Integral_{R^3} ||q||^{nu} E(q) dq^3
                                mu_{axial}^{nu}(u0)  = Integral_{R}   t^{nu} E(t*u0) dt
                                mu_{planar}^{nu}(u0) = Integral_{v \perp u0} ||v||^{nu} E(v) dv^2

where nu>-3 for full moments, nu>-1 for axial moments, and nu>-2 for planar moments. In all cases, nu can be any real number. Most of the common diffusion measurements are described with this scheme:

                                RTOP = mu_{full}^0, RTPP = mu_{axial}^0(u_max), RTAP = mu_{planar}^0(u_max), QMSD = mu_{full}^2... 
Parameters
dwifileA string specifying the file containing the diffusion-weighted images.
gifileA string specifying the file containing the gradient directions.
bifileA string specifying the the corresponding b-values of each entry in gi.
Note
for the AMURA model to make sense, all bi should be similar, otherwise the sampling scheme is a multi-shell and a differente model (such as MiSFIT) should be used. Alternatively, bi can be a single scalar describing the acquired shell.
Parameters
mufileA string specifying the file to save the moment requested.
vararginOptional arguments passed as -name value pairs.
Returns
- mufile: The moment requested.

Mandatory Inputs:

  • dwifile: A string specifying the file containing the diffusion-weighted images.
  • gifile: A string specifying the file containing the gradient directions.
  • bifile: A string specifying the file containing the b-values.
  • mufile: A string specifying the file to save the moment requested.
  • varargin: Optional arguments passed as -name value pairs.

Optional Arguments

  • type: 1x1 string array, one of 'f', 'a', or 'p', corresponding to either full, axial, or planar. Alternatively, you can specify either of 'rtop', 'rtpp', 'rtap', or 'qmsd' (default: 'rtop').
  • nu: 1x1 double (or []) with the order of the moment to be computed. If you specified a particular measure in 'type' (e.g. 'rtop'), this is not used and may be left empty (default: not used).
  • mask: a MxNxP array of logicals. Only those voxels where mask is true are processed, the others are filled with zeros (default: all trues).
  • u0: only used for axial and planar moments; MxNxPx3 double array with the directions u0 for which axial and planar moments are computed. If left empty, [], the direction of maximum diffusivity will be internally computed and used (default: []).

Parameters related to SH computations:

  • L: an even integer with the maximum order of the SH to be used (default: 8).
  • lambda: the Laplace-Beltrami regularization parameter for the linear least squares problem (default 0.001).

Sanity checks on the attenuation signal:

  • tl, tu: the lower and upper thresholds, respectively, defining the range the atti will lay within, so that tl should be close to 0 and tu should be close to 1 (default: 1.0e-7, 1-1.0e-7).

Advanced parameters:

  • tau: 1x1, the effective diffusion time of the dMRI sequence in miliseconds (default: 70.0e-3).
  • chunksz: the evaluation of SH at desired directions is done by repeatedly calling GenerateSHMatrix. This is done chunk-by-chunk for efficiency (default: 256).
  • clean: 1x1 double in the range [0,100]. This is a simple outlier rejection parameter to avoid out-of-range values: 0 means no outlier rejection is applied; >0 means outlier rejection is applied, the closer to 100 the more agressive (default: 50).

Example:

atti2amura MATLAB Runtime directory dwifile.nii gifile.bvec bifile.bval mufile.nii -mask mask_file.nii
function atti2amura(in dwifile, in gifile, in bifile, in mufile, in varargin)
See also
atti2amura