This generic function parses a BIDS filename into its component parts. It uses a parser combinator approach to match the filename against known BIDS patterns and extract relevant metadata such as subject ID, session, task, run, and modality.
Examples
# Parse an anatomical file
parser <- anat_parser()
parse(parser, "sub-01_T1w.nii.gz")
#> $result
#> $result$subid
#> [1] "01"
#>
#> $result$kind
#> [1] "T1w"
#>
#> $result$suffix
#> [1] "nii.gz"
#>
#> $result$type
#> [1] "anat"
#>
#>
#> $remaining
#> [1] ""
#>
# Parse a functional file
parser <- func_parser()
parse(parser, "sub-01_task-rest_run-01_bold.nii.gz")
#> $result
#> $result$subid
#> [1] "01"
#>
#> $result$task
#> [1] "rest"
#>
#> $result$run
#> [1] "01"
#>
#> $result$kind
#> [1] "bold"
#>
#> $result$suffix
#> [1] "nii.gz"
#>
#> $result$type
#> [1] "func"
#>
#>
#> $remaining
#> [1] ""
#>
# Use the generic BIDS parser
parser <- bids_parser()
parse(parser, "sub-01_ses-pre_task-rest_run-01_bold.nii.gz")
#> $result
#> $result$subid
#> [1] "01"
#>
#> $result$session
#> [1] "pre"
#>
#> $result$task
#> [1] "rest"
#>
#> $result$run
#> [1] "01"
#>
#> $result$kind
#> [1] "bold"
#>
#> $result$suffix
#> [1] "nii.gz"
#>
#> $result$type
#> [1] "funcprep"
#>
#>
#> $remaining
#> [1] ""
#>