export const toolGroupIds = { CT: 'ctToolGroup', PT: 'ptToolGroup', Fusion: 'fusionToolGroup', MIP: 'mipToolGroup', default: 'default', // MPR: 'mpr', }; function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) { 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.Probe }, { toolName: toolNames.EllipticalROI }, { toolName: toolNames.RectangleROI }, { toolName: toolNames.StackScroll }, { toolName: toolNames.Angle }, { toolName: toolNames.CobbAngle }, { toolName: toolNames.Magnify }, ], enabled: [{ toolName: toolNames.SegmentationDisplay }], disabled: [ { toolName: toolNames.Crosshairs, configuration: { viewportIndicators: false, autoPan: { enabled: false, panSize: 10, }, }, }, ], }; toolGroupService.createToolGroupAndAddTools(toolGroupIds.CT, tools); toolGroupService.createToolGroupAndAddTools(toolGroupIds.PT, { active: tools.active, passive: [...tools.passive, { toolName: 'RectangleROIStartEndThreshold' }], enabled: tools.enabled, disabled: tools.disabled, }); toolGroupService.createToolGroupAndAddTools(toolGroupIds.Fusion, tools); toolGroupService.createToolGroupAndAddTools(toolGroupIds.default, tools); const mipTools = { active: [ { toolName: toolNames.VolumeRotateMouseWheel, configuration: { rotateIncrementDegrees: 0.1, }, }, { toolName: toolNames.MipJumpToClick, configuration: { toolGroupId: toolGroupIds.PT, }, bindings: [{ mouseButton: Enums.MouseBindings.Primary }], }, ], enabled: [{ toolName: toolNames.SegmentationDisplay }], }; toolGroupService.createToolGroupAndAddTools(toolGroupIds.MIP, mipTools); } function initToolGroups(toolNames, Enums, toolGroupService, commandsManager) { _initToolGroups(toolNames, Enums, toolGroupService, commandsManager); } export default initToolGroups;