Is it possible to specify a target EPI volume to realign to (motion correct to) in fmriprep?


Use case:

We usually preform single voxel analysis in the subject’s EPI space. We also usually pool data across runs/sessions.

When visualizing results we transform them to the subject’s T1w.

We do this by:
1)Aligning all volumes to a single target EPI volume (for example the first volume of the first run, which I think is consistent with SPM)
2)Estimate a single transformation from the target EPI volume to the subject’s T1w. This transformation is applied when visualizing the results.

I think our approach is similar to the second use case mentioned here:
Fmriprep and native EPI space.

My (potentially incorrect) understanding is that fmriprep:
1) aligns each run to some type of mean image,
2) transforms each run to the desired output space (T1w, fsaverage. Or, if using the ‘func’ option, then the output is in the ‘native’ EPI space but not aligned across sessions/runs )

I have done some quick comparisons between fmriprep (output in T1w) and our existing pipeline and found that fmriprep indeed results in lower signal to noise ratio (estimated as response reliability). Happy to share more details about this as/if required.

We think that maybe the additional inter-run alignments in fmriprep hurts the signal to noise ratio, though we cannot rule out something else.

I know that there are some related things in the works, (,, but I can’t make out if these fixes will result in that sort of flexibility.

All and all I’ve found fmriprep really excellent and, aside from the reduced signal to noise ratio, much better than my current processes. It’d be great if this extra alignment option was available.

Cheers and apologies if I missed something obvious.



This is correct.

I would love to see these results, it could make a good case for us to push towards an EPI norm style of workflow (as you referenced with one of your links).

I would bet against you here :smiley:

Thanks for the nice words, looking forward to maxing out the priority of the EPI alignment.

No need, your feedback is really necessary to make fMRIPrep better. Thank you!

1 Like

Cheers for getting back @oesteban.

One easy way to try and tease out the effect of the extra alignments on the signal to noise ratio is to organize all the raw data as if it came from one run in one session. This way there would be no inter-run alignments, so it should be more similar to our existing pipeline. I’d like to give that a go.

I wanted to check with you if this would be breaking some fmriprep rules? Would you trust data processed in this way?



I think the approach is pretty smart, although it won’t save you from session effects: the grand mean of each run will be different, and some larger motion is expected between runs. These two factors may lead FSL MCFLIRT (the tools we use for head motion estimation and correction) to fail.

That said, I think that is the best first option to evaluate this. In principle, it shouldn’t break fMRIPrep, although you will end up with a humongous time series - be ready to allocate a lot of RAM.