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
-
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 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
-
mufile | A string specifying the file to save the moment requested. |
varargin | Optional 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