-
Notifications
You must be signed in to change notification settings - Fork 260
Description
Short summary
(One or two sentences describing the core idea or problem)
MONAI Label Reviewer fails to load datasets that have multiple sets of labels. This is composed of three separate sub-issue situations I've discovered thus far.
What is the idea or problem?
Data loading fails when loading a case with multiple pre-existing segmentations (more than just final subfolder in labels folder source), currently needing to isolate final folder to conduct reviews. This presents itself in 3 different ways.
-
While it can load datasets and index them if the only label folders present are 'final', 'original', and 'version_X', any other label folders containing files (including archive copies of labels, model predictions, etc.) will break the dataset's loading process. This failure to load the dataset is indicated by the data being indexed as [1/0], and Next and Previous consequently not working.
- This failed loading and indexing also takes place if a flagged / approved filter has been applied with no relevant flagged / approved cases, even after deactivating the filter and reloading. In this case the loaded data must be reset by deactivating / reactivating a 'not segmented' or 'segmented' filter and reloading the data.
-
There are instances when switching between label sets 'final' and 'version_X', where it will fail to load the newly selected 'version_X' or 'final' label. Going back and forth will make one label unable to load depending on which was the starting label. This scan data is indexed properly [1/Dataset Length] and can be navigated w/ Next & Previous., however this will not reset the label which failed to load. The indicated label name loaded can also fail to change after selection, giving additional confusion.
-
Occasionally upon a review session after some exams have had their 'final' label modified / corrected with a 'version_X', a scan and image set will fail to load altogether, needing to be skipped until a scan loads which has not yet been reviewed in the previous sessions. This scan data fails to index properly until the affected exams have been skipped using Next, then indexing goes back to normal. Sometimes a label will load without the scan or vice versa, and sometimes neither label nor scan will load.
Resetting the loaded dataset I have been doing by re-selecting 'segmented' or 'not segmented' filters in the dataset and pressing 'Load', with inconsistent results depending on the situation that caused the failed loading.
Why does it matter?
Accessibility and ease of use; physicians and analysts using the tool will often lock themselves out of loading the data properly or are confused in the interface.
Any context, examples, or references?
Recreation of Case 1 (segmented data should be loaded):

Recreation of Case 2 (version_1 label should be visible):

Case 3 is less consistent to recreate, will update with screenshot when encountered next.
Pressing Next in Case 1 gives the following attribution error failing to retrieve next scan, showing there are no data objects that were loaded.
Traceback (most recent call last):
File "C:/Users/user/AppData/Local/slicer.org/Slicer 5.6.2/slicer.org/Extensions-32448/MONAILabel/lib/Slicer-5.6/qt-scripted-modules/MONAILabelReviewer.py", line 1058, in getNextSegmentation
self.persistMetaInMonaiServer()
File "C:/Users/user/AppData/Local/slicer.org/Slicer 5.6.2/slicer.org/Extensions-32448/MONAILabel/lib/Slicer-5.6/qt-scripted-modules/MONAILabelReviewer.py", line 1084, in persistMetaInMonaiServer
self.logic.updateLabelInfo(
File "C:/Users/user/AppData/Local/slicer.org/Slicer 5.6.2/slicer.org/Extensions-32448/MONAILabel/lib/Slicer-5.6/qt-scripted-modules/MONAILabelReviewer.py", line 1643, in updateLabelInfo
imageId = imageData.getName()
AttributeError: 'NoneType' object has no attribute 'getName'
How would you like to be involved?
- I can contribute code or documentation
- I can test or provide feedback
- I want to follow the discussion
- I have other ideas or expertise to share: _____________
Suggested milestone (optional)
Improve data annotation feedback loop
Metadata
Metadata
Assignees
Labels
Type
Projects
Status