From dd86a8eabd0712d25e7652a242377fe09597e8d5 Mon Sep 17 00:00:00 2001 From: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com> Date: Mon, 29 Sep 2025 15:56:11 -0400 Subject: [PATCH] fix(segmentation): Restored segment label tool in longitudinal mode. (#5443) --- extensions/cornerstone/src/commandsModule.ts | 12 ++++++++++-- modes/longitudinal/src/index.ts | 3 ++- modes/longitudinal/src/toolbarButtons.ts | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/extensions/cornerstone/src/commandsModule.ts b/extensions/cornerstone/src/commandsModule.ts index bc5737007..09b6a1d07 100644 --- a/extensions/cornerstone/src/commandsModule.ts +++ b/extensions/cornerstone/src/commandsModule.ts @@ -1858,13 +1858,21 @@ function commandsModule({ } }); }, - toggleSegmentLabel: ({ enabled }) => { + toggleSegmentLabel: ({ enabled }: { enabled?: boolean }) => { const toolName = cornerstoneTools.SegmentLabelTool.toolName; const toolGroupIds = toolGroupService.getToolGroupIds(); + const isToolOn = toolGroupIds.some(toolGroupId => { + const toolGroup = cornerstoneTools.ToolGroupManager.getToolGroup(toolGroupId); + const mode = toolGroup.getToolInstance(toolName)?.mode; + return mode === 'Active'; + }); + + const enableTool = enabled !== undefined ? enabled : !isToolOn; + toolGroupIds.forEach(toolGroupId => { const toolGroup = cornerstoneTools.ToolGroupManager.getToolGroup(toolGroupId); - if (enabled) { + if (enableTool) { toolGroup.setToolActive(toolName); } else { toolGroup.setToolDisabled(toolName); diff --git a/modes/longitudinal/src/index.ts b/modes/longitudinal/src/index.ts index f02e0ff56..59a265e38 100644 --- a/modes/longitudinal/src/index.ts +++ b/modes/longitudinal/src/index.ts @@ -160,7 +160,8 @@ function modeFactory({ modeConfiguration }) { 'TagBrowser', 'AdvancedMagnify', 'UltrasoundDirectionalTool', -'WindowLevelRegion', + 'WindowLevelRegion', + 'SegmentLabelTool', ]); customizationService.setCustomizations({ diff --git a/modes/longitudinal/src/toolbarButtons.ts b/modes/longitudinal/src/toolbarButtons.ts index 2e3863517..9d7eaed89 100644 --- a/modes/longitudinal/src/toolbarButtons.ts +++ b/modes/longitudinal/src/toolbarButtons.ts @@ -667,6 +667,24 @@ const toolbarButtons: Button[] = [ buttonSection: true, }, }, + { + id: 'SegmentLabelTool', + uiType: 'ohif.toolBoxButton', + props: { + icon: 'tool-segment-label', + label: i18n.t('Buttons:Segment Label Display'), + tooltip: i18n.t( + 'Buttons:Click to show or hide segment labels when hovering with your mouse.' + ), + commands: { commandName: 'toggleSegmentLabel' }, + evaluate: [ + 'evaluate.cornerstoneTool.toggle', + { + name: 'evaluate.cornerstone.hasSegmentation', + }, + ], + }, + }, // { // id: 'Undo', // uiType: 'ohif.toolButton',