Weiskopf, N.; Suckling, J.; Williams, G.; Correia, M. M.; Inkster, B.; Tait, R.; Ooi, C.; Bullmore, E. T. & Lutti, A. Quantitative multi-parameter mapping of R1, PD(), MT, and R2() at 3T: a multi-center validation. Front Neurosci, Wellcome Trust Centre for Neuroimaging, UCL Institute of Neurology, University College London, UK., 2013, 7, 95
J. Polzehl and K. Tabelow (2023), Magnetic Resonance Brain Imaging: Modeling and Data Analysis Using R, 2nd Edition, Chapter 6 and 7, Springer, Use R! Series. doi:10.1007/978-3-031-38949-8.
J. Polzehl and K. Tabelow (2023), Magnetic Resonance Brain Imaging - Modeling and Data Analysis Using R: Code and Data. doi:10.20347/WIAS.DATA.6.
Examples
dataDir <- system.file("extdata",package="qMRI")## set file names for T1w, MTw and PDw images#t1Names <- paste0("t1w_",1:8,".nii.gz")mtNames <- paste0("mtw_",1:6,".nii.gz")pdNames <- paste0("pdw_",1:8,".nii.gz")t1Files <- file.path(dataDir, t1Names)mtFiles <- file.path(dataDir, mtNames)pdFiles <- file.path(dataDir, pdNames)## file names of mask and B1 field map#B1File <- file.path(dataDir,"B1map.nii.gz")maskFile <- file.path(dataDir,"mask.nii.gz")## Acquisition parameters (TE, TR, Flip Angle) for T1w, MTw and PDw images#TE <- c(2.3,4.6,6.9,9.2,11.5,13.8,16.1,18.4,2.3,4.6,6.9,9.2,11.5,13.8,2.3,4.6,6.9,9.2,11.5,13.8,16.1,18.4)TR <- rep(25,22)FA <- c(rep(21,8), rep(6,6), rep(6,8))## read MPM example data#library(qMRI)mpm <- readMPMData(t1Files, pdFiles, mtFiles, maskFile, TR = TR, TE = TE, FA = FA, verbose =FALSE)## Estimate Parameters in the ESTATICS model#modelMPM <- estimateESTATICS(mpm, method ="NLR")## smooth maps of ESTATICS Parameters#setCores(2)modelMPMsp1 <- smoothESTATICS(modelMPM, kstar =16, alpha =0.004, patchsize=1, verbose =TRUE)## resulting ESTATICS parameter maps for central coronal slice#if(require(adimpro)){rimage.options(zquantiles=c(.01,.99), ylab="z")oldpar <- par(mfrow=c(2,4),mar=c(3,3,3,1),mgp=c(2,1,0))on.exit(par(oldpar))pnames <- c("T1","MT","PD","R2star")modelCoeff <- extract(modelMPM,"modelCoeff")for(i in1:4){ rimage(modelCoeff[i,,11,]) title(pnames[i])} modelCoeff <- extract(modelMPMsp1,"modelCoeff")for(i in1:4){ rimage(modelCoeff[i,,11,]) title(paste("smoothed",pnames[i]))}}## Compute quantitative maps (R1, R2star, PD, MT)#qMRIMaps <- calculateQI(modelMPM, b1File = B1File, TR2 =3.4)qMRISmoothedp1Maps <- calculateQI(modelMPMsp1, b1File = B1File, TR2 =3.4)## resulting quantitative maps for central coronal slice#if(require(adimpro)){rimage.options(zquantiles=c(.01,.99), ylab="z")par(mfrow=c(2,4),mar=c(3,3,3,1),mgp=c(2,1,0))nmaps <- c("R1","R2star","PD","MT")qmap <- extract(qMRIMaps,nmaps)for(i in1:4) rimage(qmap[[i]][,11,],main=nmaps[i])qmap <- extract(qMRISmoothedp1Maps,nmaps)for(i in1:4) rimage(qmap[[i]][,11,],main=paste("Smoothed",nmaps[i]))}par(oldpar)