Skip to content

Commit

Permalink
Add another example to inheritance principle for .json without entities
Browse files Browse the repository at this point in the history
Upon re-reading current Inheritance principle formulation, nothing seems to
forbid that, and such use in general is great since allows to generalize
common metadata across all files of that datatype.

Notes on possible side-effects from "embracing" such approach (which in
principle I think is not disallowed ATM).

- per rule 4, presence of `bold.json` forbids presence of another `_bold.json`
  (i.e with entity) on the same level. So if further specialization e.g. per
  each task- is needed, common metadata needs to be duplicated across them
  (that is what heudiconv does ATM).

  Such restrictions could potentially be elevated if we adopt
  "summarization" refactoring of inheritance principle
  bids-standard/bids-2-devel#65
  since order would stop to matter and thus multiple files can apply.

- I think that bids-validators are fine as checked on a single
  ds000248/T1w.json in bids-examples and modified 7t_trt.

- I do not know if tools implement it though but since there was precedence
  for ds000248/T1w.json - they better do ;-)
  • Loading branch information
yarikoptic committed Dec 19, 2024
1 parent 5b4b0fd commit 7d3b90e
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/common-principles.md
Original file line number Diff line number Diff line change
Expand Up @@ -852,6 +852,28 @@ A guide for using macros can be found at
}
) }}

Example 5: Generalization of Examples 1 and 4 for a sidecar file without entities

<!-- This block generates a file tree.
A guide for using macros can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
-->
{{ MACROS___make_filetree_example(
{
"sub-01": {
"anat": {},
"func": {
"sub-01_task-xyz_acq-test1_run-1_bold.nii.gz": "",
"sub-01_task-xyz_acq-test1_run-2_bold.nii.gz": "",
}
},
"bold.json": "",
}
) }}

where `bold.json` in top directory would be applicable to all `_bold.nii.gz`
regardless of any other entity in their filename.

## Participant names and other labels

BIDS allows for custom user-defined `<label>`s and `<index>`es for example,
Expand Down

0 comments on commit 7d3b90e

Please sign in to comment.