Landmark Registration crash

Dear 3D Slicer community,
first, thank you for your work. Its a great help in my research - previously CT - now MRI.

Data: I have MR single slice T1 and T2 maps (so literally two single slice images)
Task: I use the T1 map to draw segments, which I want to transfer/align with my T2 map. They have a quite small offset. However, my segments are also small - resulting in relevant data drifts.

Processing: I thought that Landmark Registrations would provide me the best results for single slice images. So I load the data, and place Landmarks.
However, when I change the Registration Type more than once (i.e. to test the difference in the transformations), the 3D slicer crashes.

This is repeatable.

This is my first bug report. Please let me know if and how I should provide more data.

Thank you again for your time and efforts!

LOG: 
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Session start time .......: 2022-11-24 13:50:53
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Slicer version ...........: 5.0.3 (revision 30893 / 7ea0f43) linux-amd64 - installed release
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Operating system .........: Linux / 5.15.0-53-generic / #59-Ubuntu SMP Mon Oct 17 18:53:30 UTC 2022 / UTF-8 - 64-bit
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Memory ...................: 15414 MB physical, 16383 MB virtual
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - CPU ......................: AuthenticAMD AMD Ryzen 7 4700U with Radeon Graphics, 8 cores, 8 logical processors
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - VTK configuration ........: OpenGL2 rendering, Sequential threading
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Qt configuration .........: version 5.15.2, with SSL, requested OpenGL 3.2 (core profile)
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Internationalization .....: disabled, language=
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Developer mode ...........: disabled
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Application path .........: /home/***/Desktop/Slicer-5.0.3-linux-amd64/bin
[DEBUG][Qt] 24.11.2022 13:50:53 [] (unknown:0) - Additional module paths ..: NA-MIC/Extensions-30893/SlicerDevelopmentToolbox/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/DCMQI/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/QuantitativeReporting/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/PETDICOMExtension/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/PETDICOMExtension/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/DiffusionQC/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/DiffusionQC/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/UKFTractography/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/UKFTractography/lib/Slicer-5.0/qt-loadable-modules, NA-MIC/Extensions-30893/UKFTractography/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/SlicerDMRI/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/SlicerDMRI/lib/Slicer-5.0/qt-loadable-modules, NA-MIC/Extensions-30893/SlicerDMRI/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/T1Mapping/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/SlicerProstate/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/SlicerProstate/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/SlicerRT/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/SlicerRT/lib/Slicer-5.0/qt-loadable-modules, NA-MIC/Extensions-30893/SlicerRT/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/SegmentRegistration/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/SlicerANTs/lib/Slicer-5.0/cli-modules, NA-MIC/Extensions-30893/SlicerANTs/lib/Slicer-5.0/qt-scripted-modules, NA-MIC/Extensions-30893/SlicerElastix/lib/Slicer-5.0/qt-scripted-modules
[DEBUG][Python] 24.11.2022 13:50:59 [Python] (/home/***/Desktop/Slicer-5.0.3-linux-amd64/lib/Slicer-5.0/qt-scripted-modules/SubjectHierarchyPlugins/AbstractScriptedSubjectHierarchyPlugin.py:38) - Scripted subject hierarchy plugin registered: Annotations
[DEBUG][Python] 24.11.2022 13:51:00 [Python] (/home/***/Desktop/Slicer-5.0.3-linux-amd64/lib/Slicer-5.0/qt-scripted-modules/SubjectHierarchyPlugins/AbstractScriptedSubjectHierarchyPlugin.py:38) - Scripted subject hierarchy plugin registered: SegmentEditor
[DEBUG][Python] 24.11.2022 13:51:00 [Python] (/home/***/Desktop/Slicer-5.0.3-linux-amd64/lib/Slicer-5.0/qt-scripted-modules/SubjectHierarchyPlugins/AbstractScriptedSubjectHierarchyPlugin.py:38) - Scripted subject hierarchy plugin registered: SegmentStatistics
[WARNING][VTK] 24.11.2022 13:51:01 [vtkMRMLThreeDViewDisplayableManagerFactory (0x2011f30)] (/work/Stable/Slicer-0/Libs/MRML/DisplayableManager/vtkMRMLDisplayableManagerFactory.cxx:137) - RegisterDisplayableManager - vtkMRMLTractographyDisplayDisplayableManager is not a displayable manager. Failed to register
[DEBUG][Qt] 24.11.2022 13:51:01 [] (unknown:0) - Switch to module:  "Welcome"
[DEBUG][Qt] 24.11.2022 13:51:24 [] (unknown:0) - Switch to module:  ""

Thanks for reporting. Could you describe the exact steps that led to the crash?

I loaded the data to a new scene (LINK, so that you can use the same data).
You will find 2 kidney maps in para-sagital slices. They are almost perfectly aligned. However, in other cases I would need to move the segments like 1 or 2 px or rotate a few degrees.
→ “Landmark Registration”.
→ show only sagital slices (and rotate to volume plane)
→ place landmarks on the T1 map and adjust on T2 map
→ Local BRAINSFit (Defaul)
→ Registration Type
→ Click on Affine Registration
→ Click on Plastimatch
→ Click on ThinPlate Registration → CRASH

Faster Workaround?
Sadly, I found no option to move/rotate segments when they are “para-sagitally” oriented. Best would be to move/rotate them directly on the “rotated to volume view”. That would be the quickest and easiest fix. Maybe I missed a button on the manual transform module?

Thanks in advance

Please excuse me, I want to give my issue another (final) round of attention.
Esp. on the potential workaround. Any help is welcome.
Thank you.

Hi - thanks for sharing the data and instructions. I was able to load your data and see the results of your registration and they seem reasonable to me and I did not see a crash with Slicer 5.2.1 on mac.

In terms of the sequence you described, selecting “Local BRAINSFit” and “Plastimatch” shouldn’t matter unless you click the “Refine landmark L-x” button. Did you actually click that button?

Loading your scene and entering Landmark Registration without the clicking the refinement-related buttons I get the state below, where the registration is looking good and I can edit the thin plate spline with the landmarks. I was also able to edit the landmarks after aligning the views.

Perhaps the issue you are seeing relates to plastimatch and the SlicerRT extension? (I didn’t try installing that but it doesn’t seem you were using it.)

THANK YOU for having a look on my issue, which helped me to identify the reason for the crash.

I removed SlicerRT and now it works fine. ISSUE SOLVED. Shall I report this to the SlicerRT extension team?

Why did I use SlicerRT? I tried different transformations types. Haven’t found the best solution; perhaps there is non :wink:

Great, I’m glad you are back on track :+1:

Yes, if the crash is repeatable it helps to report to the SlicerRT team to see if it can be fixed.

Duly noted. I’ll take a look.

1 Like