readIRData | R Documentation |
The function reads IRMRI images given as NIfTI files in t1Files, inversion times and segmentation image(s) aund prepares an object class "IRdata"
readIRData(t1Files, InvTimes, segmFile, sigma = NULL, L = 1,
segmCodes = c("GM", "WM", "CSF"))
t1Files |
Names of NIfTI files containing the recorded images. |
InvTimes |
Corresponding inversion times |
segmFile |
Either a NIfTI file containing a segmentation into GM, WM and CSF or three files containing probability maps for GM, WM and CSF |
sigma |
Noise standard deviation |
L |
Effective number of coils, L=1 assumes a Rician signal distribution |
segmCodes |
sequence of tissue code in segmFile |
A list of class "IRdata"
with components
IRdata |
4D array containing the IRMRI data, first dimension refers to inversion times |
InvTimes |
vector of inversion times |
segm |
segmentation codes, 1 for CSF, 2 for GM, 3 for WM, 0 for out of brain |
sigma |
noise standard deviation, if not specified estimated fron CSF areas in image with largest inversion time |
L |
effective number of coils |
Karsten Tabelow tabelow@wias-berlin.de
J\"org Polzehl polzehl@wias-berlin.de
J. Polzehl and K. Tabelow (2023), Magnetic Resonance Brain Imaging: Modeling and Data Analysis Using R, 2nd Edition, Chapter 7, Springer, Use R! Series. <doi:10.1007/978-3-031-38949-8_7>.
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>.
estimateIRfluid
, estimateIRsolid
, estimateIR
,smoothIRSolid
dataDir0 <- system.file("extdataIR", package = "qMRI")
dataDir <- tempdir()
library(oro.nifti)
library(qMRI)
segm <- readNIfTI(file.path(dataDir0,"Brainweb_segm"))
Sf <- 900
Rf <- 0.000285
Sgm <- 400
Rgm <- 0.00075
fgm <- .15
Swm <- 370
Rwm <- 0.0011
fwm <- .05
InvTimes0 <- c(100, 200, 400, 600, 800, 1200, 1600, 2000, 2500, 3000,
3500, 4000, 4500, 5000, 6000, 15000)
nTimes <- length(InvTimes0)
sigma <- 40
## generate IR signal
IRdata <- generateIRData(segm, c(Sf,Rf), c(fgm,Rgm,Sgm), c(fwm,Rwm,Swm), InvTimes0, sigma)
for(i in 1:9) writeNIfTI(as.nifti(IRdata[i,,,]),
file.path(dataDir,paste0("IR0",i)))
for(i in 10:nTimes) writeNIfTI(as.nifti(IRdata[i,,,]),
file.path(dataDir,paste0("IR",i)))
## generate IRdata object
t1Files <- list.files(dataDir,"*.nii.gz",full.names=TRUE)
segmFile <- file.path(dataDir0,"Brainweb_segm")
IRdata <- readIRData(t1Files, InvTimes0, segmFile, sigma=sigma,
L=1, segmCodes=c("CSF","GM","WM"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.