Hi,
I encountered a weird issue. I made a customized extension for surgical plate registration that runs well in Slicer 5.8.1 across platforms.
However, in the most recent Slicer 5.9 (revision 33881), whenever I ran a button linked to a simple fiducial rigid registration function onInitialRegistrationPushButton
(line 661), all the nodes in qMRMLSubjectHierarchyComboBox
were set to None and I got ‘NoneType
’ error since they are also connected to the parameter node.
There is no line in that function (link to the script) that set up those comboBoxes to None. The only lines relevant to the combo boxes are (see above hyperlink to the full script):
self.ui.inputOrbitModelSelector.enabled = False
self.ui.orbitFiducialSelector.enabled = False
self.ui.plateModelSelector.enabled = False
self.ui.plateFiducialSelector.enabled = False
However, I don’t think these are relevant. Even if I commented them out, all those comboBoxes are still set to None.
I tested on Windows and Mac, and the issue persists. I will test it on Linux soon.
To reproduce, download the repositoryand use Extension Wizard to load it to Slicer 5.9 (revision 33881). Switch to ‘plateRegistration’ module.
Download the sample data: orbitSurgeySim_sampleData/plateRegistrationSampleData.zip at main · chz31/orbitSurgeySim_sampleData · GitHub
Drag the files into Slicer and populate the qMRMLSubjectHierarchyComboboxes, then click the ‘Initial Registration’ button.
If it runs well, it should simply disable the qMRMLSubjectHiearchyComboBoxes without setting it to None:
Thank you!