Co-registration without changing the resolution?

Dear forum

I apologise is this is an RTFM-level question, as it probably is.

I have the following set of data (all cervical spinal cord, same orientation, same FOV)
a high-resolution (<500um) MEDIC as my anatomical scan
a set of somewhat coarser scan (600 um, T1 contrast)
a low-res B1 map (2mm)

Is there a way to co-register everything to the MEDIC, but without re-sampling to the resolution of the MEDIC?

I want to do my followup calculations in the same space as the MEDIC, as it serves as my segmentation template, but I also want to minimise processing-induced issues, and I do not want to resample my coarser T1 scan.

What is the optimal way, if such exists, to do this?

Thank you!


Hi Daniel,

It depends what you mean by “followup calculations”. When you run e.g. sct_register_multimodal, you get the src_reg file (hence, interpolated to the destination space), and you also have an ITK-compatible warping field (which you convert to FSL/SPM-compatible warping field using sct_image). But if you end-up doing voxel-based analysis, which is usually the case, then there is no workaround: you do need to interpolate (otherwise, how would you fetch voxelwise information from your B1, T1, etc.?). Or maybe you have something else in mind?

You can be reassured, this is definitely not a RTFM question :wink:


Dear Julien

I am doing some quantitative map estimation (T1, T2*, etc) on the coarser scans (I have multiples of those, just wanted to avoid confusion with asking too much in the opening).

What I want to do, in full, is the following:

  • coregister my coarser scans (three scans in total) and the B1 map (one scan) to each other. While this could be done in SPM/FSL, I want to make use of the spinal cord specific nature of the toolbox. I want to use the MEDIC as the destination, as that should have the best segmentation
  • with all my scans now in the same space, I calculate T1 (VFA approach) and T2* (multi-echo decay), and other maps, using another toolbox
  • once these maps are calculated, I can use the segmentation of the MEDIC to get me tissue and level specific masks

I want to avoid up-sampling to the MEDIC’s resolution because the output is quantitative data, and upsampling qMRI data is something I regard as wrong. Thus, I was wondering if there was a way to use the SCT toolbox for co-registration, but without the upsampling that would be the result in this case. I was inspired to ask this by the resampling in sct_deepseg (as per command line output, there is a resampling to and downsampling from 0.5mm resolution in there).

My current approach, which works reasonably well, is to coregister the coarser scans and the B1 map to each other first, and do the coregistration to the MEDIC after maps have been calculated. So I have a way around the issue, but was hoping there was a more straightforward way.

I dont know a lot about the intricacies of coregistration, so it might be that the deformation field of upsampling and that of coregistration are inseparable, in which case mea culpa :slight_smile:


Hi Daniel,

I see three avenues.

The first one would consist in resampling the qMRI outputs (e.g., T1 map) to the MEDIC space, and do all your quantifications there. While I agree with you that resampling raw qMRI data (i.e. before model fitting) is problematic (because interpolation alters noise property), I don’t think that resampling the output qMRI maps is too problematic. This is typically what is done in popular fMRI group analysis, where output Fmaps (not raw fMRI EPIs) would be registered to a common template space. You would loose a bit of precision by interpolating, but the accuracy will be kept (especially if at the end, you aggregate metrics over a reasonably large region, e.g., >100 voxels).

The second one would consist in doing your extraction (i.e. aggregation of qMRI metrics to get statistical distributions within specific region, e.g. corticospinal tract between C2-C5) within the native space of the image. In that case, you would apply the inverse transformation (which you get if you register e.g. T1 with MEDIC) to get the MEDIC segmentation wrapped in your native space.

An alternative would be to not use the MEDIC. If I understand correctly, the MEDIC has good in-plane resolution and reliable segmentation. However, wether you go with option #1 or option #2, the qMRI native resolution is what it is. Hence, wether you upsample your qMRI data to the MEDIC, or wether you use MEDIC-based labels on the qMRI data, in both cases you will be hit by the limited resolution of the qMRI. So in that case, why not simply registering the PAM50 with the qMRI native space?

Hope that makes sense,

Dear Julien

Thank you, this is very useful.

For my next study, i will be sure to re-check the resolutions match :slight_smile: