MT registration issue


I am using SCT 5.7 (but same results with 5.8) to register MT images to PAM50 space reusing sagittal t2 warping as explained in the tutorial (log attached) :

1/ SC segmentation on sagittal t2:
2/ SC labelisation on sagittal t2:
3/ sagittal t2 registration to PAM50
4/ SC segmentation on MT1
5/ SC mask creation based on mask of step 4
6/ MT registration to PAM50 using sagittal t2

Everything went ok, QC is fine for sagittal t2 processing and MT1 SC segmentation.
At the end, I have a pretty good registration of MT for many slices. But for a few slices (it could be 3-4 slices in a row or only one, 4 ok, 1 bad), the segmentation is stretched as you can see below displaying the MT1 image, with the registered PAM50 levels overlaid on it (blue) and the manual segmentation on top of it (white). In the picture, first and last slices are fine but for the other ones, there 2 to 4 voxels too large.


If I overlay the registered PAM50 T2 image, we also can see this stretching.

Did you already experience this issue? Would it need to tweak the parameters?
It is quite surprising to get good results for many slices but sometimes, some of them are stretched.

sct_check_dependencies is at the end of the log file.

Best regards,

log_file_issue_SCT (60.2 KB)

hi Malo-- sorry for the late reply

key info: this is your registration syntax:

sct_register_multimodal -i /home/mgaubert/Software/sct/sct_5.7//data/PAM50/template/PAM50_t2.nii.gz -iseg /home/mgaubert/Software/sct/sct_5.7//data/PAM50/template/PAM50_cord.nii.gz -d /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC/sub-01020_mt1-p2-sc_cr.nii.gz -dseg /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/sc-mt/sc_seg/sub-01020_mt1-p2-sc_cr_seg.nii.gz -param step=1,type=seg,algo=centermass:step=2,type=seg,algo=bsplinesyn,slicewise=1,iter=3 -m /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC/sub-01020_mt1-p2-sc_cr_mask.nii.gz -initwarp /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC/warp_template2anat.nii.gz -owarp /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC/warp_template_2_mt1p2.nii.gz -initwarpinv /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC/warp_anat2template.nii.gz -owarpinv /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC/warp_mt1p2_2_template.nii.gz -ofolder /home/mgaubert/Niseko_data/test_MSTRACTS//sub-01020/derivatives/3_SC_normalisation_deepSegSC

More specifically: step=1,type=seg,algo=centermass:step=2,type=seg,algo=bsplinesyn,slicewise=1,iter=3

few comments / things you could tweak:

  • 3 iters might not be enough for large deformation-- bsplinesyn is VERY regularized
  • you might want to try replacing bsplinesyn with syn with the seg
  • you might want to add a step with type=im
  • you might want to try algo=columnwise-- see page 65 in this tutorial
  • other params to play with (smooth, algo=dl, etc).

and remember: there is no ‘one recipe’ that works for all MRI in the world. Every case (might) require tweaking, and the parameters proposed in the tutorial are to be considered as ‘examples’

hope this helps!

Hello Julien,

Thank you for your answer and for the hints.

I already tried in the past to tweak some parameters like replacing bspinesyn by syn or smoothing for some specific cases (like for big deviations of the spinal cord) … But for most of my subjects, I was pretty happy with the default parameters. And it is just recently that I found these enlargements for a few slices (maybe I did not check very well before; not the same data also) and we were surprised to observe randomly this behavior (sometimes one slice, sometimes 3 or 4 in a row). We thought that maybe it was something unusual or one specific parameter may have to be tested.
I will just try your advises, thanks again.