Originally I thought to name it BIDSLayout but that one was/is used as a class in pybids. On one hand it is great because corresponds in "principles". But I thought to avoid confusion at least ATM so to make it easier to find issues/code where such a term is used/mentioned. So for now decided to go with BIDSEntitiesLayout but it would be easy to change to anything we want.
TODOs
[x] rebase against master. Per conversation with @effigies since change is not breaking existing datasets (if we allow for "optional" session level somehow) we could aim for regular master.
[ ] seek initial feedback (attn @bids-standard/maintainers @bids-standard/steering et al)
[ ] formalize "optional" notion of session (for BIDS 2.0 I thought to mandate it being explicit. @effigies pointed out that fmriprep produced both with and without ses- ATM).
[ ] elaborate on having multiple paths (e.g. "." and `"atlases/" : attn #1714 folks TODO: add a team)
[ ] provide migration for datasets with sessions: would need to be added explicitly
[ ] add examples to bids2.0-examples
[ ] add few examples with alternative layouts (e.g. without session and modality folders, thus getting very close to DANDI BIDS-like setup. Attn @TheChymera who is trying nwb2bids on DANDI dandisets)
[ ] may be even just migrate them all into some alternative layouts and see validator to still operate correctly...
Aims to provide a solution to
Name rationale:
Originally I thought to name it
BIDSLayout
but that one was/is used as a class in pybids. On one hand it is great because corresponds in "principles". But I thought to avoid confusion at least ATM so to make it easier to find issues/code where such a term is used/mentioned. So for now decided to go withBIDSEntitiesLayout
but it would be easy to change to anything we want.TODOs
session
level somehow) we could aim for regular master.session
(for BIDS 2.0 I thought to mandate it being explicit. @effigies pointed out that fmriprep produced both with and without ses- ATM)."."
and `"atlases/" : attn #1714 folks TODO: add a team)session
andmodality
folders, thus getting very close to DANDI BIDS-like setup. Attn @TheChymera who is trying nwb2bids on DANDI dandisets)entities
in rules/files/common/tables.yaml - will be guided by layoutbidsschematools
to supportbids-validator
to support