## ----echo = FALSE, message = FALSE-------------------------------------------- knitr::opts_chunk$set(collapse = T, comment = "#>") library(assertthat) library(purrr) library(neuroim2) options(mc.cores=1) ## ----------------------------------------------------------------------------- library(neuroim2) file_name <- system.file("extdata", "global_mask2.nii.gz", package="neuroim2") vol <- read_vol(file_name) ## ----------------------------------------------------------------------------- sphere <- spherical_roi(vol, c(20,20,20), radius=5, fill=100, use_cpp=FALSE) ## ----echo=FALSE--------------------------------------------------------------- sphere ## ----------------------------------------------------------------------------- rpoint <- c(-34,-28,10) ## ----------------------------------------------------------------------------- vox <- coord_to_grid(vol, rpoint) sphere <- spherical_roi(vol, vox, radius=10, fill=1) dim(coords(sphere)) ## ----------------------------------------------------------------------------- coords <- index_to_coord(vol, indices(sphere)) center_of_mass <- colMeans(coords) center_of_mass ## ----------------------------------------------------------------------------- sphere <- spherical_roi(vol, c(50,10,10), radius=10, fill=1) sphere ## ----------------------------------------------------------------------------- sparsevol <- SparseNeuroVol(sphere, space(vol),indices=indices(sphere)) sum(sparsevol) == sum(sphere) all(dim(sparsevol) == dim(vol)) ## ----------------------------------------------------------------------------- library(purrr) ## generate a list of searchlight ROIs slist <- searchlight(vol, eager=TRUE, radius=8) ## compute the mean value in each searchlight ROI. ret <- slist %>% purrr::map(~ mean(vol[coords(.)])) ## ----------------------------------------------------------------------------- ret <- vol %>% random_searchlight(radius=8) %>% purrr::map(~ mean(vol[coords(.)])) ## ----------------------------------------------------------------------------- grid <- index_to_coord(vol, which(vol > 0)) kres <- kmeans(grid, centers=50, iter.max=500) ## ----------------------------------------------------------------------------- kvol <- ClusteredNeuroVol(vol, kres$cluster) ret <- vol %>% clustered_searchlight(cvol=kvol) %>% purrr::map(~ mean(vol[coords(.)])) ## ----------------------------------------------------------------------------- pset <- patch_set(vol, dims=c(3,3,1)) length(pset) ret <- pset %>% purrr::map(~ mean(.)) ## ----------------------------------------------------------------------------- pset <- patch_set(vol, dims=c(3,3,1), mask=as.logical(vol)) length(pset) ret <- pset %>% purrr::map(~ mean(.))