Computes the so-called Non-Gaussianity (NG) of diffusion at each voxel according to a linear convolutional model:
atti(u,b) = Integral_{S}Phi(v)exp(-b*((lpar-lperp)(u*v)^2+lperp))dv.
The NG is defined as the sine of the angle between the EAP, P(R), and its Gaussian counterpart defined as the diffusion tensor model that best fits the multi-shell measurements. The angle between two signals is defined in the common way in terms of their inner product.
- Parameters
-
shfile | A string specifying the file containing the SH coefficients of the ODF at each voxel up to order L. Should be computed with micro2shodf. |
lambdaparfile | A string specifying the file containing the parallel diffusivity at each voxel, estimated with atti2micro. |
lambdaperpfile | A string specifying the file containing the traverse diffusivity at each voxel, estimated with atti2micro. |
dtifile | A string specifying the file to save the tensor volume to compute the distance to. The proper way to compute this tensor is:
- Use micro2atti to generate a synthetic attenuation signal from your model, something like:
micro2atti('shfile.nii', 'lambdaparfile.nii', 'lambdaperpfile.nii', 'ffile.nii', 'hcp1007.bvec', 'hcp1007.bval','attifile.nii', '-mask', 'hcp1007_mask_crop.nii');
|
varargin | varargin: Optional arguments passed as -name value pairs (e.g. -flperp 0.001). |
- Returns
- - ngfile: the NG at each voxel.
Mandatory Inputs:
- shfile: A string specifying the file containing the SH coefficients of the ODF at each voxel up to order L. Should be computed with micro2shodf.
- lambdaparfile: A string specifying the file containing the parallel diffusivity at each voxel, estimated with atti2micro.
- lambdaperpfile: A string specifying the file containing the traverse diffusivity at each voxel, estimated with atti2micro.
- dtifile: A string specifying the file to save the tensor volume to compute the distance to. The proper way to compute this tensor is:
- Use atti2dti to generate a synthetic attenuation signal from your model, something like:
- ./run_atti2micro_wrap.sh MATLAB Runtime directory dwifile.nii gifile.bvec bifile.bval tensorfile.nii s0file.nii -mask mask_file.nii
and use 'tensorfile.nii' as 'dtifile'.
- varargin: Optional arguments passed as -name value pairs (e.g. -flperp 0.001).
Optional Arguments - General Optional Parameters:
- mask: a MxNxP array of logicals. Only those voxels where mask is true are processed, the others are filled with zeros (default: all trues).
- to improve the contrast of the raw NG, a gamma correction can be performed with the form: ng = ng0^(3*epsilon)/(1-3*ng0^epsilon+3*ng0^(2*epsilon)); Use empty brackets, [], to avoid this correction and work with the raw NG (default: 0.4).
Sanity Checks On The Micro-Structure Model:
- chkmod: Whether (true) or not (false) perform sanity checks over lpar and lperp as provided by atti2micro. If true, three corrections are performed:
- lpar is ensured to be in the range (ADC0/20,ADC0);
- lperp is ensured to be greater than lpar*flperp (see below);
- lperp is ensured to be less than lpar*Flperp (see below). (default: true)
- flperp: If chkmod == true, this parameter provides a lower threshold for lperp as a function of lpar (default: 0.001).
- Flperp: If chkmod == true, this parameter provides an upper threshold for lperp as a function of lpar (default: 0.999).
Other Parameters
- lambda: the algorithm is based on fitting SH to the (inverse of the squared root of) the determinant of the sum of two matrices. This is the Laplace-Beltrami penalty parameter for this fitting (default: 1.0e-6).
- chunksz: This parameter is directly passed to the signal2sh function to fit the signal in the basis of SH chunk-by-chunk (see the help therein) (default: 100).
Examples:
micro2ng shfile.nii lambdaparfile.nii lambdaperpfile.nii dtifile.nii ngfile.nii -mask mask_file.nii
function micro2ng(in shfile, in lambdaparfile, in lambdaperpfile, in dtifile, in ngfile, in varargin)
Computes the so-called Non-Gaussianity (NG) of diffusion at each voxel according to a linear convolut...
- Note
- This is the simplest use case
- See also
- micro2ng