Learn R Programming

gdimap (version 0.1-3)

simulglyph.vmf: Voxel Diffusion Profile Simulation and von Mises-Fisher Fibre Mapping

Description

The synthesized diffusion voxel profiles generated by synthfiberss2z are used to reconstruct ODF profiles. Three methods may be used for reconstruction: GQI, GQI2, and Q-ball. ODF profiles and fibre directions are estimated by relying on von Mises-Fisher (vMF) distributions for directional mapping.

Usage

simulglyph.vmf(gdi="gqi", s2grid=NULL, angles=c(20,100), depth=3, b=3000,
 lambda=NULL, order=4, sigma=NULL, threshold=0.4, snapshot=FALSE,
 savedir=tempdir(), pngfig="glyph1", showglyph=TRUE, aniso=NULL,
 logplot=TRUE, wi=NULL)

Arguments

gdi
method of ODF reconstruction to use c("gqi", "gqi2", "sph") (default: "gqi").
s2grid
S2 shell grid, or other equivalent user specified grid. By default s2grid=NULL means that the grid is generated by s2tessel.zorder.
angles
angles in degrees of fibres to be used in simulation (default: two fibres with angles c(20,100)).
depth
sampling densities on the hemisphere used in simulation (default N=321; depth=3).
b
strength of the magnetic diffusion gradient (default b-value=3000).
lambda
model parameter: diffusion sampling length in gdi="gqi" and gdi="gqi2"; Aganj's regularization parameter in gdi="sph". By default the following default values are used when lambda=NULL is specified: 1
order
parameter associated with the oder of the order of the spherical harmonics approximation (default: 4).
sigma
Rician noise level used in simulation; (default NULL).
threshold
thresholding generalized fractional anisotropy (GFA) value at each voxel (default: 0.4).
snapshot
logical variable controlling line-map snapshots (default: FALSE).
savedir
directory for saving/loading processed results (default: tempdir()).
pngfig
base-name of the PNG files when snapshot is TRUE (default "glyph1").
showglyph
logical variable controlling visualization of voxel glyphs (default: TRUE).
aniso
anisotropic parameter to use in ODF visualization in the range "[0,1)" or NULL.
logplot
logical variable for selecting log-scale (default TRUE).
wi
weight given to fiber's volume fraction. Example for two fibers with different weights wi=c(0.7,0.3) (default NULL gives equal weigth to all fibers.)

Value

  • simulglyph.vmf plots the reconstructed ODF profile together with the vMF-estimated fiber directions.

concept

  • Simulation
  • ODF visualization
  • Glyph mapping

Details

The "gdi" argument specifies the method of ODF reconstruction to use in the list c("gqi", "gqi2", "sph"). The number of fibres is automatically estimated from the diffusion profile. To decide on the number of components to select the Bayesian information criterion (BIC) is applied.

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.0-2.

Adler, D., and Murdoch, D. rgl: 3D visualization device system (OpenGL), 2012. R package version 0.92.880.

Barber, C. B., Habel, K., Grasman, R., Gramacy, R. B., Stahel, A., and Sterratt, D. C. geometry: Mesh generation and surface tessellation, 2012. R package version 0.3-2.

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

See Also

synthfiberss2z, plotglyph, gqi.odfvmflines, rgbvolmap, gqi.odfpeaks, gqi.odfpeaklines, gqi.odfvxgrid, simul.fandtasia, simul.simplefield

Examples

Run this code
## Examples of synthetized voxel diffusion glyphs
    ## ODF glyphs, and vMF fiber orientation mapping 
    ## noise-free simulations and vMF estimation by GQI and QBI
    b <- 3000; angles <- c(20,110)
    simulglyph.vmf(angles=angles,b=b, gdi="gqi")
    simulglyph.vmf(angles=angles,b=b, gdi="gqi", logplot=FALSE)
    simulglyph.vmf(angles=angles,b=b, gdi="gqi2")
    simulglyph.vmf(angles=angles,b=b, gdi="gqi2", logplot=FALSE)
    simulglyph.vmf(angles=angles,b=b, gdi="gqi", aniso=0.5)
    simulglyph.vmf(angles=angles,b=b, gdi="sph")
    simulglyph.vmf(angles=angles,b=b, gdi="sph", aniso=0.5)
    ## plot diffusion signal with "logplot=FALSE"
    angles <- 45; b <- 1500
    simulglyph.vmf(angles=angles,b=b, gdi="gqi",  logplot=FALSE)
    simulglyph.vmf(angles=angles,b=b, gdi="gqi2", logplot=FALSE)
    ## 2 direction, lower crossing-angles, higher b
    angles <- c(20,80); b <- 6000
    simulglyph.vmf(angles=angles,b=b, gdi="gqi")
    simulglyph.vmf(angles=angles,b=b, gdi="sph")
    ## 2 direction, different volume fractions
    simulglyph.vmf(angles=angles, b=b, wi=c(0.7, 0.3))
    ## 2 direction, low croosing angle
    angles <- c(20,65); b <- 6000
    simulglyph.vmf(angles=angles,b=b)
    ## 3 directions
    angles <- c(20,80,140)
    simulglyph.vmf(angles=angles,b=b)
    # 3 directions
    angles <- c(0,60,120)
    simulglyph.vmf(angles=angles,b=b)
    ##------------------
    ## noisy simulations and vMF estimation by GQI and QBI
    b <- 3000; sigma <- 0.033
    angles <- c(20,110)
    simulglyph.vmf(angles=angles,b=b, sigma=sigma, gdi="gqi")
    simulglyph.vmf(angles=angles,b=b, sigma=sigma, gdi="sph")
    # 2 direction, lower crossing-angles, higher b
    angles <- c(20,80)
    simulglyph.vmf(angles=angles,b=b, sigma=sigma)
    ## 2 direction, low croosing angle
    angles <- c(20,65)
    simulglyph.vmf(angles=angles,b=b, sigma=sigma)
    # 3 directions
    angles <- c(20,80,140)
    simulglyph.vmf(angles=angles,b=b, sigma=sigma)
    # 3 directions
    angles <- c(0,60,120)
    simulglyph.vmf(angles=angles,b=b, sigma=sigma)

Run the code above in your browser using DataLab