Naming scheme when multiple scans are acquired with same parameters

I’m trying to plan a process for our center to move from proprietary organization schema to BIDS organization and we’ve run into an issue regarding some between-subject inconsistencies.

The issue: We have a longitudinal dataset divided into epochs 1-6, each corresponding to the # of years since the subject consented. We would like this “epoch” to be the “session” that BIDS uses in the naming schema. This allows us to compare all subjects within a particular time frame. However, we have several instances in which data were collected over multiple days. For instance, if we collected functional data on day 1 then dwi data on day 2, we most likely have 2 T1w images, one collected for each scanner session, both with the same acquisition parameters. This introduces an issue where we would want to use the first T1w with functional scans then the second with dwi scans. However all of the scans are part of the same “session,” per BIDS.

We currently plan to use this naming schema:
BIDS
-sourcedata
-sub-001
–ses-EPOCH1
—anat
----run-01_T1w
----run02_T1w

and including a bids-ignore’d README file that relates the T1w to each particular scan.

We can hard code our scripts to handle this, however, we’re concerned that tools like fmriprep would not know what to do with them, average them, or otherwise not utilize them correctly. Which would completely defeat BIDS’s core concepts of data reproducibility and easy sharing. We would also run into validation issues because subjects won’t all have the same # of files.

My question: is there another naming scheme that anyone recommends that would deal with these use cases? Or is this perhaps something that needs to be brought up to the BIDS community at large for debate? Ideally, an additional directory in the folder structure would work great. Something like:

BIDS
-sourcedata
-sub-001
–ses-EPOCH1
—ses-1
----anat
-----run-01_T1w
—ses-2
----anat
-----run02_T1w

Or even perhaps a .json field that relate the anat with particular func/dwi/perf scans? Similar to how fmaps are assigned? (although my understanding is this method will be changing in future BIDS versions).

Does anyone have any thoughts?

Thanks!
Bryan Jackson

Hi @bryjack0890,

This would be a good use of a bids_filter_file input to fmriprep. You could have acq-epoch1, for example, on everything related to epoch1, and filter based on the acq label. See here: FAQ - Frequently Asked Questions — fmriprep version documentation

Best,
Steven