From 26fd51f53589244a47807106c3065e3926a16903 Mon Sep 17 00:00:00 2001 From: Ibrahim <93064150+IbrahimCSAE@users.noreply.github.com> Date: Tue, 10 Jun 2025 11:47:20 -0400 Subject: [PATCH] fix(markerlabelmap): accept preview/reject preview not working when the marker annotation tools are active (#5101) Co-authored-by: Bill Wallace --- extensions/cornerstone/src/commandsModule.ts | 21 ++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/extensions/cornerstone/src/commandsModule.ts b/extensions/cornerstone/src/commandsModule.ts index 58b6de9e5..960880c69 100644 --- a/extensions/cornerstone/src/commandsModule.ts +++ b/extensions/cornerstone/src/commandsModule.ts @@ -65,6 +65,14 @@ const getLabelmapTools = ({ toolGroupService }) => { return labelmapTools; }; +const getPreviewTools = ({ toolGroupService }) => { + const labelmapTools = getLabelmapTools({ toolGroupService }); + + const previewTools = labelmapTools.filter(tool => tool.acceptPreview || tool.rejectPreview); + + return previewTools; +}; + const segmentAI = new ONNXSegmentationController({ autoSegmentMode: true, models: { @@ -1709,14 +1717,15 @@ function commandsModule({ }); }, _handlePreviewAction: action => { - const labelmapTools = getLabelmapTools({ toolGroupService }); const { viewport } = _getActiveViewportEnabledElement(); - const activeTools = labelmapTools.filter( - tool => tool.mode === 'Active' || tool.mode === 'Enabled' - ); + const previewTools = getPreviewTools({ toolGroupService }); - activeTools.forEach(tool => { - tool[`${action}Preview`](); + previewTools.forEach(tool => { + try { + tool[`${action}Preview`](); + } catch (error) { + console.debug('Error accepting preview for tool', tool.toolName); + } }); if (segmentAI.enabled) {