Learn R Programming

gdimap (version 0.1-9)

sph.odfvmflines: Fibre Orientation Mapping Based on von Mises-Fisher Distributions with QBI reconstruction

Description

In order to enable mapping complex white matter fibres in the brain, sph.odfvmflines implements a new methodology based on directional statistics to estimate fibre profiles from high angular resolution diffusion imaging data. Statistical orientation estimation in sph.odfvmf is based on von Mises-Fisher clustering procedures provided by the R-package movMF, by Kurt Hornik and Bettina Gruen.

Usage

sph.odfvmflines(run=TRUE, fbase=NULL, savedir=tempdir(), roi=NULL, rg=c(1,1), swap=FALSE, btoption=2, threshold=0.4, kdir=4, zfactor=5, showglyph=FALSE, showimage="linesgfa", bview="coronal", bg="white", order=4, texture=NULL, clusterthr=0.6, aniso=NULL, ...)

Arguments

run
logical variable enabling loading previously processed data (default: TRUE).
fbase
Directory where the required input data files are located.
roi
Region of Interest (ROI) to use as mask; default mask (roi=NULL) uses an all brain mask for the supplied data set.
rg
range of slices to process (default option rg=c(1,1)); rg=NULL processes all slices.
swap
toggle radiological/neurological orientation (default: FALSE).
btoption
b-table selection between ‘btable.txt’ (btoption=1), and the 3D-DSI grid b-table extracted from the diffusion data set (‘data.bvec’ and ‘data.bval’). By default, the 3D-DSI grid b-table is used (btoption=2).
threshold
thresholding generalized fractional anisotropy (GFA) value at each voxel (default: 0.4).
kdir
maximum number of fibre directions to map (default: 4).
zfactor
parameter controlling z-value in relief overlay maps (default: 5).
showglyph
logical variable controlling visualization of voxel glyphs (default: FALSE).
showimage
object controlling visualization of line-maps (default: "linesgfa"). Alternative options are: c("none", "gfa", "lines", "linesgfa", "linesrgbmap", "linesdata") (see Details).
bview
MRI slice view selection in {axial, coronal, sagittal} (default: "coronal").
savedir
directory for saving/loading processed results (default: tempdir().
bg
map background colour (default "white")
order
parameter associated with the order of the spherical harmonics approximation (default: 4).
texture
name of the PNG file to be used as RGB map overlay in some 'showimage' options (default NULL - no texture).
clusterthr
thresholding orientations based on ODF values at each voxel for directional clustering (default: 0.6).
aniso
anisotropic parameter in the range "[0,1)" or NULL to use in ODF pos-processing default: NULL.
...
additional material properties for geometry appearance as specified in rgl.material.

Value

sph.odfvmflines produces line-maps of ODF profiles for diffusion data slices. The line-maps may be overlayed with generalized fractional anisotropy (GFA) relief maps, diffusion data maps or ROI maps. The file ‘V1list.RData’ containing the first main orientation directions for all processed voxels is output for further posterior orientation processing.

Details

The function sph.odfvmflines implements a mixture-model approach to clustering orientation distribution functions (ODFs) based on the von Mises-Fisher distributions. The method focus on clustering data on the unit sphere, where complexity arises from representing ODF profiles as directional data.

Starting with the raw high angular resolution diffusion signal acquired on a S2-shell of q-space, the ODF profile is reconstructed at each voxel, considering a sampling density of unit vectors on a unit S2 shell. Q-ball imaging (QBI) is used for orientation distribution function (ODF) reconstruction. For comparison with GQI, the b-table ‘byable.txt’ has been used in the examples. This b-table has 203 points distributed on a S2-shell.

Slice map display and overlay selection is controlled by specifying one the arguments c("none", "gfa", "lines", "linesgfa", "linesrgbmap", "linesdata") for showimages. Meanings are as follows: "none" - no visualization; "gfa" - GFA map only; "lines" - line map only; "linesgfa" - GFA overlayed on line map; "linesrgbmap" - lines overlayed on RGB map (if available); "linesdata" - ‘data_brain.nii.gz’ is overlayed on line map.

References

Ferreira da Silva, A. R. Computational Representation of White Matter Fiber Orientations, International Journal of Biomedical Imaging, Vol. 2013, Article ID 232143, Hindawi Publishing Corporation http://dx.doi.org/10.1155/2013/232143.

Ferreira da Silva, A. R. Facing the Challenge of Estimating Human Brain White Matter Pathways. In Proc. of the 4th International Joint Conference on Computational Intelligence (Oct. 2012), K. Madani, J. Kacprzyk, and J. Filipe, Eds., SciTePress, pp. 709-714.

Hornik, K., and Gruen, B. movMF: Mixtures of von Mises-Fisher Distributions, 2012. R package version 0.1-0.

Tuch D. S., Q-Ball Imaging, Magnetic Resonance in Medicine 52 (2004), 1358-1372.

Tabelow K., Polzehl J.: dti: DTI/DWI Analysis, 2012. R package version 1.1-0.

See Also

sph.odfvmf, sph.odfpeaks, sph.odfvmflines, gqi.odfvxgrid, plotglyph, rgbvolmap, s2tessel.zorder, simulglyph.vmf, simul.fandtasia, simul.simplefield, data, data.bval, data.bvec, btable

Examples

Run this code
## Not run: 
#   ##-------------
#   ## von Mises-Fisher fibre orientation mapping
#   ## for a range of slices
#   sph.odfvmflines(run=TRUE, rg=c(1,1), showimage="linesdata",
#     threshold=0.5)
#   ## display line-maps only
#   sph.odfvmflines(run=FALSE, showimage="lines")
#   ## using GFA overlay
#   sph.odfvmflines(run=FALSE, showimage="linesgfa")
#   ##-------------
#   ## Show reconstructed glyphs in ODF processing 
#   ## for principal direction determination
#   sph.odfvmflines(run=TRUE, showimage="linesdata",
#     showglyph=TRUE, threshold=0.5)
#   ##-------------
#   ## using a ROI overlay
#   sph.odfvmflines(run=TRUE, roi="slfcst.nii.gz")
#   ##-------------
#   ## speeded up approximations: hardmax and common/numeric kappa
#   sph.odfvmflines(run=TRUE, rg=c(1,1), showimage="linesdata",
#     E="hardmax", kappa=list(common = TRUE))
#   sph.odfvmflines(run=TRUE, rg=c(1,1), showimage="linesdata",
#     E="hardmax", kappa=20)
# ## End(Not run)

Run the code above in your browser using DataLab