Chest Imaging Platform - Lung Lesion Analyzer error

Hi all,

I have run into an issue trying to the Lung Lesion Analyzer submodule from the Chest Imaging Platform extension. For context, this error arises on the current stable build of Slicer on MacOS (version 4.11.20210226), but the issue does not occur on some previous versions (I can confirm it works on 4.8.1).

When trying to add a New Nodule the following error is produced in the python REPL:

Traceback (most recent call last):
  File "/Applications/Slicer.app/Contents/Extensions-29738/Chest_Imaging_Platform/lib/Slicer-4.11/qt-scripted-modules/CIP_LesionModel.py", line 1352, in __onAddNoduleButtonClicked__
    self.addNewNodule()
  File "/Applications/Slicer.app/Contents/Extensions-29738/Chest_Imaging_Platform/lib/Slicer-4.11/qt-scripted-modules/CIP_LesionModel.py", line 720, in addNewNodule
    fiducialsNode.AddObserver(fiducialsNode.MarkupAddedEvent, self.__onAddedSeed__)
AttributeError: 'vtkSlicerMarkupsModuleMRMLPython.vtkMRMLMarkupsFid' object has no attribute 'MarkupAddedEvent'

I am not sure whether something has changed on the Slicer side of things that might throw this error, or if this is strictly a CIP extension issue. Has the MarkupEventAdded attributed been dropped in recent versions?

In any case, in the past I have tried seeking help with bugs by posting issues on their GitHub to no response, so I am turning here for advice.

Yes, the markups have improved a lot in Slicer since 4.8.1, so if CIP hasn’t been updated then you will probably still need to use the old version. Probably you can move data back and forth easily if you also need to use features of new versions of Slicer.

Thanks for the response, @pieper.

Does Slicer have any protection against having extensions available in the extension manager for a given version if those extensions haven’t been tested against/updated to that version?

Extensions are closely tied to the version of Slicer so generally this works well. Often C++ extensions will fail to build if they aren’t compatible with the version of Slicer, so that will make them unavailable, but with python scripts they may fail at runtime with errors like you saw. We don’t really want to prevent people from installing an extension where some parts may be useful and even if other parts are broken. Often extension developers don’t have resources to maintain and update all the code so they rely on motivated community members to help identify and fix issues.

1 Like

Totally understandable on both points. I may make an attempt at trying to fix this bug and if so I will submit the PR to the maintainers. Thanks!

1 Like

That would be much appreciated!

Hello everyone !

Did we have some sucess in update the Lung Lesion Analyzer tool ?

Best

@Eserval Sorry, I never ended up getting around to working on a fix.

Thanks @matt-warkentin - is there a demo somewhere of what the lung lesion analyzer actually did? Is it something like MINT lesion functionality?

@rbumm This slide deck walks through its basic functionality: https://chestimagingplatform.org/files/chestimagingplatform/files/lung_lesion_analyzer.pdf

From the following website: Documentation | Chest Imaging Platform (CIP)

1 Like