Fieldmap, multi-echo EPI and implementation in fmriprep (plus tedana!)

Dear All,

We’d like to include a fieldmap correction (STC) in our processing pipeline of multi-echo fMRI data, but also want to take advantage of tedana for denoising, which afaik should happen in functional space after fmriprep has run… (see earlier thread here)

For simplicity I was thinking of using the Siemens standard gre_mapping_ sequence - which uses the calculated phase difference (after phase unwrapping) to estimate the local field variation (the fieldmap). Are there any significant pitfalls for using this rather than a PEPOLAR/TOPUP approach?

Assuming we went with the gre_mapping technique, and have the correct information in the sidecar (PE direction, effective echo spacing) it seems like fmriprep can derive the fieldmap for us. However, from here it looks like SDC is only(?) incorporated during EPI to MNI transformation? Is that correct?

That seems to be at odds with what @tsalo suggested fmriprep does here - so I suspect I’m just misreading the processing pipeline.

I assume that this would minimise the number of transformations by combining the HMC, BBR and SDC, with the warping from T1 to MNI to achieve a single transformation step?

From what @tsalo mentioned in the earlier thread, I guess there’s no way to avoid breaking the pipeline into seperate parts if you want to denoise with tedana?

Best wishes,

Jon

You’re probably looking for:

https://fmriprep.org/en/25.1.4/workflows.html#pre-processed-bold-in-native-space

I will note that the “Interpolation uses a Lanczos kernel.” is outdated. We use SciPy’s b-spline prefilter for interpolation now.

Correct, fMRIPrep aims for the fewest number of interpolations to avoid accumulating error unnecessarily.

Correct. Tedana needs to work on data that is already motion corrected, and so you might as well SDC it as well, and then the transformation to your target spaces is easy using tools like ANTs.

I don’t know if it’s theoretically possible to calculate time series from HMC’d data and then apply the denoising to data resampled to your target space. That might be one way to have your cake and eat it, too, but I would run that by Tedana users/developers first.

1 Like

Think I might have answered my own question: from here - the output from fmriprep will include HMC, STC, and SDC to generate bold in native space.

Tedana will then estimate noise components from the native space (pre-processed) data, which can be filtered out.

I’d then input the denoised-optimally combined-HMC-SDC-STC data into FSL…where smoothing and high-pass temporal filtering will be performed prior to model estimation…

FSL would determine the additional transform from representative EPI to subject’s T1 (BBR) and hence to MNI space.

I have a pathological aversion to inputting single subject data in MNI space for first level processing - it’s probably completely irrational, just feels wrong.

Best wishes,

Jon

Hi @effigies

Thanks for your reply.

I think this was the approach @tsalo suggested… not sure if denoising data after transformation will be optimal though…?

Best wishes,
Jon