bloodPerfusionSVD: Calculate blood perfusion using deconvolution.

View source: R/bloodPerfusionSVD.R

bloodPerfusionSVDR Documentation

Calculate blood perfusion using deconvolution.

Description

Implementation of the deconvolution technique of Ostergaard et al. (http://www.ncbi.nlm.nih.gov/pubmed/8916023) for calculating cerebral (or pulmonary) blood flow. Other relevant references include http://www.ncbi.nlm.nih.gov/pubmed/16261573, http://www.ncbi.nlm.nih.gov/pubmed/8916023, and http://www.ncbi.nlm.nih.gov/pubmed/15332240.

Usage

bloodPerfusionSVD(
  perfusionImage,
  voiMaskImage,
  aifMaskImage,
  thresholdSVD = 0.2,
  deltaTime = 1
)

Arguments

perfusionImage

time series (n-D + time) perfusion acquisition.

voiMaskImage

n-D mask image indicating where the cerebral blood flow parameter images are calculated.

aifMaskImage

n-D mask image indicating where the arterial input function is calculated.

thresholdSVD

is used to threshold the smaller elements of the diagonal matrix during the SVD regularization. 0.2 is a common choice (cf. page 571, end of column 2 in http://www.ncbi.nlm.nih.gov/pubmed/16971140).

deltaTime

time between volumetric acquisitions. We assume a uniform time sampling.

Value

list with the cerebral blood flow image (cbfImage), cerebral blood volume image (cbvImage), mean transit time (mttImage), and arterial input function signal from the image (aifSignal) and the calculated arterial input function concentration (aifConcentration).

Author(s)

Tustison NJ

Examples

## Not run: 

perfusionFileName <- ""
if (file.exists(perfusionFileName)) {
  perfusionImage <- antsImageRead(
    filename = perfusionFileName,
    dimension = 4, pixeltype = "float"
  )
  voiMaskImage <- antsImageRead(
    filename = voiMaskFileName,
    dimension = 3, pixeltype = "unsigned int"
  )
  aifMaskImage <- antsImageRead(
    filename = aifMaskFileName,
    dimension = 3, pixeltype = "unsigned int"
  )


  deltaTime <- 3.4

  results <- bloodPerfusionSVD(perfusionImage,
    voiMaskImage, aifMaskImage,
    thresholdSVD = 0.2, deltaTime = deltaTime
  )

  antsImageWrite(results$cbfImage, paste0("cbf.nii.gz"))
  antsImageWrite(results$cbvImage, paste0("cpbv.nii.gz"))
  antsImageWrite(results$mttImage, paste0("mtt.nii.gz"))
}

## End(Not run)

stnava/ANTsR documentation built on March 24, 2024, 6:13 a.m.