Computes the (apparent) Non-Gaussianity (NG) according to a mono-exponential model for single-shell acquisitions as described in AMURA:
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. The NG is defined in terms of the 'angle' between the true attenuation signal and its Gaussian counterpart, which in AMURA is modeled as that with a 'cropped' version of the Diffusion Coefficent (with SH coefficients up to order L=2):
D_Gauss(u) = sum for l<=2 c_l^m Y_l^m(u)
- 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
-
ngfile | A string specifying the file to save the computed NG. |
varargin | Optional arguments passed as -name value pairs. |
- Returns
- - ngfile: The computed NG.
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.
- ngfile: A string specifying the file to save the computed NG.
- varargin: Optional arguments passed as -name value pairs.
Optional Arguments
- mask: a MxNxP array of logicals. Only those voxels where mask is true are processed, the others are filled with zeros (default: all trues).
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 of fitting SH coefficients (
- Note
- the order L used for SH is internally computed) (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).
Other optional parameters:
- chunksz: SH expansions are computed as matrix products, which are performed chunk-by-chunk to avoid memory issues. This parameter sets the size of such chunks (default: 256).
Example:
atti2ang dwifile.nii gifile.bvec bifile.bval ngfile.nii -mask mask_file.nii
function atti2ang(in dwifile, in gifile, in bifile, in ngfile, in varargin)
- See also
- atti2apa atti2artap atti2artop atti2artpp