ABCD : Multiple modalities/session/runs, Longitudinal and fmriPrep

Hi Team,

I think the question is partially answered here but want to be sure.

In my first attempt, I executed the fmriPrep via singularity image on all the sessions from ABCD dataset in one shot. The data was arranged in BIDS structure via dcm2bids, i.e., we had a root folder as the subject name and different sessions under this root.
But as fmriPrep uses the first T1 as a reference and aligns other T1s to it, results can not be used for a longitudinal study.

even if i use the --longitudinal flag , i would get an average of the T1 data which is not a valid path.

i can use

--bids-filter-file flag to specify which session to use …

for example below would represent the query for selecting the base line from ABCD

    "t1w": {
        "datatype": "anat",
        "session": "baselineYear1Arm1",
        "acquisition": null,
        "suffix": "T1w"
    "bold": {
        "datatype": "func",
        "session": "baselineYear1Arm1",
        "suffix": "bold"

Question : Can i use fmriPrep itself for running freesurfer by modifying the --fs-subjects-dir flag to change the destination for each session ? for example for baseline path will be sub-<ABCD_SUB_ID>/ses-baselineYear1Arm1/sourcedata/ ? or do I have to use freesurfer separately for each session and then use fmriPrep ( which i don’t want to do, i want to use fmriPrep itself)?

And of course much thanks to Admins for this wonderful platform. And shoutout to fmriPrep developers @effigies @oesteban and many more …

and also to @Ursula_Tooley

And then, later, when I merge the results from three possible sessions (baseline, 2 yr, 4 yr), I will maintain the BIDS format …

Is this a valid approach to using fmriPrep for longitudinal studies? Or do I have to use tools like freesurfer and then use the outputs with fmriprep?

Any comment/notes/direction/help would be much appreciated by this newbie !!!


I’m not sure if modifying the FS path will work for writing outputs, I took the second approach when processing longitudinal data (running freesurfer separately then feeding into fMRIprep). However, you should easily be able to test it and then look at the .html files afterwards to ensure that the number of T1s matches that that you’re expected.

Sorry couldn’t be more help.