Co-registering mt0 with mt_t1 error

Hello!

I am registering mt1 and mt0 to mt_t1 to calculate both MTR and MTsat maps later. While mt1 co-registers to mt_t1 space fine, mt0 does not. I assume this is because of the poor contrast on mt0.

I’ve tried algo=rigid and algo=slicereg (screenshot attached) but both were not good.

I tried experimenting with metric=MI instead of metric=CC but this did not resolve the issue either. Cord segmentation of mt0 using sct_deepseg_sc was also not good; thus, other algo parameters (seg only) did not work too.

Do you have any suggestion on what I could try to fix the registration so I don’t have to lose this data?

Thank you!

Sincerely,
Lisa

Hi Lisa,

I’m very sorry for the late reply. We had issues with the notification system of this forum. Anyway, I’m here now :blush:

So: your diagnosis is correct: the co-registration is failing because of the relatively poor contrast between the cord and CSF on the MToff data.

The algo you used are good. Slicereg being probably the most reliable.

Few questions/comments:

  • have you tried changing the size of the mask derived from the MTon data?
  • do you experience registration issue on most of your subjects? or only a small fraction? I assume this dataset is from Siemens, and you’re mostly experiencing issues with Siemens protocol (because contrast is better on Philips scans).
  • we have a new registration algorithm based on deep learning. Maybe you’d like to give it a try? it’s called algo=dl and it is available as of SCT v5.7 (see details here).

Dear Julien,

I am also very sorry for the delayed response as I was away for a couple of months and finally returned to the lab to look at this data again. Here are my responses to your bullet points.

  • Do you mean the size of the mask derived from the MT-T1w (mt_t1)? I am using the suggested 35mm diameter cylindrical mask as shown here. I also tried a smaller size of 25mm but this worsened the co-registration. Is this what you meant? If not, what size do you suggest that I change this to?
  • I have registration issue in ~23% of the subjects at 1 site using a Philips scanner. I have not finished the QC for other sites (Philips and Siemens) yet.
  • Is SCT v5.7 the official version of the temporary SCT master version I’ve been using? I want to make sure that the changes you made (this and this) reflected in SCT master version is also reflected in SCT v5.7. Using algo=dl on SCT v5.7 resolves some co-registration issues but not all.

To summarize, I tried the following for the co-registration: 1) algo=slicereg, 2) algo=rigid, 3) algo=dl, 4) change the size of the mask from 35 to 25mm. If the co-registration still fails, is there anything else I could try? If not, I will just have to exclude the data due to “insufficient co-registration”.

Thank you always! :blush:

  • Do you mean the size of the mask derived from the MT-T1w (mt_t1)? I am using the suggested 35mm diameter cylindrical mask as shown here. I also tried a smaller size of 25mm but this worsened the co-registration. Is this what you meant? If not, what size do you suggest that I change this to?

yes that’s what i meant

  • I have registration issue in ~23% of the subjects at 1 site using a Philips scanner. I have not finished the QC for other sites (Philips and Siemens) yet.

This is surprising as the Philips protocol should yield sufficient cord/CSF contrast. Maybe you can send me 1-2 subjects (those where registration fails) in private so I try to come up with a robust registration strategy.

  • Is SCT v5.7 the official version of the temporary SCT master version I’ve been using? I want to make sure that the changes you made (this and this) reflected in SCT master version is also reflected in SCT v5.7. Using algo=dl on SCT v5.7 resolves some co-registration issues but not all.

yes, v5.7 includes the dl algo.

To summarize, I tried the following for the co-registration: 1) algo=slicereg, 2) algo=rigid, 3) algo=dl, 4) change the size of the mask from 35 to 25mm. If the co-registration still fails, is there anything else I could try? If not, I will just have to exclude the data due to “insufficient co-registration”.

no, don’t exclude the data-- there is always a solution to the registration problem.

I will send you an example data privately if the registration continues to fail but I am playing with some parameters and algo=dl helped a lot too so I am okay for now. Thank you very much, Julien!

2 Likes