Extract a single assay from a GDS object and return it as a
neuroim2::NeuroVec (4D neuroimaging array), stacking along the 4th
dimension.
Usage
as_neurovec(
x,
assay = "beta",
along = c("subject", "contrast", "both"),
subset_subjects = NULL,
subset_contrasts = NULL
)Arguments
- x
A GDS object with a voxel space.
- assay
Name of the assay to extract (default:
"beta").- along
Which dimension to stack along the 4th dimension. One of:
"subject": Stack subjects (collapses contrasts if multiple)."contrast": Stack contrasts (collapses subjects if multiple)."both": Stack all subject x contrast combinations.
- subset_subjects
Optional character vector of subject IDs to include.
- subset_contrasts
Optional character vector of contrast names to include
Value
A neuroim2::NeuroVec object with dimensions [x, y, z, n] where
n depends on the along parameter.
Examples
if (requireNamespace("neuroim2", quietly = TRUE)) {
sp4 <- neuroim2::NeuroSpace(c(4, 4, 2, 4), spacing = c(2, 2, 2))
vec4d <- neuroim2::NeuroVec(array(rnorm(128), c(4, 4, 2, 4)), sp4)
gds <- as_gds(vec4d, along = "subject", subjects = paste0("sub0", 1:4))
# Stack all subjects into a 4D volume
vec <- as_neurovec(gds, assay = "beta", along = "subject")
print(dim(vec))
# Stack specific subjects
vec <- as_neurovec(gds, assay = "beta", along = "subject",
subset_subjects = c("sub01", "sub02"))
print(dim(vec))
}
#> [1] 4 4 2 4
#> [1] 4 4 2 2