Filter catalog files based on metadata conditions.
Usage
# S3 method for class 'image_catalog'
subset(x, subset, ...)Examples
# Build a tiny study tree with empty placeholder files
root <- tempfile("study_")
for (s in c("01", "02")) {
d <- file.path(root, paste0("sub-", s))
dir.create(d, recursive = TRUE)
invisible(file.create(file.path(d, c("cope1.nii.gz", "varcope1.nii.gz"))))
}
catalog <- image_catalog(root, "sub-*/*.nii.gz",
path_regex = "sub-(?<subject>[^/]+)")
catalog <- assign_meta(catalog, "stat_type", "^([a-z]+)[0-9]+")
# Keep only files from subject "01"
sub_catalog <- subset(catalog, subject == "01")
sub_catalog
#> Image Catalog
#> Files: 2
#> Root: /tmp/Rtmp17Odxi/study_1cecbd8219a
#> Pattern: sub-*/*.nii.gz
#> Metadata columns: subject, stat_type
#> Subjects: 1 (01)
# Multiple conditions
sub_catalog <- subset(catalog, subject %in% c("01", "02") & stat_type == "cope")
sub_catalog$metadata$basename
#> [1] "cope1.nii.gz" "cope1.nii.gz"
unlink(root, recursive = TRUE)