Gibbs artifact in EPI data - is it handled in fmriprep?

Hello,

Main question: Does fmriprep handle gibbs ringing artifacts?

Issue at hand and background:

  • We’ve noticed gibbs ringing within our mriqc outputs [ Figure 1 below ]
  • The rings are still present in T1 images, after fmriprep preprocessing [ Figure 2 & 3 below ]
  • Several communities have suggested that smoothing will resolve the gibbs artifact; however, we plan to NOT smooth the data for the purpose of running MVPA and hyperalignment.
  • For DWI data, there are many resources regarding de-gibbs algorithms; we’re also aware that qsiprep has a degibbs option.

Back to question:
Does fmriprep handle gibbs artifacts? Or if we need to take additional steps, could you please recommend any “post” preprocessing algorithms, such as MRtrix3’s degibbs algorithm?

Thank you in advance!

Heejung

[ Figure 1: mriqc output, rings visible from the ICA components ]

[ Figure 2: T1w BEFORE fmriprep, rings visible ]

[ Figure 3: T1w AFTER fmriprep, rings visible ]

I have been impressed with mrdegibbs, which you could run prior to fmriprep. Just be aware that you can not run this tool if your data was acquired with partial Fourier (though it will work with full k-space acceleration methods such as SENSE).

Hi, I am not sure that what you see here is Gibbs artefact. On the ICA part of the MRIQC, it is a projection of all slices in one plane for each plane. It looks more like motion, especially when you look at the temporal profile of the component (line in blue).

On T1w also it looks like motion artefact. On Siemens if you have raw data, you can retro-reconstruct your data with interpolation and if it is really gibbs artefact, it tends to disappear, if it is motion, it stays. I think it is motion there.

But even what you show here is not related to Gibbs artefact, I think it is a very interesting question. It is something that I always wanted to investigate further for fMRI. It was shown that correcting this artefact can have an impact in DWI and QSM, but I am not aware of any preprocessing pipeline for fMRI that explicitly takes the Gibbs artifact into account.

Here are some interesting papers on the topic of Gibbs artifact in MRI:

(1)

Eskreis-Winkler, S.; Zhou, D.; Liu, T.; Gupta, A.; Gauthier, S. A.; Wang, Y.; Spincemaille, P. On the Influence of Zero-Padding on the Nonlinear Operations in Quantitative Susceptibility Mapping. Magnetic Resonance Imaging 2017, 35, 154–159. https://doi.org/10.1016/j.mri.2016.08.020.

(2)

Veraart, J.; Fieremans, E.; Jelescu, I. O.; Knoll, F.; Novikov, D. S. Gibbs Ringing in Diffusion MRI: Gibbs Ringing in Diffusion MRI. Magn. Reson. Med. 2016, 76(1), 301–314. https://doi.org/10.1002/mrm.25866.

(3)

Kellner, E.; Dhital, B.; Kiselev, V. G.; Reisert, M. Gibbs-Ringing Artifact Removal Based on Local Subvoxel-Shifts: Gibbs-Ringing Artifact Removal. Magnetic Resonance in Medicine 2016, 76(5), 1574–1581. https://doi.org/10.1002/mrm.26054.

(4)

Perrone, D.; Aelterman, J.; Pižurica, A.; Jeurissen, B.; Philips, W.; Leemans, A. The Effect of Gibbs Ringing Artifacts on Measures Derived from Diffusion MRI. NeuroImage 2015, 120, 441–455. https://doi.org/10.1016/j.neuroimage.2015.06.068.

(5)

Zhu, X.; Tomanek, B.; Sharp, J. A Pixel Is an Artifact: On the Necessity of Zero-Filling in Fourier Imaging. Concepts in Magnetic Resonance Part A 2013, 42A(2), 32–44. https://doi.org/10.1002/cmr.a.21256.

(6)

Bernstein, M. A.; Fain, S. B.; Riederer, S. J. Effect of Windowing and Zero-Filled Reconstruction of MRI Data on Spatial Resolution and Acquisition Strategy. J Magn Reson Imaging 2001, 14(3), 270–280.

Here are some illustration on how the Gibbs artefact is visible on BOLD images:

  • on the right it is the native acquisition with Gibbs artifact. On the left, the interpolation of Siemens was applied: zero filling with Hahn filter apodization which is efficient against Gibbs artefact:

-another exemple with Non Human Primate fMRI: The native acquisition is on the right. What is interesting there is that there are two kind of artefacts: motion and Gibbs. On the left after Gibbs removal, the artefact due to motion is unaffected.

  • this is also clearly visible here: on the right is th native acquisition and on the left it is the different between the native acquisition and the acquisition with the Siemens interpolation: You see the Gibbs ringing that was removed but on the difference image you don’t see the eyes because the rising present here is due to movements, not Gibbs!

Thank you for the quick response and the heads up.

@jsein Thank you for the extensive information. Let me first share this with my team and get back to you again with follow up questions. I also plan to check our entire dataset. Thank you.

1 Like

I concur with you that these look more like motion than Gibbs ringing:
The ICA maps show the projections, so it looks like signal coming from the edge of the brain. The peaks in the IC timecourses show up in many others, so it is probably sudden motion.
High-resolution images will not show Gibbs ringing, since that artifact is the result of not sampling high spatial frequencies.

Hello,

I was trying to use interpolation with Siemens RetroRecon to try and cope with an artifact in EPI data very similar to what was discussed in this thread. The artifact indeed got remarkably attenuated, but I’m not sure about the choice of parameters.

The scanner is Siemens Vida with syngo MR XA20A.

In RetroRecon, there is a preset named SINCInterpolation with the following parameters:

MEAS.sKSpace.fl2DInterpolation
MEAS.sKSpace.lBaseResolution
YAPS.iRoFTLength
YAPS.iPEFTLength

The default for the preset is 0 - 128 - 256 - 128 regardless of the original resolution of the scan (see the screenshot attached).

In the manual, the parameters are described as following:

MEAS.sKSpace.fl2DInterpolation – Disable: 0 Enable: 1,0…4,0
MEAS.sKSpace.lBaseResolution – Do not change! (For reference only)
YAPS.iRoFTLength – ==lBaseResolution when disabled; ==lBaseResolutionfl2DInterpolation when enabled
YAPS.iPEFTLength – ==lBaseResolution when disabled; ==lBaseResolution
fl2DInterpolation when enabled

Obviously, the default values of the YAPS.iRoFTLength and YAPS.iPEFTLength are not equal to each other as suggested by the hints in the manual, so I got confused.

Besides that, there is an ‘Interpolation’ option in the resolution tab of the sequence parameters card which is supposed to do zero filling interpolation as well. Checking this option doubles the original matrix (i.e., results in 160x160 voxels instead of 80x80 for the same FoV).

So my first question is do the resulting reconstruction matrix dimensions need to be power of 2? Or doubling the original matrix is fine?

How the change in a voxel size should be taken into account in pre-processing? Just resampling the data to make the voxels isotropic again? Or some other way?

And can someone please advise on the optimal choice of parameters for the interpolation?

Any help is appreciated, and sorry for reviving an old thread.