Computes the SH coefficients of the ODF from a Cartesian sampling of the Ensemble Average Propagator (EAP) as computed with atti2hydidsi. To that end, the function:
- Generates a set of evenly spaced directions in (half) the unit sphere, twice as the number of SH coefficients to fit.
- ANALYTICALLY computes the value of the following integral at each unit direction u: int_{q=0}^{infinity} q * (-1/4/pi^2) * Laplacian{E}(q*u) dq according to the HYDI-DSI representation (NOTE: this is done by the mex function hydidsiQIntegrals_).
- NUMERICALLY fits the first SH coefficients up to order L to the previously sampled signal.
- ANALYTICALLY computes the Funk-Radon transform of the signal by multiplying its SH coefficients by the FRT eigenvalues.
- Parameters
-
eapfile | A regular sampling of the positive, unit mass Ensemble Average Propagator estimated with atti2hydidsi. |
dtifile | The diffusion tensor estimation at each voxel |
Qxfile,Qyfile,Qzfile | The estimated bandwidths of the q-space signal along each dimension. They are necessary to interpret the computed eap. |
shfile | A string specifying the file to save the SH coefficients of the ODF at each imaged voxel. (As passed to atti2hydidsi): |
latticefile | The radii of the lattice at each voxel. This is useful in case this parameter is automatically determined instead of fed as an input argument. |
varargin | Optional arguments passed as -name value pairs (e.g. -wlsit 5). |
- Returns
- - shfile: The SH coefficients of the ODF at each imaged voxel.
Mandatory Inputs:
eapfile: A regular sampling of the positive, unit mass Ensemble Average Propagator estimated with atti2hydidsi.
- dtifile: The diffusion tensor estimation at each voxel
- Qxfile, Qyfile, Qzfile: The estimated bandwidths of the q-space signal along each dimension.
- shfile: A string specifying the file to save the SH coefficients of the ODF at each imaged voxel.
- latticefile: The radii of the lattice at each voxel. This is useful in case this parameter is automatically determined instead of fed as an input argument.
- varargin: Optional arguments passed as -name value pairs (e.g. -wlsit 5).
Optional Arguments General Optional Parameters:
- L: an even integer with the maximum order of the SH to be used (default: 8).
- ADC0: estimated diffusivity of free water at body temperature (Diso). Should use the same as in atti2micro (default: 3.0e-3). rescale: whether (true) or not (false) re-normalize the final SH coefficients so that the DC component exactly equals 1/sqrt(4*pi) (so that the ODF exactly integrates to 1) (default: true).
- mask: a MxNxP array of logicals. Only those voxels where mask is true are processed, the others are filled with isotropic ODFs (default: all trues).
- maxthreads: (only for POSIX systems) the maximum number of threads used by mex functions (default: automatically determined).
Example:
hydidsi2shodf eapfile.nii dtifile.nii Qxfile.nii Qyfile.nii Qzfile.nii latticefile.nii shfile.nii -mask mask_file.nii
function hydidsi2shodf(in eapfile, in dtifile, in Qxfile, in Qyfile, in Qzfile, in latticefile, in shfile, in varargin)
- Note
- This is the simplest use case
- See also
- hydidsi2shodf