bids-standard / bids-2-devel

Discussions and suggestions of backwards incompatible changes to BIDS
https://bids.neuroimaging.io/
Creative Commons Attribution 4.0 International
10 stars 1 forks source link

Allow ``IntendedFor`` and make ``task-`` optional for ``_sbref.ext`` #47

Open oesteban opened 5 years ago

oesteban commented 5 years ago

Related to bids-standard/bids-specification#239.

Some fMRI studies will not acquire one SBRef for every multiband BOLD scan (this is probably true for DWI too, and thus bids-standard/bids-specification#239).

Currently, the task-Name entity needs to be defined for SBRefs. Doing it optional, would allow the following:

func/
  sub-3010_sbref.nii.gz
  sub-3010_task-discountFix_run-1_bold.nii.gz
  sub-3010_task-manipulationTask_run-1_bold.nii.gz
  sub-3010_task-motorSelectiveStop_run-1_bold.nii.gz
  sub-3010_task-rest_run-1_bold.nii.gz
  sub-3010_task-rest_run-1_sbref.nii.gz
  sub-3010_task-stopSignal_run-1_bold.nii.gz

Where, by the inheritance principle, sub-3010_sbref.nii.gz is intended for all tasks but rest because a particular sbref exists for that one.

Additionally, I propose to allow defining the IntendedFor metadata for SBRefs, so the same behavior can be implemented without missing the provenance about what task was acquired closest to the sbref, e.g.:

func/
  sub-3010_task-discountFix_run-1_bold.nii.gz
  sub-3010_task-discountFix_run-1_sbref.json
  sub-3010_task-discountFix_run-1_sbref.nii.gz
  sub-3010_task-manipulationTask_run-1_bold.nii.gz
  sub-3010_task-motorSelectiveStop_run-1_bold.nii.gz
  sub-3010_task-rest_run-1_bold.nii.gz
  sub-3010_task-rest_run-1_sbref.nii.gz
  sub-3010_task-stopSignal_run-1_bold.nii.gz

where sub-3010_task-discountFix_run-1_sbref.json has an IntendedFor field:

{
  "IntendedFor": [
    "sub-3010_task-discountFix_run-1_bold.nii.gz",
    "sub-3010_task-manipulationTask_run-1_bold.nii.gz",
    "sub-3010_task-motorSelectiveStop_run-1_bold.nii.gz",
    "sub-3010_task-stopSignal_run-1_bold.nii.gz"
  ]
}