Fmriprep and native EPI space

It seems like a variant of this question has been asked before, but I’m a little confused about the implementation plans.

Is it possible to ask fmriprep to output functional runs in native EPI space? I know there’s a T1w flag to output data in anatomical native space, and this issue (https://github.com/poldracklab/fmriprep/pull/1334#discussion_r226676575) makes it seem like there was an “orig” flag planned at some point, and I assume that was intended to direct native EPI space outputs.

But it seems like the native EPI output got wrapped up into a bigger discussion about how to handle output spaces with the sMRI release and I’m not sure what the timeline is for that.

In the meantime, what are the chances that the native outputs I want exist somewhere in the working directories?

Thanks!
Todd

Hi Todd,

Yes, this is an open discussion. You are very welcome to weigh in and tell us about your needs. At this point, I think the plan is to enable writing outputs in “the original run’s EPI space”, but the concept of “EPI (native) space” is a bit tricky. If by native we understand each run, then that would be easy to implement although runs would not be registered in between. Otherwise, we would be implementing some sort of “EPInorm” approach. If we created a subject-wise “EPI” space then we should consider running registration between runs which is not supported by fMRIPrep at this point.

Happy to push the priority up on this if requested.

I think there are actually two possible use cases here that we’d find helpful.
The first is, I think, the way you’re currently planning on using the ‘orig’ flag. Each run has volumes coregistered to it’s own target EPI, but there is no between-run coregistration. We’d use this when we want to have the absolute minimal amount of transformation in an analysis (e.g., we want to make every possible effort to keep from blending voxels across small subcortical regions).

The second use case is a more traditional native-space analysis that you refer to as the EPInorm approach. In the past, I’ve done something like coregistering the first run to its target volume, and then registering subsequent runs to that first target image as well. This lets you do a complete subject-level analysis in native space before doing the normalization to template-space for group analyses. In a vanilla analysis, it has the advantage of smaller file sizes and faster-running GLMs because data hasn’t been upsampled. And then there are arguments to be made about the advantages of fewer transformations that I’ve never found entirely compelling.

Regarding priority – there are some things we’d like to implement soon that would really benefit from native-space (‘orig’) outputs, but we’re also happy to consider workarounds if you can think of any that are relatively straight-forward!

Hi @toddt,

For some reason I’ve just landed on this thread.

Just so you know, fMRIPrep now writes the BOLD data in their original (run) grid after head-motion, susceptibility-distortion and slice-time corrections. Please refer to https://fmriprep.readthedocs.io/en/latest/spaces.html for further details.

I also wanted to kindly ask you to weigh in this discussion - https://github.com/poldracklab/fmriprep/issues/1604. I’m pretty sure your opinion will be very useful.

Finally, regarding the EPInorm approach (for which your opinion is very welcome too), I would like to ask you whether you know some literature about the problem of applying nonlinear transforms to resample statistical maps. I believe I’ve heard some concerns about this in the past.

Thanks very much