vignettes/Reading_GIFTI_Files.R

## ---- eval = FALSE------------------------------------------------------------
#  outdir = NULL
#  library(gifti)
#  have_gifti_test_data(outdir = outdir)

## ---- include = FALSE---------------------------------------------------------
outdir = NULL
library(gifti)
have_gifti_test_data(outdir = outdir)

## ---- eval = FALSE------------------------------------------------------------
#  if (!have_gifti_test_data()) {
#    download_gifti_data()
#  }

## ---- include = FALSE---------------------------------------------------------
if (!have_gifti_test_data(outdir = outdir)) {
  download_gifti_data(outdir = outdir)
}

## ---- eval = FALSE------------------------------------------------------------
#  if (have_gifti_test_data(outdir = outdir)) {
#    gii_files = download_gifti_data(outdir = outdir)
#    gii_list = lapply(gii_files, readgii)
#    surf_files = grep("white[.]surf[.]gii", gii_files, value = TRUE)
#    surfs = lapply(surf_files, surf_triangles)
#  
#    col_file = grep("white[.]shape[.]gii", gii_files, value = TRUE)
#    cdata = readgii(col_file)
#    cdata = cdata$data$shape
#    mypal = grDevices::colorRampPalette(colors = c("blue", "black", "red"))
#    n = 4
#    breaks = quantile(cdata)
#    ints = cut(cdata, include.lowest = TRUE, breaks = breaks)
#    ints = as.integer(ints)
#    stopifnot(!any(is.na(ints)))
#    cols = mypal(n)[ints]
#    cols = cols[surfs[[1]]$triangle]
#  
#    if (requireNamespace("rgl", quietly = TRUE)) {
#      rgl::rgl.open()
#      rgl::rgl.triangles(surfs[[1]]$pointset, color = cols)
#      rgl::play3d(rgl::spin3d(), duration = 5)
#    }
#  }

## ---- include = FALSE---------------------------------------------------------
if (have_gifti_test_data(outdir = outdir)) {
  gii_files = download_gifti_data(outdir = outdir)
  gii_list = readgii(gii_files)
  surf_files = grep("white[.]surf[.]gii", gii_files, value = TRUE)
  surfs = lapply(surf_files, function(r) {
    if (r == surf_files[[1]]) {
      r = readgii(r)
    }
    surf_triangles(r)
    })
  
  col_file = grep("white[.]shape[.]gii", gii_files, value = TRUE)
  cdata = readgii(col_file)
  cdata = cdata$data$shape
  mypal = grDevices::colorRampPalette(colors = c("blue", "black", "red"))
  n = 4
  breaks = quantile(cdata)
  ints = cut(cdata, include.lowest = TRUE, breaks = breaks)
  ints = as.integer(ints)
  stopifnot(!any(is.na(ints)))
  cols = mypal(n)[ints]
  cols = cols[surfs[[1]]$triangle]
  
  if (requireNamespace("rgl", quietly = TRUE)) {
    rgl::rgl.open()
    rgl::rgl.triangles(surfs[[1]]$pointset, color = cols)
    rgl::play3d(rgl::spin3d(), duration = 5)
  }
}
neuroconductor/gifti documentation built on Feb. 6, 2023, 6:52 a.m.