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

Eliminate aslcontext file in favor of metadata field #61

Open tsalo opened 5 months ago

tsalo commented 5 months ago

The aslcontext TSV file may only contain one column (volume_type), with one row for each volume in the associated ASL file(s). There are other volume-wise fields in the metadata already (e.g., PostLabelingDelay, in some circumstances), so we could just create a VolumeType metadata instead of having a separate file for this information. It would also make it easier for tools to keep track of one associated file (the JSON), rather than two (the JSON and the aslcontext file).

yarikoptic commented 5 months ago

Devil's advocate here:

As .tsvs in BIDS have flexible schema -- only few mandatory, some suggested and then anything someone wants for the fields -- I wondered if may be the idea was to be able to add such auxiliary columns? insofar though I have not found such example among openneuro datasets.

another aspect is that it seems to be a label per volume in .nii.gz. Placing it into .json would work but make it a little wild for a long nii.gz. E.g. ./ds003151/sub-174/ses-hormonepresent/perf/sub-174_ses-hormonepresent_aslcontext.tsv has 89 rows, ./ds000240/sub-19/perf/sub-19_aslcontext.tsv 110. And altogether we tend to keep temporal information like that in sidecar .tsv's.

tsalo commented 5 months ago

The other volume-wise information (e.g., RepetitionTimePreparation) can also be a single value that applies to the whole file, so it makes sense that it's in the JSON.

And altogether we tend to keep temporal information like that in sidecar .tsv's.

That's true, but the aslcontext is so limited (unlike, e.g., events files) that I don't think keeping that info in its own file buys us much. More than anything, though, I personally would rather reduce the number of associated files that software needs to track.