fix(viewport-webworker-segmentation): Resolve issues with viewport detection, webworker termination, and segmentation panel layout change (#4059)

This commit is contained in:
Alireza authored and GitHub committed 2024-04-22 14:43:26 -04:00
1 parent 3ec7e51216
commit 52a0c59294
15 files changed
+71 -51

No files matched your search

@@ -76,7 +76,7 @@ export default function PanelRoiThresholdSegmentation({ servicesManager, command
}
};
eventTarget.addEventListenerDebounced(Enums.Events.SEGMENTATION_DATA_MODIFIED, callback, 300);
eventTarget.addEventListenerDebounced(Enums.Events.SEGMENTATION_DATA_MODIFIED, callback, 250);
return () => {
eventTarget.removeEventListenerDebounced(Enums.Events.SEGMENTATION_DATA_MODIFIED, callback);
+19 -1
View File
@@ -316,10 +316,28 @@ const commandsModule = ({ servicesManager, commandsManager, extensionManager })
metadata: referencedVolume.metadata,
};
// metadata in annotations has enabledElement which is not serializable
// we need to remove it
// Todo: we should probably have a sanitization function for this
const annotationsToSend = annotations.map(annotation => {
return {
...annotation,
metadata: {
...annotation.metadata,
enabledElement: {
...annotation.metadata.enabledElement,
viewport: null,
renderingEngine: null,
element: null,
},
},
};
});
const suvPeak = await workerManager.executeTask('suv-peak-worker', 'calculateSuvPeak', {
labelmapProps,
referenceVolumeProps,
annotations,
annotations: annotationsToSend,
segmentIndex,
});