In layer-fMRI, we spend so much time and effort to achieve high spatial resolutions and small voxel sizes during the acquisition. However, during the evaluation pipeline much of this spatial resolution can be lost during multiple resampling steps.
In this post, I want to discuss sources of signal blurring during spatial resampling steps and potential strategies to account for them.
Resampling results in blurring
In conventional low-resoltion fMRI analysis pipelines there are usually multiple spatial resampling step involved:
- Spatial resampling during motion correction of EPI time series within individual fMRI runs. This is the only resampling that you cannot avoid. No matter what kind of analysis you do, it should always involve motion correction.
- Spatial resampling during alignment of multiple fMRI runs within one scan session.
- Spatial resampling during distortion correction, E.g. with Topup or B0-field map.
- Spatial resampling during alignment of the functional EPI data to a high-resolution “anatomical” reference scan.
- Spatial resampling to a subject-independent template (uncommon in layer-fMRI).
In these spatial resampling steps, the signal of any given voxel will be undergo a spatial transformation to a new voxel at a different location. When the voxel signal is translated by integer numbers of voxel sizes, this resampling step does not result in signal blurring. In this case, the signal stays in the same 3D-voxel-grid and the signal values of the voxels are just reassigned.
However, in practice, the signal of a voxel needs to be relocated by an arbitrary distance. For example, it can happen that the signal of a voxel needs to be shifted by half the voxel size. Then, the signal of one voxel needs to redistributed across two new voxels. This means that the resulting image will look blurrier.
As a rule of thumb, every resampling step can lower the resolution by about the voxel size. This resampling dependent blurring has been reported in the literature from time to time and is gaining a lot of extra attention in the context of layer-dependent fMRI. Ville Renvall showed this effective resolution loss due to spatial resampling in the context of distortion correction in the supplementary material of his paper. Later, Jonathan Polimeni also showed it for motion correction.
Similar to spatial blurring during spatial resampling, there can be an independent source of temporal blurring during the slice time correction (Thanks to Remi Gau for pointing this out). In the presence of head motion during the readout, the two spatial and temporal interpolations are not completely independent anymore. Nypipe allows to apply motion correction and slice-time correction simultaneously.
Strategies to reduce resolution loss in the evaluation
Strategy 1: Doing the layering in EPI space
The most efficient way of minimizing resolution losses due to spatial resampling is to refrain from unnecessary spatial resampling all together.
Especially the steps 2-5 above can be avoided, when all the analysis it conducted directly in distorted EPI space. In this case, layers are defined in EPI space, the distortion correction and the registration to high-res “anatomical” scans is no longer necessary.
How to do the layering analysis in the distorted EPI space is explained in this blog post.
Of course, the motion correction cannot be refrained from. So there is still this one motion correction resampling step that needs to be conduced.
Strategy 2: Aligning the anatomy to EPI and not the other way around
Aside of the motion correction, most of the spatial resampling steps can be avoided by distorting and aligning the “anatomical” reference data to the functional data and not the other way around.
This step is explained in more detail in a recent blog post here.
This approach can reduce the number of resampling steps. However, I found it challenging because of poor registration quality in many protocols and participants.
Strategy 3: Applying spatial resampling on a finer grid than the voxel size
Since the resolution loss is a direct result from the signal redistribution of finite voxel sizes, it could be theoretically minimized by using a finer voxel grid. Finer than the effective resolution.
Valentin Kemper came up with the following way of reconstructing EPI data on a finer grid directly at the scanner in the ICE-chain, before the individual coil data are combined. His recipe is given below:
- Open twix (Ctrl&Esc -> run).
- Select the dataset in the left panel (not the main one in the middle).
- Click the xBuilder symbol.
- Click edit. This will open the file with all the recon parameters. You can open the search field with the binocular icon.
- Search for:
- “imagesp” and multiply the number by 2
- “uc2dinterpolation” and set it to 1
- “roft” and multiply it by 2
- “peft” and multiply it by 2
- “3dft” and multiply it by 2
- “resolution” and divide the number by 2. This means that the original matrix size should be even-numbered
- Save the file and click the start button to retro-reconstruct the dataset on a finer grid.
For most of the layer-fMRI applications, small field of views are used and images do not need to be saved for every RF-channel individually. In those cases this approach is very effective to minimize resolution losses.
However, I found it not very practical for all applications. It increases the data size by a factor of 8. So, my usual data sizes of 32 GB (uncombined) would now be 256 GB! This is the the size of the entire pixel data base on the scanner host and it takes about 14 hours to transfer.
Isn’t is embarrassing that a multi-million dollar MRI scanner is limited by such mundane limits of data size?
Strategy 4: Using an appropriate spatial interpolation algorithm
The spatial resampling can be done with multiple interpolation algorithms. Most popular might be: Nearest Neighbor, linear, and spline. To my surprise, resampling with a linear interpolation is much to blurry for its popularity.
My personal advise is to refrain from interpolation methods of Nearest-Neighbor or “linear” and use a higher order splines instead.
Strategy 5: Doing all spatial resampling in one step
In the vast majority of layer-papers that I looked at the various resampling steps (motion correction, alignment between runs, distortion corrections, and registration to anatomy) are not applied consecutively. in most cases few of those steps are combined together. E.g. motion correction and registration between runs is often applied in one step. Similarly, distortion correction and registration to anatomy are often applied together.
Programs like AFNI and FMRIPREP support the theoretical possibility to concatenate all the spatial resampling steps into one warp-field that is applied only once. This could be beneficial to minimize corresponding resolution loss.
However, in the regime of sub-millimeter voxels of layer fMRI, I found this approach still challenging. For layer-resolutions, most of the conventional alignment pipelines are not working well enough on a sub-voxel level without further ado. In fact, in most layer-papers, a specialized custom-optimized alignment strategy with manual interventions is applied.
It is also not so straight forward to combined the motion correction of SPM (my favorite for MOCO) the distortion correction of FSL (my favorite for Topup) and ANTS (my favorite for alignment to “reference” data). Hence I found it practically challenging to apply all resampling operations in one single alignment step. And I don’t know of any layer-fMRI pipeline (compared here) that could apply motion-correction, distortion, correction and registration in one step.
I believe that future work in the direction will make it easier.