Segment Statistics Module on 3D Slicer 5.6.2

Hi everyone!

I wanted to use the Segment Statistics module to validate the VOIs I segmented using Scalar Volume Statistic, but it doesn’t seem to be working in my 3D Slicer version 5.6.2.

Does anyone what this could be done to? What alternative could I use?

Thank you!

Greetings,
Beatriz

What operating system do you use? Is there any error in the Python console or Error log after start-up?

I have Ubuntu 24.04 LTS system. On the python console it shows the following:

Python 3.9.10 (main, Apr 5 2024, 04:28:47)
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux2

[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerBeamsModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerDicomRtImportExportModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerDicomSroImportExportModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerDrrImageComputationModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerExternalBeamPlanningModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerPlmProtonDoseEngineModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
[Qt] Error(s):
[Qt] Cannot load library /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerRT/lib/Slicer-5.6/qt-loadable-modules/libqSlicerRoomsEyeViewModule.so: (libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory)
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
libvtkIECTransformLogic.so: cannot open shared object file: No such file or directory
[Qt] When loading module “BatchStructureSetConversion” , the dependency “DicomRtImportExport” failed to be loaded.
[Qt] When loading module “IGRTWorkflow_SelfTest” , the dependency “DicomRtImportExport” failed to be loaded.
Traceback (most recent call last):
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 58, in setup
self.logic = SegmentStatisticsLogic()
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 394, in init
self.reset()
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 430, in reset
params = self.getParameterNode()
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 399, in getParameterNode
self.setParameterNode(ScriptedLoadableModuleLogic.getParameterNode(self))
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 409, in setParameterNode
plugin.setParameterNode(parameterNode)
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatisticsPlugins/SegmentStatisticsPluginBase.py”, line 124, in setParameterNode
self.createDefaultOptionsWidget()
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatisticsPlugins/SegmentStatisticsPluginBase.py”, line 164, in createDefaultOptionsWidget
info = self.getMeasurementInfo(key)
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/PET-IndiC/lib/Slicer-5.6/qt-scripted-modules/PETVolumeSegmentStatisticsPlugin/PETVolumeSegmentStatisticsPlugin.py”, line 106, in getMeasurementInfo
self.createMeasurementInfo(name=“Mean”, description=“Mean uptake value”,
TypeError: createMeasurementInfo() missing 1 required positional argument: ‘title’
Traceback (most recent call last):
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 170, in enter
if self.parameterNodeSelector.currentNode() is None:
AttributeError: ‘SegmentStatisticsWidget’ object has no attribute ‘parameterNodeSelector’
Requirement already satisfied: pillow<10.1 in ./lib/Python/lib/python3.9/site-packages (10.0.1)
[Qt] libpng warning: iCCP: known incorrect sRGB profile
Traceback (most recent call last):
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/lib/Slicer-5.6/qt-scripted-modules/SegmentStatistics.py”, line 170, in enter
if self.parameterNodeSelector.currentNode() is None:
AttributeError: ‘SegmentStatisticsWidget’ object has no attribute 'parameterNodeSelector

Thanks, this is very helpful!

First of all this means that the SlicerRT installation failed. I’ll look into this.

Second, the issue you posted about is probably due to the PET-IndiC extension, it seems that there was a change in the API that was not handled correctly. If you do not absolutely need the PET-IndiC extension, try uninstalling it and then probably the SegmentStatistics module will work.
But in any case the owner of the extension should look into this.

Actually, Slicer 5.8 is around the corner. Can you try the latest Slicer preview version?

Thank you! I would really appreciate it if you could look into the SlicerRT installation issue cause I will need it.

I uninstalled PET-IndiC extension and the SegmentStatistics module works now.

Yeah I can try Slicer preview. Where can I find it tho?

1 Like

It seems like the preview it’s not opening in my system :confused:

One of the binaries is deployed in the incorrect folder. Please consider this folder:

There is an .so file in vtkIECTransformLogic that needs to be moved to Slicer-5.7/qt-loadable-modules. This is for the preview, for 5.6.2 it is obviously Slicer-5.6. I did that and then SlicerRT worked correctly. We’ll look into the code to fix deployment in upcoming packages.

Thank you so much! I did the same for Slicer 5.6.2 and it fixed the errors I was getting on the python console.

1 Like

No problem!

For reference, here’s the ticket to follow the resolution of the SlicerRT problem: SlicerRT deployment fails on Linux · Issue #262 · SlicerRt/SlicerRT · GitHub

I added a new ticket in PET-IndiC as well (but not sure who will do it and when they will notice): The extension breaks SegmentStatistics · Issue #8 · QIICR/PET-IndiC · GitHub

1 Like