Multiple scan sessions some bad anatomicals


Hi there,

If I have a participant with 2 scan sessions (a few weeks apart). One of the anatomicals is unusable. What is the best way to run it with fmriprep?
Is there good way of utilizing anat from one session to save the funcs from another?
How would fmriprep behave if one of the sessions is just missing the anatomical because I deleted it?
In general, is there a recommended way of dealing with rejected data?


Longitudinal FMRIPrep

As you hinted, removing it.

fMRIPrep will merge all the T1w images it finds across sessions. At least one T1w must be present for fMRIPrep to work. Depending on co-registration, fMRIPrep may drop further scans. But, if you know that scan should be excluded, please do so before running fMRIPrep.

No that I know of. However, there’ve been discussions under the BIDS specification umbrella about how to flag images that should be excluded, but that did not fly.



That’s good to know. Can that interact with the longitudinal flag/analysis if that is being used?

I wonder if there can be a future version of BIDS where we can flag/organize rejected data without deleting it altogether.


Potentially yes, but do you want to consider your T1w data longitudinal?

That will need someone to propose it and submit a PR to the bids-specification repo. If you were to push on that, this conversation will show you what are the potential argument in favor/against such new semantics.


The reason for longitudinal is that in some cases I have 2 sessions close together in time and then 2 more a couple of years later. one of the 4 sessions has a bad anat.

In other cases I have only 2 sessions (close in time) and one anat is bad. In which case, this can be analyzed without the longitudinal flag.


I meant “longitudinal” in an anatomical sense. In other words, do you expect substantial anatomical changes between sessions? By substantial I mean, e.g., a surgery or images were acquired 20 years apart.


Got it. Some participants are a developmental sample. So in principal a couple of years can make an anatomical difference.

I can probably run different subs with different flags in a way that makes most sense for the individual in question.


What is the age range?


as little as 7 during first scan sessions.


I guess then you should treat sessions as different subjects in that case.


That’s interesting. Howcome?


Because for fMRIPrep, the anatomy is relevant to place things around. When there are no big anatomical changes, we average the T1w images across sessions to remove noise. Treating sessions as individual participants will help registration steps to be more accurate. If anatomy changes a lot between sessions, the averaging is not going to do any good.


@oesteban How do you recommend treating each session as a different participant from BIDS format of /sub/ses (each of my participants have 2 sessions). Or is it already treated as different participants when separated like that?


Can you give me more context? Is your problem exactly the same posted on top?


@oesteban not exactly the same. But I have 2 sessions per participant. I don’t expect any significant anatomical differences between time-points (~3 weeks). How should I treat each session? You mentioned treating as individual participants-- does that mean I have to do something different when running fmriprep/organizing folders?

Also, I have pre-run freesurfer for each of the sessions, how should I organize these in the out/freesurfer/sub-xxx folders before running fmriprep? I’m not sure how to incorporate 2 sessions in the freesurfer folders. Or do I only need 1 of the sessions in there?

Thanks for the help.


Just do not set the --longitudinal argument nor split them into different subjects.

In general, fMRIPrep will run the averaging of the 2 T1w images on its own. You may want to re-run freesurfer via fMRIPrep. If not, it should just work.


Ok, thanks. We want to use our pre-run freesurfer since it’s been QC’d and run through our pipeline. However, I still don’t understand how to incorporate 2 sessions of freesurfer data into the fMRIPrep /out/freesurfer/sub folders. For example, if I create a folder for sub-123 in that fMRIPrep directory/folder, I can only put in one set of pre-run freesurfer outputs (i.e. label, mri, scripts, stats, surt, tmp, touch, trash). When pasting in more than one I get issues with duplicate names. I tried to work around this by creating one more layer of folders (ses-1a, ses-2a), but this caused errors when running fMRIPrep.

Thank you for the help as we would prefer to use our pre-run freesurfer from both sessions before running fMRIPrep.


Here there are some tips to run fMRIPrep reusing a FreeSurfer folder: