estimateIR: Estimate IRMRI parameters

View source: R/estimateIR.R

estimateIRR Documentation

Estimate IRMRI parameters

Description

Parameter estimation ( intensity, relaxation rate, proportion of fluid) in Inversion Recovery MRI data.

Usage

estimateIR(IRdataobj, TEScale = 100, dataScale = 1000, method = c("NLR", "QL"),
           varest = c("RSS","data"), fixed = TRUE, smoothMethod=c("PAWS","Depth"),
           kstar = 24, alpha = .025, bysegment = TRUE, verbose = TRUE)

Arguments

IRdataobj

4D array of IRMRI signals. First dimension corresponds to Inversion times (InvTime).

TEScale

Internal scale factor for Echo Times. This influences parameter scales in numerical calculations.

dataScale

Internal scale factor for MR signals. This influences parameter scales in numerical calculations.

method

Either "NLS" for nonlinear least squares (ignores Rician bias) or "QL" for Quasi-Likelihood. The second option is more accurate but requires additional information and is computationally more expensive.

varest

Method to, in case of method="QR", estimate sigmaif not provided. Either from residual sums of squares ("RSS") or MR signals ("data") using function varest from package aws. Only to be used in case that no image registration was needed as preprocessing.

fixed

Should adaptive smoothing performed for Sx and Rx maps and fx maps reestimated afterwards ?

smoothMethod

Either "PAWS" or "Depth". the second option is not yet implemented.

kstar

number of steps used in PAWS

alpha

significance level for decisions in aws algorithm (suggestion: between 1e-5 and 0.025)

bysegment

TRUE: restrict smoothing to segments from segmentation, FALSE: restrict smoothing to solid mask.

verbose

Logical. Provide some runtime diagnostics.

Details

This function implements the complete pipeline of IRMRI anlysis.

Value

List of class "IRmixed" 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

fx

Array of fluid proportions

Sx

Array of maximal signals

Rx

Array of relaxation rates

Sf

Global estimate of maximal fluid signal

Rf

Global estimate of fluid relaxation rate

ICovx

Covariance matrix of estimates fx, Sx and Rx.

sigma

Array of provided or estimated noise standard deviations

Convx

Array of convergence indicators

rsdx

Residual standard deviations

The arrays contain entries for all voxel with segments%in%1:3.

Author(s)

Karsten Tabelow tabelow@wias-berlin.de
J\"org Polzehl polzehl@wias-berlin.de

See Also

estimateIRfluid, estimateIRsolid, estimateIRsolidfixed,smoothIRSolid

Examples

##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (IRdata, InvTimes, segments, fixed = TRUE, smoothMethod = c("Depth", 
    "PAWS"), bw = 5, TEScale = 100, dataScale = 1000, method = c("NLR", 
    "QL"), sigma = NULL, L = 1, maxR2star = 50, varest = c("RSS", 
    "data"), verbose = TRUE) 
{
    ergsFluid <- estimateIRfluid(IRdata, InvTimes, segments)
    Sfluid <- median(ergsFluid$Sfluid)
    Rfluid <- median(ergsFluid$Rfluid)
    ergsBrain <- erstimateIRsolid(IRdata, InvTimes, segments, 
        Sfluid, Rfluid)
    if (fixed) {
        if (smmothMethod == "Depth") stop("not yet implemented")
#            ergsSmooth <- SdepthSmooth(ergsBrain, segments)
        if (smmothMethod == "PAWS") 
            ergsSmooth <- vpawscov2(ergsBrain, segments)
    }
    ergsSmooth
  }

qMRI documentation built on Sept. 18, 2023, 9:08 a.m.