Fibre Orientation Mapping Based on von Mises-Fisher Distributions with QBI reconstruction

Share:

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

1
2
3
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.

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.

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.

Author(s)

Adelino Ferreira da Silva, Universidade Nova de Lisboa, Faculdade de Ciencias e Tecnologia, Portugal, afs at fct.unl.pt

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## 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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.