spinal-cord-7t / coil-qc-code

7T Spinal Cord Coil QC Analysis Code
0 stars 0 forks source link

Sub-efficient registration between MP2RAGE and B1+ map #30

Closed jcohenadad closed 5 months ago

jcohenadad commented 5 months ago

Currently, the B1+ map is used to register to the MP2RAGE:

https://github.com/spinal-cord-7t/coil-qc-code/blob/a50d2835a0b53da7c3cf46fff2e7bd8ad7529285/data_processing.ipynb#L162-L167

The B1+ mapping anatomical image should be employed instead.

Moreover, I would suggest the following tweaks to the registration:

jcohenadad commented 5 months ago

QC report of various preliminary tests: qc.zip

jcohenadad commented 5 months ago

Running the following code across all subjects:

sct_register_multimodal -i sub-Marseille1_acq-anat_TB1TFL.nii.gz -d ../anat/sub-Marseille1_inv-1_part-mag_MP2RAGE_crop.nii.gz -dseg ../anat/sub-Marseille1_UNIT1_seg_crop.nii.gz -param step=1,type=im,algo=slicereg,metric=CC -qc qc

Weirdly, it does not work well on this image (and a few others), despite fairly good contrast:

ezgif-5-79d1b9c71b-1

See the top of the image. Maybe this is an edge effect (eg: regularization with fixed boundary with slicereg algo)?

Alternative hypothesis: inadequate polynomial degree for this particular image

Also, dramatic failure for sub-MNI3

jcohenadad commented 5 months ago

Maybe this is an edge effect (eg: regularization with fixed boundary with slicereg algo)?

Probably not-- see this other subject, showing similar issue in the middle of the FOV:

ezgif-5-0c5675d039

jcohenadad commented 5 months ago

Trying with MI instead of CC:

Command: sct_register_multimodal -i sub-MGH2_acq-anat_TB1TFL.nii.gz -d ../anat/sub-MGH2_inv-1_part-mag_MP2RAGE_crop.nii.gz -dseg ../anat/sub-MGH2_UNIT1_seg_crop.nii.gz -param step=1,type=im,algo=slicereg,metric=MI -qc /Users/julien/code/coil-qc-code/data/qc

Nope. Not as good, and getting errors in some subjects:

File: /Users/runner/work/build_ANTs/build_ANTs/antsbin/staging/include/ITK-5.1/itkMattesMutualInformationImageToImageMetricv4.hxx
Line: 312
Description: itk::ERROR: MattesMutualInformationImageToImageMetricv4(0x7f9b016100a0): Joint PDF summed to zero
jcohenadad commented 5 months ago

Weirdly, it does not work well on this image (and a few others), despite fairly good contrast:

Going with poly=2 did not solve the issue:

Command: sct_register_multimodal -i sub-MNI1_acq-anat_TB1TFL.nii.gz -d ../anat/sub-MNI1_inv-1_part-mag_MP2RAGE_crop.nii.gz -dseg ../anat/sub-MNI1_UNIT1_seg_crop.nii.gz -param step=1,type=im,algo=slicereg,metric=CC,poly=2 -qc /Users/julien/code/coil-qc-code/data/qc

Example: ezgif-3-46c9f5e3e7

jcohenadad commented 5 months ago

Trying with smooth=1: It helped (best combo so far), but did not solve the issue with MNI3.

Edit: MNI3 issue is caused by https://github.com/spinal-cord-7t/coil-qc-code/issues/32

jcohenadad commented 5 months ago

Results on DREAM registration with b31af3d1b413097d9662c327285608df1a646a10:

the only fails are:

FILES_REG:
    - /Users/julien/code/coil-qc-code/data/sub-MNI3/fmap/sub-MNI3_acq-famp_TB1DREAM_reg.nii.gz
    - /Users/julien/code/coil-qc-code/data/sub-NYU1/fmap/sub-NYU1_acq-famp_TB1DREAM_reg.nii.gz

Also considering that MNI3 issue is caused by #32 I will consider these reg params good for now.

jcohenadad commented 5 months ago

Try using cord segmentation, see: https://github.com/spinal-cord-7t/coil-qc-code/issues/35#issuecomment-2057389782

Implemented in ce7dc947c5343ebc62ae533fa927ab4ad8e93cb3. Yields much better results 🎉

TODO: Try it for DREAM as well, then we should be able to close this issue.

jcohenadad commented 5 months ago

I tried cord segmentation with DREAM, it does not work that well. Example below:

image

code:

    !sct_deepseg -i {subject}_acq-famp_TB1DREAM.nii.gz -task seg_sc_contrast_agnostic
jcohenadad commented 5 months ago

Results from e6b338f8d89b546228e2d5228055e429d16d42cb are reasonably good. Only one subject failed: sub-NYU1 for the registration of the DREAM sequence.

See QC here: https://github.com/spinal-cord-7t/coil-qc-code/releases/download/r20240416/qc.zip

I think we can consider this issue closed.