Learn R Programming

oasis (version 3.0.4)

oasis_preproc: OASIS Image Preprocessing

Description

This function does the required preprocessing for OASIS for the FLAIR, T2, T1, and PD volumes using FSL through fslr. The preprocessing steps are (1) inhomogeneity correct using fsl_biascorrect and (2) rigid registration using flirt to the T1 space.

Usage

oasis_preproc(flair, t1, t2, pd = NULL, brain_mask = NULL, verbose = TRUE,
  cores = 1)

Arguments

flair

FLAIR volume of class nifti

t1

T1 volume of class nifti

t2

T2 volume of class nifti

pd

PD volume of class nifti

brain_mask

binary mask volume of class nifti

verbose

a logical value for printing diagnostic output

cores

numeric indicating the number of cores to be used (no more than 4 is useful for this software implementation)

Value

Returns a list of objects of class nifti, namely the inhomogeneity corrected FLAIR, T1, T2, and PD registered to the space of the T1 volume.

Examples

Run this code
# NOT RUN {
library(neurobase)
dl_file = function(url) {
   tfile = tempfile(fileext = ".nii.gz")
   req <- httr::GET(url,
   httr::write_disk(path = tfile))
   httr::stop_for_status(req)
   tfile
}
in_ci <- function() {
 nzchar(Sys.getenv("CI"))
}
on_cran = function() {
 identical(Sys.getenv("NOT_CRAN"), "false")
} 
if (in_ci() || on_cran()) {
  if (fslr::have.fsl() && require(httr)) {
    mods = c("FLAIR", "T1W", "T2W", "consensus_gt", "brainmask")
    base_url = file.path(
      "https://raw.githubusercontent.com/muschellij2/open_ms_data", 
      "master/cross_sectional/coregistered/patient01/")
    files = paste0(base_url, mods, ".nii.gz")
    files = sapply(files, dl_file)
    names(files) = mods

    flair <- readnii(files["FLAIR"])
    t1 <- readnii(files["T1W"])
    t2 <- readnii(files["T2W"])
    brain_mask <- readnii(files["brainmask"])
    gold_standard = readnii(files["consensus_gt"])
    oasis_preprocessed_data <- oasis_preproc(flair, t1, t2, 
      brain_mask = brain_mask)
  } 
}
# }

Run the code above in your browser using DataLab