function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) { const utilityModule = extensionManager.getModuleEntry( '@ohif/extension-cornerstone.utilityModule.tools' ); const { toolNames, Enums } = utilityModule.exports; const tools = { active: [ { toolName: toolNames.WindowLevel, bindings: [{ mouseButton: Enums.MouseBindings.Primary }], }, { toolName: toolNames.Pan, bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }], }, { toolName: toolNames.Zoom, bindings: [{ mouseButton: Enums.MouseBindings.Secondary }], }, { toolName: toolNames.StackScrollMouseWheel, bindings: [] }, ], passive: [ { toolName: toolNames.Length }, { toolName: toolNames.ArrowAnnotate, configuration: { getTextCallback: (callback, eventDetails) => commandsManager.runCommand('arrowTextCallback', { callback, eventDetails, }), changeTextCallback: (data, eventDetails, callback) => commandsManager.runCommand('arrowTextCallback', { callback, data, eventDetails, }), }, }, { toolName: toolNames.Bidirectional }, { toolName: toolNames.DragProbe }, { toolName: toolNames.EllipticalROI }, { toolName: toolNames.CircleROI }, { toolName: toolNames.RectangleROI }, { toolName: toolNames.StackScroll }, { toolName: toolNames.Angle }, { toolName: toolNames.Magnify }, { toolName: toolNames.SegmentationDisplay }, ], // enabled enabled: [{ toolName: toolNames.ImageOverlayViewer }], // disabled disabled: [{ toolName: toolNames.ReferenceLines }], }; toolGroupService.createToolGroupAndAddTools(toolGroupId, tools); } function initSRToolGroup(extensionManager, toolGroupService, commandsManager) { const SRUtilityModule = extensionManager.getModuleEntry( '@ohif/extension-cornerstone-dicom-sr.utilityModule.tools' ); const CS3DUtilityModule = extensionManager.getModuleEntry( '@ohif/extension-cornerstone.utilityModule.tools' ); const { toolNames: SRToolNames } = SRUtilityModule.exports; const { toolNames, Enums } = CS3DUtilityModule.exports; const tools = { active: [ { toolName: toolNames.WindowLevel, bindings: [ { mouseButton: Enums.MouseBindings.Primary, }, ], }, { toolName: toolNames.Pan, bindings: [ { mouseButton: Enums.MouseBindings.Auxiliary, }, ], }, { toolName: toolNames.Zoom, bindings: [ { mouseButton: Enums.MouseBindings.Secondary, }, ], }, { toolName: toolNames.StackScrollMouseWheel, bindings: [], }, ], passive: [ { toolName: SRToolNames.SRLength }, { toolName: SRToolNames.SRArrowAnnotate }, { toolName: SRToolNames.SRBidirectional }, { toolName: SRToolNames.SREllipticalROI }, { toolName: SRToolNames.SRCircleROI }, ], enabled: [ { toolName: SRToolNames.DICOMSRDisplay, bindings: [], }, ], // disabled }; const toolGroupId = 'SRToolGroup'; toolGroupService.createToolGroupAndAddTools(toolGroupId, tools); } function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) { const utilityModule = extensionManager.getModuleEntry( '@ohif/extension-cornerstone.utilityModule.tools' ); const { toolNames, Enums } = utilityModule.exports; const tools = { active: [ { toolName: toolNames.WindowLevel, bindings: [{ mouseButton: Enums.MouseBindings.Primary }], }, { toolName: toolNames.Pan, bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }], }, { toolName: toolNames.Zoom, bindings: [{ mouseButton: Enums.MouseBindings.Secondary }], }, { toolName: toolNames.StackScrollMouseWheel, bindings: [] }, ], passive: [ { toolName: toolNames.Length }, { toolName: toolNames.ArrowAnnotate, configuration: { getTextCallback: (callback, eventDetails) => commandsManager.runCommand('arrowTextCallback', { callback, eventDetails, }), changeTextCallback: (data, eventDetails, callback) => commandsManager.runCommand('arrowTextCallback', { callback, data, eventDetails, }), }, }, { toolName: toolNames.Bidirectional }, { toolName: toolNames.DragProbe }, { toolName: toolNames.EllipticalROI }, { toolName: toolNames.CircleROI }, { toolName: toolNames.RectangleROI }, { toolName: toolNames.StackScroll }, { toolName: toolNames.Angle }, { toolName: toolNames.SegmentationDisplay }, ], disabled: [ { toolName: toolNames.Crosshairs, configuration: { viewportIndicators: false, autoPan: { enabled: false, panSize: 10, }, }, }, { toolName: toolNames.ReferenceLines }, ], // enabled // disabled }; toolGroupService.createToolGroupAndAddTools('mpr', tools); } function initToolGroups(extensionManager, toolGroupService, commandsManager) { initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default'); initSRToolGroup(extensionManager, toolGroupService, commandsManager); initMPRToolGroup(extensionManager, toolGroupService, commandsManager); } export default initToolGroups;