Field maps for use in susceptibility distortion correction (SDC) of EPI images

Which field map type is preferred for susceptibility distortion correction (SDC) of EPI images: a) two magnitude, plus one phase difference, field maps, or, b) two opposite phase-encoded (A<>P, or R<>L) field maps?

My understanding is that field maps of type (b), which are usually spin-echo images, are collected in a shorter time than maps from type (a), which are often gradient-echo, so type (b) might reduce motion artifact.

Is there any other advantage to b) two opposite phase-encoded (A<>P, or R<>L) versus a) two magnitude, plus one phase difference, field maps? Are they roughly equivalent?

1 Like

Spatial distortions are inherent to EPI.
The FSL FUGUE method uses a gradient each field map to estimate spatial distortion.

FSL TOPUP uses two EPI images with opposite phase encoding polarity. Both images are distorted by the same magnitude, but with the opposite direction, allowing you to estimate the undistorted midpoint. TOPUP was developed for spin echo sequences, where the signal position is shifted (compressed in some regions, rarefied in others). In contrast, from first principles one might expect it to be less useful for gradient echo EPI, where one has signal dropout. However, in practice [several groups] report it works fine for gradient echo sequences.

So my thoughts are:

  • If you want to undistort DWI (diffusion) images, use TOPUP/Eddy. The raw images are spin echo, and so you can get undistortion for free. You may want to consider a monopolar sequence that has better SNR but more raw spatial distortion (since you can correct the latter with TOPUP).
  • If you want to undistort T2* (fMRI, resting state) gradient echo EPIs, there are several competing methods. It is not obvious one is better:
  1. Acquire a gradient echo field map and use FUGUE.
  2. Acquire two additional spin echo images and use TOPUP.
  3. Acquire a series of gradient echo images with reversed phase encoding.

The first two approaches probably provide a more accurate estimate of the spatial distortion, but do require accurately warping this distortion map to the source images. The final example suffers from signal dropout, but it is native to the images being corrected.

Chris, thanks so much for your reply.

So for EPI (all gradient echo, A-P encoded), we should be okay with two magnitude and one phase difference field maps (in lieu of two spin echo reverse phase encoded field maps, here A-P, P-A).

For DWI, we do use two spin echo reverse phase encoded field maps (L-R,R-L) exclusively, so we’re all set there.

Thanks again!

Hi Chris, our lab uses the 3rd method, do you know how to apply TOPUP on it? We only collect 1 volume of PA encoding gradient echo image after the first BOLD run. Do we use the last volume from the previous BOLD sequence as the AP encoding direction?

1 Like

I’m also having trouble finding reference for this method, could you kindly share any reference you came across?

I have never used the 3rd method, but it is evaluated here.

See the discussion here.
@dglen may have further insights.

About the 3rd method, from FSL forum, with topup developper:

https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=ind2212&L=FSL&D=0&O=D&P=34789

1 Like

afni_proc.py provides for blip-up/down correction as part of an FMRI pipeline with the -blip_forward_dset and -blip_reverse_dset options. The multiple spatial transformations that are part of a typical pipeline are concatenated to minimize interpolation. Also see the unWarpEPI.py for similar transformations.

1 Like

Hi @jsein,

Thank you for sharing that information.
It seems like between GE-EPI and SE-EPI, SE-EPI might actually be more accurate for distortion correction: https://cds.ismrm.org/protected/18MProceedings/PDFfiles/2334.html

Best,
Jagan.

I have a problem when utilizing the two opposite phase-encoded (A<>P) field maps. It seems the fmriprep estimated the fieldmap rather than using my provided spinechofieldmap. The log file is as follow:

“Found usable B0-map (fieldmap) estimator(s) <auto_00000> to correct <(’/data/sub-/ses-1/func/sub-_ses-1_task-rest_echo-01_bold.nii’, ‘/data/sub-/ses-1/func/sub-_ses-1_task-rest_echo-02_bold.nii’, ‘/data/sub-/ses-1/func/sub-_ses-1_task-rest_echo-03_bold.nii’)> for susceptibility-derived distortions.”

My fmap folder was organized and named as follow:

Could anybody tell me the reason? Thanks very much!!!

Hi @steve1, and welcome to Neurostars!

Please open a new issue under the Software Template category, making sure to fill in all information in the prepopulated template so we can best debug your issue.

Best,
Steven