@ohif/mode-segmentation 3.9.0-beta.2 → 3.9.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","mappings":"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","sources":["webpack://@ohif/mode-segmentation/webpack/universalModuleDefinition","webpack://@ohif/mode-segmentation/external umd {\"commonjs2\":\"@ohif/core\",\"commonjs\":\"@ohif/core\",\"amd\":\"@ohif/core\",\"root\":\"@ohif/core\"}","webpack://@ohif/mode-segmentation/webpack/bootstrap","webpack://@ohif/mode-segmentation/webpack/runtime/define property getters","webpack://@ohif/mode-segmentation/webpack/runtime/hasOwnProperty shorthand","webpack://@ohif/mode-segmentation/webpack/runtime/make namespace object","webpack://@ohif/mode-segmentation/./src/id.js","webpack://@ohif/mode-segmentation/./src/toolbarButtons.ts","webpack://@ohif/mode-segmentation/./src/segmentationButtons.ts","webpack://@ohif/mode-segmentation/./src/initToolGroups.ts","webpack://@ohif/mode-segmentation/./src/index.tsx"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@ohif/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"@ohif/mode-segmentation\", [\"@ohif/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@ohif/mode-segmentation\"] = factory(require(\"@ohif/core\"));\n\telse\n\t\troot[\"@ohif/mode-segmentation\"] = factory(root[\"@ohif/core\"]);\n})(typeof self !== 'undefined' ? self : this, (__WEBPACK_EXTERNAL_MODULE__498__) => {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__498__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import packageJson from '../package.json';\n\nconst id = packageJson.name;\n\nexport { id };\n","import type { Button } from '@ohif/core/types';\nimport { defaults, ToolbarService, ViewportGridService } from '@ohif/core';\n\nconst { createButton } = ToolbarService;\n\nconst ReferenceLinesListeners: RunCommand = [\n {\n commandName: 'setSourceViewportForReferenceLinesTool',\n context: 'CORNERSTONE',\n },\n];\n\nexport const setToolActiveToolbar = {\n commandName: 'setToolActiveToolbar',\n commandOptions: {\n toolGroupIds: ['default', 'mpr', 'SRToolGroup', 'volume3d'],\n },\n};\n\nconst toolbarButtons: Button[] = [\n {\n id: 'Zoom',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-zoom',\n label: 'Zoom',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n },\n },\n {\n id: 'WindowLevel',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-window-level',\n label: 'Window Level',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n },\n },\n {\n id: 'Pan',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-move',\n label: 'Pan',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n },\n },\n {\n id: 'TrackballRotate',\n uiType: 'ohif.radioGroup',\n props: {\n type: 'tool',\n icon: 'tool-3d-rotate',\n label: '3D Rotate',\n commands: setToolActiveToolbar,\n evaluate: {\n name: 'evaluate.cornerstoneTool',\n disabledText: 'Select a 3D viewport to enable this tool',\n },\n },\n },\n {\n id: 'Capture',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-capture',\n label: 'Capture',\n commands: 'showDownloadViewportModal',\n evaluate: 'evaluate.action',\n },\n },\n {\n id: 'Layout',\n uiType: 'ohif.layoutSelector',\n props: {\n rows: 3,\n columns: 4,\n evaluate: 'evaluate.action',\n commands: 'setViewportGridLayout',\n },\n },\n {\n id: 'Crosshairs',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-crosshair',\n label: 'Crosshairs',\n commands: {\n commandName: 'setToolActiveToolbar',\n commandOptions: {\n toolGroupIds: ['mpr'],\n },\n },\n evaluate: {\n name: 'evaluate.cornerstoneTool',\n disabledText: 'Select an MPR viewport to enable this tool',\n },\n },\n },\n {\n id: 'MoreTools',\n uiType: 'ohif.splitButton',\n props: {\n groupId: 'MoreTools',\n evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',\n primary: createButton({\n id: 'Reset',\n icon: 'tool-reset',\n tooltip: 'Reset View',\n label: 'Reset',\n commands: 'resetViewport',\n evaluate: 'evaluate.action',\n }),\n secondary: {\n icon: 'chevron-down',\n label: '',\n tooltip: 'More Tools',\n },\n items: [\n createButton({\n id: 'Reset',\n icon: 'tool-reset',\n label: 'Reset View',\n tooltip: 'Reset View',\n commands: 'resetViewport',\n evaluate: 'evaluate.action',\n }),\n createButton({\n id: 'rotate-right',\n icon: 'tool-rotate-right',\n label: 'Rotate Right',\n tooltip: 'Rotate +90',\n commands: 'rotateViewportCW',\n evaluate: 'evaluate.action',\n }),\n createButton({\n id: 'flipHorizontal',\n icon: 'tool-flip-horizontal',\n label: 'Flip Horizontal',\n tooltip: 'Flip Horizontally',\n commands: 'flipViewportHorizontal',\n evaluate: ['evaluate.viewportProperties.toggle', 'evaluate.not3D'],\n }),\n createButton({\n id: 'ReferenceLines',\n icon: 'tool-referenceLines',\n label: 'Reference Lines',\n tooltip: 'Show Reference Lines',\n commands: 'toggleEnabledDisabledToolbar',\n listeners: {\n [ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,\n [ViewportGridService.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners,\n },\n evaluate: 'evaluate.cornerstoneTool.toggle',\n }),\n createButton({\n id: 'ImageOverlayViewer',\n icon: 'toggle-dicom-overlay',\n label: 'Image Overlay',\n tooltip: 'Toggle Image Overlay',\n commands: 'toggleEnabledDisabledToolbar',\n evaluate: 'evaluate.cornerstoneTool.toggle',\n }),\n createButton({\n id: 'StackScroll',\n icon: 'tool-stack-scroll',\n label: 'Stack Scroll',\n tooltip: 'Stack Scroll',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'invert',\n icon: 'tool-invert',\n label: 'Invert',\n tooltip: 'Invert Colors',\n commands: 'invertViewport',\n evaluate: 'evaluate.viewportProperties.toggle',\n }),\n createButton({\n id: 'Probe',\n icon: 'tool-probe',\n label: 'Probe',\n tooltip: 'Probe',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'Cine',\n icon: 'tool-cine',\n label: 'Cine',\n tooltip: 'Cine',\n commands: 'toggleCine',\n evaluate: ['evaluate.cine', 'evaluate.not3D'],\n }),\n createButton({\n id: 'Angle',\n icon: 'tool-angle',\n label: 'Angle',\n tooltip: 'Angle',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'Magnify',\n icon: 'tool-magnify',\n label: 'Zoom-in',\n tooltip: 'Zoom-in',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'RectangleROI',\n icon: 'tool-rectangle',\n label: 'Rectangle',\n tooltip: 'Rectangle',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'CalibrationLine',\n icon: 'tool-calibration',\n label: 'Calibration',\n tooltip: 'Calibration Line',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'TagBrowser',\n icon: 'dicom-tag-browser',\n label: 'Dicom Tag Browser',\n tooltip: 'Dicom Tag Browser',\n commands: 'openDICOMTagViewer',\n }),\n createButton({\n id: 'AdvancedMagnify',\n icon: 'icon-tool-loupe',\n label: 'Magnify Probe',\n tooltip: 'Magnify Probe',\n commands: 'toggleActiveDisabledToolbar',\n evaluate: 'evaluate.cornerstoneTool.toggle.ifStrictlyDisabled',\n }),\n createButton({\n id: 'UltrasoundDirectionalTool',\n icon: 'icon-tool-ultrasound-bidirectional',\n label: 'Ultrasound Directional',\n tooltip: 'Ultrasound Directional',\n commands: setToolActiveToolbar,\n evaluate: ['evaluate.cornerstoneTool', 'evaluate.isUS'],\n }),\n ],\n },\n },\n];\n\nexport default toolbarButtons;\n","import type { Button } from '@ohif/core/types';\n\nconst toolbarButtons: Button[] = [\n {\n id: 'BrushTools',\n uiType: 'ohif.buttonGroup',\n props: {\n groupId: 'BrushTools',\n items: [\n {\n id: 'Brush',\n icon: 'icon-tool-brush',\n label: 'Brush',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['CircularBrush', 'SphereBrush'],\n disabledText: 'Create new segmentation to enable this tool.',\n },\n options: [\n {\n name: 'Radius (mm)',\n id: 'brush-radius',\n type: 'range',\n min: 0.5,\n max: 99.5,\n step: 0.5,\n value: 25,\n commands: {\n commandName: 'setBrushSize',\n commandOptions: { toolNames: ['CircularBrush', 'SphereBrush'] },\n },\n },\n {\n name: 'Shape',\n type: 'radio',\n id: 'brush-mode',\n value: 'CircularBrush',\n values: [\n { value: 'CircularBrush', label: 'Circle' },\n { value: 'SphereBrush', label: 'Sphere' },\n ],\n commands: 'setToolActiveToolbar',\n },\n ],\n },\n {\n id: 'Eraser',\n icon: 'icon-tool-eraser',\n label: 'Eraser',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['CircularEraser', 'SphereEraser'],\n },\n options: [\n {\n name: 'Radius (mm)',\n id: 'eraser-radius',\n type: 'range',\n min: 0.5,\n max: 99.5,\n step: 0.5,\n value: 25,\n commands: {\n commandName: 'setBrushSize',\n commandOptions: { toolNames: ['CircularEraser', 'SphereEraser'] },\n },\n },\n {\n name: 'Shape',\n type: 'radio',\n id: 'eraser-mode',\n value: 'CircularEraser',\n values: [\n { value: 'CircularEraser', label: 'Circle' },\n { value: 'SphereEraser', label: 'Sphere' },\n ],\n commands: 'setToolActiveToolbar',\n },\n ],\n },\n {\n id: 'Threshold',\n icon: 'icon-tool-threshold',\n label: 'Threshold Tool',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'],\n },\n options: [\n {\n name: 'Radius (mm)',\n id: 'threshold-radius',\n type: 'range',\n min: 0.5,\n max: 99.5,\n step: 0.5,\n value: 25,\n commands: {\n commandName: 'setBrushSize',\n commandOptions: {\n toolNames: [\n 'ThresholdCircularBrush',\n 'ThresholdSphereBrush',\n 'ThresholdCircularBrushDynamic',\n ],\n },\n },\n },\n\n {\n name: 'Threshold',\n type: 'radio',\n id: 'dynamic-mode',\n value: 'ThresholdRange',\n values: [\n { value: 'ThresholdDynamic', label: 'Dynamic' },\n { value: 'ThresholdRange', label: 'Range' },\n ],\n commands: ({ value, commandsManager, options }) => {\n if (value === 'ThresholdDynamic') {\n commandsManager.run('setToolActive', {\n toolName: 'ThresholdCircularBrushDynamic',\n });\n\n return;\n }\n\n // check the condition of the threshold-range option\n const thresholdRangeOption = options.find(\n option => option.id === 'threshold-shape'\n );\n\n commandsManager.run('setToolActiveToolbar', {\n toolName: thresholdRangeOption.value,\n });\n },\n },\n {\n name: 'Shape',\n type: 'radio',\n id: 'threshold-shape',\n value: 'ThresholdCircularBrush',\n values: [\n { value: 'ThresholdCircularBrush', label: 'Circle' },\n { value: 'ThresholdSphereBrush', label: 'Sphere' },\n ],\n condition: ({ options }) =>\n options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange',\n commands: 'setToolActiveToolbar',\n },\n {\n name: 'ThresholdRange',\n type: 'double-range',\n id: 'threshold-range',\n min: -1000,\n max: 1000,\n step: 1,\n value: [100, 600],\n condition: ({ options }) =>\n options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange',\n commands: {\n commandName: 'setThresholdRange',\n commandOptions: {\n toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'],\n },\n },\n },\n ],\n },\n ],\n },\n },\n {\n id: 'Shapes',\n uiType: 'ohif.radioGroup',\n props: {\n label: 'Shapes',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor'],\n },\n icon: 'icon-tool-shape',\n options: [\n {\n name: 'Shape',\n type: 'radio',\n value: 'CircleScissor',\n id: 'shape-mode',\n values: [\n { value: 'CircleScissor', label: 'Circle' },\n { value: 'SphereScissor', label: 'Sphere' },\n { value: 'RectangleScissor', label: 'Rectangle' },\n ],\n commands: 'setToolActiveToolbar',\n },\n ],\n },\n },\n];\n\nexport default toolbarButtons;\n","function createTools(utilityModule) {\n const { toolNames, Enums } = utilityModule.exports;\n return {\n active: [\n { toolName: toolNames.WindowLevel, bindings: [{ mouseButton: Enums.MouseBindings.Primary }] },\n { toolName: toolNames.Pan, bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }] },\n { toolName: toolNames.Zoom, bindings: [{ mouseButton: Enums.MouseBindings.Secondary }] },\n { toolName: toolNames.StackScrollMouseWheel, bindings: [] },\n ],\n passive: [\n {\n toolName: 'CircularBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'FILL_INSIDE_CIRCLE',\n },\n },\n {\n toolName: 'CircularEraser',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'ERASE_INSIDE_CIRCLE',\n },\n },\n {\n toolName: 'SphereBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'FILL_INSIDE_SPHERE',\n },\n },\n {\n toolName: 'SphereEraser',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'ERASE_INSIDE_SPHERE',\n },\n },\n {\n toolName: 'ThresholdCircularBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'THRESHOLD_INSIDE_CIRCLE',\n },\n },\n {\n toolName: 'ThresholdSphereBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'THRESHOLD_INSIDE_SPHERE',\n },\n },\n {\n toolName: 'ThresholdCircularBrushDynamic',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'THRESHOLD_INSIDE_CIRCLE',\n // preview: {\n // enabled: true,\n // },\n strategySpecificConfiguration: {\n // to use the use the center segment index to determine\n // if inside -> same segment, if outside -> eraser\n // useCenterSegmentIndex: true,\n THRESHOLD: {\n isDynamic: true,\n dynamicRadius: 3,\n },\n },\n },\n },\n { toolName: toolNames.CircleScissors },\n { toolName: toolNames.RectangleScissors },\n { toolName: toolNames.SphereScissors },\n { toolName: toolNames.StackScroll },\n { toolName: toolNames.Magnify },\n { toolName: toolNames.SegmentationDisplay },\n\n { toolName: toolNames.UltrasoundDirectional },\n ],\n disabled: [{ toolName: toolNames.ReferenceLines }, { toolName: toolNames.AdvancedMagnify }],\n };\n}\n\nfunction initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {\n const utilityModule = extensionManager.getModuleEntry(\n '@ohif/extension-cornerstone.utilityModule.tools'\n );\n const tools = createTools(utilityModule);\n toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);\n}\n\nfunction initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {\n const utilityModule = extensionManager.getModuleEntry(\n '@ohif/extension-cornerstone.utilityModule.tools'\n );\n const tools = createTools(utilityModule);\n tools.disabled.push(\n {\n toolName: utilityModule.exports.toolNames.Crosshairs,\n configuration: {\n viewportIndicators: false,\n disableOnPassive: true,\n autoPan: {\n enabled: false,\n panSize: 10,\n },\n },\n },\n { toolName: utilityModule.exports.toolNames.ReferenceLines }\n );\n toolGroupService.createToolGroupAndAddTools('mpr', tools);\n}\n\nfunction initVolume3DToolGroup(extensionManager, toolGroupService) {\n const utilityModule = extensionManager.getModuleEntry(\n '@ohif/extension-cornerstone.utilityModule.tools'\n );\n\n const { toolNames, Enums } = utilityModule.exports;\n\n const tools = {\n active: [\n {\n toolName: toolNames.TrackballRotateTool,\n bindings: [{ mouseButton: Enums.MouseBindings.Primary }],\n },\n {\n toolName: toolNames.Zoom,\n bindings: [{ mouseButton: Enums.MouseBindings.Secondary }],\n },\n {\n toolName: toolNames.Pan,\n bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }],\n },\n ],\n };\n\n toolGroupService.createToolGroupAndAddTools('volume3d', tools);\n}\n\nfunction initToolGroups(extensionManager, toolGroupService, commandsManager) {\n initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');\n initMPRToolGroup(extensionManager, toolGroupService, commandsManager);\n initVolume3DToolGroup(extensionManager, toolGroupService);\n}\n\nexport default initToolGroups;\n","import { hotkeys } from '@ohif/core';\nimport { id } from './id';\nimport toolbarButtons from './toolbarButtons';\nimport segmentationButtons from './segmentationButtons';\nimport initToolGroups from './initToolGroups';\n\nconst DEFAULT_TOOL_GROUP_ID = 'default';\nconst VOLUME3D_TOOL_GROUP_ID = 'volume3d';\n\nconst ohif = {\n layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',\n sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',\n hangingProtocol: '@ohif/extension-default.hangingProtocolModule.default',\n leftPanel: '@ohif/extension-default.panelModule.seriesList',\n rightPanel: '@ohif/extension-default.panelModule.measure',\n};\n\nconst cornerstone = {\n viewport: '@ohif/extension-cornerstone.viewportModule.cornerstone',\n};\n\nconst segmentation = {\n panel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation',\n panelTool: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentationWithTools',\n sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',\n viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg',\n};\n\n/**\n * Just two dependencies to be able to render a viewport with panels in order\n * to make sure that the mode is working.\n */\nconst extensionDependencies = {\n '@ohif/extension-default': '^3.0.0',\n '@ohif/extension-cornerstone': '^3.0.0',\n '@ohif/extension-cornerstone-dicom-seg': '^3.0.0',\n};\n\nfunction modeFactory({ modeConfiguration }) {\n return {\n /**\n * Mode ID, which should be unique among modes used by the viewer. This ID\n * is used to identify the mode in the viewer's state.\n */\n id,\n routeName: 'segmentation',\n /**\n * Mode name, which is displayed in the viewer's UI in the workList, for the\n * user to select the mode.\n */\n displayName: 'Segmentation',\n /**\n * Runs when the Mode Route is mounted to the DOM. Usually used to initialize\n * Services and other resources.\n */\n onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => {\n const { measurementService, toolbarService, toolGroupService } = servicesManager.services;\n\n measurementService.clearMeasurements();\n\n // Init Default and SR ToolGroups\n initToolGroups(extensionManager, toolGroupService, commandsManager);\n\n toolbarService.addButtons(toolbarButtons);\n toolbarService.addButtons(segmentationButtons);\n\n toolbarService.createButtonSection('primary', [\n 'WindowLevel',\n 'Pan',\n 'Zoom',\n 'TrackballRotate',\n 'Capture',\n 'Layout',\n 'Crosshairs',\n 'MoreTools',\n ]);\n toolbarService.createButtonSection('segmentationToolbox', ['BrushTools', 'Shapes']);\n },\n onModeExit: ({ servicesManager }) => {\n const {\n toolGroupService,\n syncGroupService,\n toolbarService,\n segmentationService,\n cornerstoneViewportService,\n uiDialogService,\n uiModalService,\n } = servicesManager.services;\n\n uiDialogService.dismissAll();\n uiModalService.hide();\n toolGroupService.destroy();\n syncGroupService.destroy();\n segmentationService.destroy();\n cornerstoneViewportService.destroy();\n },\n /** */\n validationTags: {\n study: [],\n series: [],\n },\n /**\n * A boolean return value that indicates whether the mode is valid for the\n * modalities of the selected studies. Currently we don't have stack viewport\n * segmentations and we should exclude them\n */\n isValidMode: ({ modalities }) => {\n // Don't show the mode if the selected studies have only one modality\n // that is not supported by the mode\n const modalitiesArray = modalities.split('\\\\');\n return {\n valid:\n modalitiesArray.length === 1\n ? !['SM', 'US', 'MG', 'OT', 'DOC', 'CR'].includes(modalitiesArray[0])\n : true,\n description:\n 'The mode does not support studies that ONLY include the following modalities: SM, US, MG, OT, DOC, CR',\n };\n },\n /**\n * Mode Routes are used to define the mode's behavior. A list of Mode Route\n * that includes the mode's path and the layout to be used. The layout will\n * include the components that are used in the layout. For instance, if the\n * default layoutTemplate is used (id: '@ohif/extension-default.layoutTemplateModule.viewerLayout')\n * it will include the leftPanels, rightPanels, and viewports. However, if\n * you define another layoutTemplate that includes a Footer for instance,\n * you should provide the Footer component here too. Note: We use Strings\n * to reference the component's ID as they are registered in the internal\n * ExtensionManager. The template for the string is:\n * `${extensionId}.{moduleType}.${componentId}`.\n */\n routes: [\n {\n path: 'template',\n layoutTemplate: ({ location, servicesManager }) => {\n return {\n id: ohif.layout,\n props: {\n leftPanels: [ohif.leftPanel],\n rightPanels: [segmentation.panelTool],\n viewports: [\n {\n namespace: cornerstone.viewport,\n displaySetsToDisplay: [ohif.sopClassHandler],\n },\n {\n namespace: segmentation.viewport,\n displaySetsToDisplay: [segmentation.sopClassHandler],\n },\n ],\n },\n };\n },\n },\n ],\n /** List of extensions that are used by the mode */\n extensions: extensionDependencies,\n /** HangingProtocol used by the mode */\n // hangingProtocol: [''],\n /** SopClassHandlers used by the mode */\n sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler],\n /** hotkeys for mode */\n hotkeys: [...hotkeys.defaults.hotkeyBindings],\n };\n}\n\nconst mode = {\n id,\n modeFactory,\n extensionDependencies,\n};\n\nexport default mode;\n"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__498__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","id","packageJson","createButton","ToolbarService","ReferenceLinesListeners","commandName","context","setToolActiveToolbar","commandOptions","toolGroupIds","uiType","props","icon","label","commands","evaluate","type","name","disabledText","rows","columns","groupId","primary","tooltip","secondary","items","listeners","ViewportGridService","EVENTS","ACTIVE_VIEWPORT_ID_CHANGED","VIEWPORTS_READY","toolNames","options","min","max","step","values","commandsManager","run","toolName","thresholdRangeOption","find","option","condition","createTools","utilityModule","Enums","active","WindowLevel","bindings","mouseButton","MouseBindings","Primary","Pan","Auxiliary","Zoom","Secondary","StackScrollMouseWheel","passive","parentTool","configuration","activeStrategy","strategySpecificConfiguration","THRESHOLD","isDynamic","dynamicRadius","CircleScissors","RectangleScissors","SphereScissors","StackScroll","Magnify","SegmentationDisplay","UltrasoundDirectional","disabled","ReferenceLines","AdvancedMagnify","ohif","segmentation","extensionDependencies","modeFactory","modeConfiguration","routeName","displayName","onModeEnter","servicesManager","extensionManager","measurementService","toolbarService","toolGroupService","services","clearMeasurements","toolGroupId","tools","getModuleEntry","createToolGroupAndAddTools","initDefaultToolGroup","push","Crosshairs","viewportIndicators","disableOnPassive","autoPan","enabled","panSize","initMPRToolGroup","TrackballRotateTool","initVolume3DToolGroup","initToolGroups","addButtons","toolbarButtons","segmentationButtons","createButtonSection","onModeExit","syncGroupService","segmentationService","cornerstoneViewportService","uiDialogService","uiModalService","dismissAll","hide","destroy","validationTags","study","series","isValidMode","modalities","modalitiesArray","split","valid","length","includes","description","routes","path","layoutTemplate","location","leftPanels","rightPanels","viewports","namespace","displaySetsToDisplay","extensions","sopClassHandlers","hotkeys","defaults","hotkeyBindings"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.umd.js","mappings":"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","sources":["webpack://@ohif/mode-segmentation/webpack/universalModuleDefinition","webpack://@ohif/mode-segmentation/external umd {\"commonjs2\":\"@ohif/core\",\"commonjs\":\"@ohif/core\",\"amd\":\"@ohif/core\",\"root\":\"@ohif/core\"}","webpack://@ohif/mode-segmentation/webpack/bootstrap","webpack://@ohif/mode-segmentation/webpack/runtime/define property getters","webpack://@ohif/mode-segmentation/webpack/runtime/hasOwnProperty shorthand","webpack://@ohif/mode-segmentation/webpack/runtime/make namespace object","webpack://@ohif/mode-segmentation/./src/id.js","webpack://@ohif/mode-segmentation/./src/toolbarButtons.ts","webpack://@ohif/mode-segmentation/./src/segmentationButtons.ts","webpack://@ohif/mode-segmentation/./src/initToolGroups.ts","webpack://@ohif/mode-segmentation/./src/index.tsx"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@ohif/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"@ohif/mode-segmentation\", [\"@ohif/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@ohif/mode-segmentation\"] = factory(require(\"@ohif/core\"));\n\telse\n\t\troot[\"@ohif/mode-segmentation\"] = factory(root[\"@ohif/core\"]);\n})(typeof self !== 'undefined' ? self : this, (__WEBPACK_EXTERNAL_MODULE__498__) => {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__498__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import packageJson from '../package.json';\n\nconst id = packageJson.name;\n\nexport { id };\n","import type { Button } from '@ohif/core/types';\nimport { defaults, ToolbarService, ViewportGridService } from '@ohif/core';\n\nconst { createButton } = ToolbarService;\n\nconst ReferenceLinesListeners: RunCommand = [\n {\n commandName: 'setSourceViewportForReferenceLinesTool',\n context: 'CORNERSTONE',\n },\n];\n\nexport const setToolActiveToolbar = {\n commandName: 'setToolActiveToolbar',\n commandOptions: {\n toolGroupIds: ['default', 'mpr', 'SRToolGroup', 'volume3d'],\n },\n};\n\nconst toolbarButtons: Button[] = [\n {\n id: 'Zoom',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-zoom',\n label: 'Zoom',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n },\n },\n {\n id: 'WindowLevel',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-window-level',\n label: 'Window Level',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n },\n },\n {\n id: 'Pan',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-move',\n label: 'Pan',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n },\n },\n {\n id: 'TrackballRotate',\n uiType: 'ohif.radioGroup',\n props: {\n type: 'tool',\n icon: 'tool-3d-rotate',\n label: '3D Rotate',\n commands: setToolActiveToolbar,\n evaluate: {\n name: 'evaluate.cornerstoneTool',\n disabledText: 'Select a 3D viewport to enable this tool',\n },\n },\n },\n {\n id: 'Capture',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-capture',\n label: 'Capture',\n commands: 'showDownloadViewportModal',\n evaluate: 'evaluate.action',\n },\n },\n {\n id: 'Layout',\n uiType: 'ohif.layoutSelector',\n props: {\n rows: 3,\n columns: 4,\n evaluate: 'evaluate.action',\n commands: 'setViewportGridLayout',\n },\n },\n {\n id: 'Crosshairs',\n uiType: 'ohif.radioGroup',\n props: {\n icon: 'tool-crosshair',\n label: 'Crosshairs',\n commands: {\n commandName: 'setToolActiveToolbar',\n commandOptions: {\n toolGroupIds: ['mpr'],\n },\n },\n evaluate: {\n name: 'evaluate.cornerstoneTool',\n disabledText: 'Select an MPR viewport to enable this tool',\n },\n },\n },\n {\n id: 'MoreTools',\n uiType: 'ohif.splitButton',\n props: {\n groupId: 'MoreTools',\n evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',\n primary: createButton({\n id: 'Reset',\n icon: 'tool-reset',\n tooltip: 'Reset View',\n label: 'Reset',\n commands: 'resetViewport',\n evaluate: 'evaluate.action',\n }),\n secondary: {\n icon: 'chevron-down',\n label: '',\n tooltip: 'More Tools',\n },\n items: [\n createButton({\n id: 'Reset',\n icon: 'tool-reset',\n label: 'Reset View',\n tooltip: 'Reset View',\n commands: 'resetViewport',\n evaluate: 'evaluate.action',\n }),\n createButton({\n id: 'rotate-right',\n icon: 'tool-rotate-right',\n label: 'Rotate Right',\n tooltip: 'Rotate +90',\n commands: 'rotateViewportCW',\n evaluate: 'evaluate.action',\n }),\n createButton({\n id: 'flipHorizontal',\n icon: 'tool-flip-horizontal',\n label: 'Flip Horizontal',\n tooltip: 'Flip Horizontally',\n commands: 'flipViewportHorizontal',\n evaluate: ['evaluate.viewportProperties.toggle', 'evaluate.not3D'],\n }),\n createButton({\n id: 'ReferenceLines',\n icon: 'tool-referenceLines',\n label: 'Reference Lines',\n tooltip: 'Show Reference Lines',\n commands: 'toggleEnabledDisabledToolbar',\n listeners: {\n [ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,\n [ViewportGridService.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners,\n },\n evaluate: 'evaluate.cornerstoneTool.toggle',\n }),\n createButton({\n id: 'ImageOverlayViewer',\n icon: 'toggle-dicom-overlay',\n label: 'Image Overlay',\n tooltip: 'Toggle Image Overlay',\n commands: 'toggleEnabledDisabledToolbar',\n evaluate: 'evaluate.cornerstoneTool.toggle',\n }),\n createButton({\n id: 'StackScroll',\n icon: 'tool-stack-scroll',\n label: 'Stack Scroll',\n tooltip: 'Stack Scroll',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'invert',\n icon: 'tool-invert',\n label: 'Invert',\n tooltip: 'Invert Colors',\n commands: 'invertViewport',\n evaluate: 'evaluate.viewportProperties.toggle',\n }),\n createButton({\n id: 'Probe',\n icon: 'tool-probe',\n label: 'Probe',\n tooltip: 'Probe',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'Cine',\n icon: 'tool-cine',\n label: 'Cine',\n tooltip: 'Cine',\n commands: 'toggleCine',\n evaluate: ['evaluate.cine', 'evaluate.not3D'],\n }),\n createButton({\n id: 'Angle',\n icon: 'tool-angle',\n label: 'Angle',\n tooltip: 'Angle',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'Magnify',\n icon: 'tool-magnify',\n label: 'Zoom-in',\n tooltip: 'Zoom-in',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'RectangleROI',\n icon: 'tool-rectangle',\n label: 'Rectangle',\n tooltip: 'Rectangle',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'CalibrationLine',\n icon: 'tool-calibration',\n label: 'Calibration',\n tooltip: 'Calibration Line',\n commands: setToolActiveToolbar,\n evaluate: 'evaluate.cornerstoneTool',\n }),\n createButton({\n id: 'TagBrowser',\n icon: 'dicom-tag-browser',\n label: 'Dicom Tag Browser',\n tooltip: 'Dicom Tag Browser',\n commands: 'openDICOMTagViewer',\n }),\n createButton({\n id: 'AdvancedMagnify',\n icon: 'icon-tool-loupe',\n label: 'Magnify Probe',\n tooltip: 'Magnify Probe',\n commands: 'toggleActiveDisabledToolbar',\n evaluate: 'evaluate.cornerstoneTool.toggle.ifStrictlyDisabled',\n }),\n createButton({\n id: 'UltrasoundDirectionalTool',\n icon: 'icon-tool-ultrasound-bidirectional',\n label: 'Ultrasound Directional',\n tooltip: 'Ultrasound Directional',\n commands: setToolActiveToolbar,\n evaluate: ['evaluate.cornerstoneTool', 'evaluate.isUS'],\n }),\n ],\n },\n },\n];\n\nexport default toolbarButtons;\n","import type { Button } from '@ohif/core/types';\n\nconst toolbarButtons: Button[] = [\n {\n id: 'BrushTools',\n uiType: 'ohif.buttonGroup',\n props: {\n groupId: 'BrushTools',\n items: [\n {\n id: 'Brush',\n icon: 'icon-tool-brush',\n label: 'Brush',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['CircularBrush', 'SphereBrush'],\n disabledText: 'Create new segmentation to enable this tool.',\n },\n options: [\n {\n name: 'Radius (mm)',\n id: 'brush-radius',\n type: 'range',\n min: 0.5,\n max: 99.5,\n step: 0.5,\n value: 25,\n commands: {\n commandName: 'setBrushSize',\n commandOptions: { toolNames: ['CircularBrush', 'SphereBrush'] },\n },\n },\n {\n name: 'Shape',\n type: 'radio',\n id: 'brush-mode',\n value: 'CircularBrush',\n values: [\n { value: 'CircularBrush', label: 'Circle' },\n { value: 'SphereBrush', label: 'Sphere' },\n ],\n commands: 'setToolActiveToolbar',\n },\n ],\n },\n {\n id: 'Eraser',\n icon: 'icon-tool-eraser',\n label: 'Eraser',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['CircularEraser', 'SphereEraser'],\n },\n options: [\n {\n name: 'Radius (mm)',\n id: 'eraser-radius',\n type: 'range',\n min: 0.5,\n max: 99.5,\n step: 0.5,\n value: 25,\n commands: {\n commandName: 'setBrushSize',\n commandOptions: { toolNames: ['CircularEraser', 'SphereEraser'] },\n },\n },\n {\n name: 'Shape',\n type: 'radio',\n id: 'eraser-mode',\n value: 'CircularEraser',\n values: [\n { value: 'CircularEraser', label: 'Circle' },\n { value: 'SphereEraser', label: 'Sphere' },\n ],\n commands: 'setToolActiveToolbar',\n },\n ],\n },\n {\n id: 'Threshold',\n icon: 'icon-tool-threshold',\n label: 'Threshold Tool',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'],\n },\n options: [\n {\n name: 'Radius (mm)',\n id: 'threshold-radius',\n type: 'range',\n min: 0.5,\n max: 99.5,\n step: 0.5,\n value: 25,\n commands: {\n commandName: 'setBrushSize',\n commandOptions: {\n toolNames: [\n 'ThresholdCircularBrush',\n 'ThresholdSphereBrush',\n 'ThresholdCircularBrushDynamic',\n ],\n },\n },\n },\n\n {\n name: 'Threshold',\n type: 'radio',\n id: 'dynamic-mode',\n value: 'ThresholdRange',\n values: [\n { value: 'ThresholdDynamic', label: 'Dynamic' },\n { value: 'ThresholdRange', label: 'Range' },\n ],\n commands: ({ value, commandsManager, options }) => {\n if (value === 'ThresholdDynamic') {\n commandsManager.run('setToolActive', {\n toolName: 'ThresholdCircularBrushDynamic',\n });\n\n return;\n }\n\n // check the condition of the threshold-range option\n const thresholdRangeOption = options.find(\n option => option.id === 'threshold-shape'\n );\n\n commandsManager.run('setToolActiveToolbar', {\n toolName: thresholdRangeOption.value,\n });\n },\n },\n {\n name: 'Shape',\n type: 'radio',\n id: 'threshold-shape',\n value: 'ThresholdCircularBrush',\n values: [\n { value: 'ThresholdCircularBrush', label: 'Circle' },\n { value: 'ThresholdSphereBrush', label: 'Sphere' },\n ],\n condition: ({ options }) =>\n options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange',\n commands: 'setToolActiveToolbar',\n },\n {\n name: 'ThresholdRange',\n type: 'double-range',\n id: 'threshold-range',\n min: -1000,\n max: 1000,\n step: 1,\n value: [100, 600],\n condition: ({ options }) =>\n options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange',\n commands: {\n commandName: 'setThresholdRange',\n commandOptions: {\n toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush'],\n },\n },\n },\n ],\n },\n ],\n },\n },\n {\n id: 'Shapes',\n uiType: 'ohif.radioGroup',\n props: {\n label: 'Shapes',\n evaluate: {\n name: 'evaluate.cornerstone.segmentation',\n toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor'],\n },\n icon: 'icon-tool-shape',\n options: [\n {\n name: 'Shape',\n type: 'radio',\n value: 'CircleScissor',\n id: 'shape-mode',\n values: [\n { value: 'CircleScissor', label: 'Circle' },\n { value: 'SphereScissor', label: 'Sphere' },\n { value: 'RectangleScissor', label: 'Rectangle' },\n ],\n commands: 'setToolActiveToolbar',\n },\n ],\n },\n },\n];\n\nexport default toolbarButtons;\n","function createTools(utilityModule) {\n const { toolNames, Enums } = utilityModule.exports;\n return {\n active: [\n { toolName: toolNames.WindowLevel, bindings: [{ mouseButton: Enums.MouseBindings.Primary }] },\n { toolName: toolNames.Pan, bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }] },\n { toolName: toolNames.Zoom, bindings: [{ mouseButton: Enums.MouseBindings.Secondary }] },\n { toolName: toolNames.StackScrollMouseWheel, bindings: [] },\n ],\n passive: [\n {\n toolName: 'CircularBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'FILL_INSIDE_CIRCLE',\n },\n },\n {\n toolName: 'CircularEraser',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'ERASE_INSIDE_CIRCLE',\n },\n },\n {\n toolName: 'SphereBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'FILL_INSIDE_SPHERE',\n },\n },\n {\n toolName: 'SphereEraser',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'ERASE_INSIDE_SPHERE',\n },\n },\n {\n toolName: 'ThresholdCircularBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'THRESHOLD_INSIDE_CIRCLE',\n },\n },\n {\n toolName: 'ThresholdSphereBrush',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'THRESHOLD_INSIDE_SPHERE',\n },\n },\n {\n toolName: 'ThresholdCircularBrushDynamic',\n parentTool: 'Brush',\n configuration: {\n activeStrategy: 'THRESHOLD_INSIDE_CIRCLE',\n // preview: {\n // enabled: true,\n // },\n strategySpecificConfiguration: {\n // to use the use the center segment index to determine\n // if inside -> same segment, if outside -> eraser\n // useCenterSegmentIndex: true,\n THRESHOLD: {\n isDynamic: true,\n dynamicRadius: 3,\n },\n },\n },\n },\n { toolName: toolNames.CircleScissors },\n { toolName: toolNames.RectangleScissors },\n { toolName: toolNames.SphereScissors },\n { toolName: toolNames.StackScroll },\n { toolName: toolNames.Magnify },\n { toolName: toolNames.SegmentationDisplay },\n\n { toolName: toolNames.UltrasoundDirectional },\n ],\n disabled: [{ toolName: toolNames.ReferenceLines }, { toolName: toolNames.AdvancedMagnify }],\n };\n}\n\nfunction initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {\n const utilityModule = extensionManager.getModuleEntry(\n '@ohif/extension-cornerstone.utilityModule.tools'\n );\n const tools = createTools(utilityModule);\n toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);\n}\n\nfunction initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {\n const utilityModule = extensionManager.getModuleEntry(\n '@ohif/extension-cornerstone.utilityModule.tools'\n );\n const tools = createTools(utilityModule);\n tools.disabled.push(\n {\n toolName: utilityModule.exports.toolNames.Crosshairs,\n configuration: {\n viewportIndicators: false,\n disableOnPassive: true,\n autoPan: {\n enabled: false,\n panSize: 10,\n },\n },\n },\n { toolName: utilityModule.exports.toolNames.ReferenceLines }\n );\n toolGroupService.createToolGroupAndAddTools('mpr', tools);\n}\n\nfunction initVolume3DToolGroup(extensionManager, toolGroupService) {\n const utilityModule = extensionManager.getModuleEntry(\n '@ohif/extension-cornerstone.utilityModule.tools'\n );\n\n const { toolNames, Enums } = utilityModule.exports;\n\n const tools = {\n active: [\n {\n toolName: toolNames.TrackballRotateTool,\n bindings: [{ mouseButton: Enums.MouseBindings.Primary }],\n },\n {\n toolName: toolNames.Zoom,\n bindings: [{ mouseButton: Enums.MouseBindings.Secondary }],\n },\n {\n toolName: toolNames.Pan,\n bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }],\n },\n ],\n };\n\n toolGroupService.createToolGroupAndAddTools('volume3d', tools);\n}\n\nfunction initToolGroups(extensionManager, toolGroupService, commandsManager) {\n initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');\n initMPRToolGroup(extensionManager, toolGroupService, commandsManager);\n initVolume3DToolGroup(extensionManager, toolGroupService);\n}\n\nexport default initToolGroups;\n","import { hotkeys } from '@ohif/core';\nimport { id } from './id';\nimport toolbarButtons from './toolbarButtons';\nimport segmentationButtons from './segmentationButtons';\nimport initToolGroups from './initToolGroups';\n\nconst DEFAULT_TOOL_GROUP_ID = 'default';\nconst VOLUME3D_TOOL_GROUP_ID = 'volume3d';\n\nconst ohif = {\n layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',\n sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',\n hangingProtocol: '@ohif/extension-default.hangingProtocolModule.default',\n leftPanel: '@ohif/extension-default.panelModule.seriesList',\n rightPanel: '@ohif/extension-default.panelModule.measure',\n};\n\nconst cornerstone = {\n viewport: '@ohif/extension-cornerstone.viewportModule.cornerstone',\n};\n\nconst segmentation = {\n panel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation',\n panelTool: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentationWithTools',\n sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',\n viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg',\n};\n\n/**\n * Just two dependencies to be able to render a viewport with panels in order\n * to make sure that the mode is working.\n */\nconst extensionDependencies = {\n '@ohif/extension-default': '^3.0.0',\n '@ohif/extension-cornerstone': '^3.0.0',\n '@ohif/extension-cornerstone-dicom-seg': '^3.0.0',\n};\n\nfunction modeFactory({ modeConfiguration }) {\n return {\n /**\n * Mode ID, which should be unique among modes used by the viewer. This ID\n * is used to identify the mode in the viewer's state.\n */\n id,\n routeName: 'segmentation',\n /**\n * Mode name, which is displayed in the viewer's UI in the workList, for the\n * user to select the mode.\n */\n displayName: 'Segmentation',\n /**\n * Runs when the Mode Route is mounted to the DOM. Usually used to initialize\n * Services and other resources.\n */\n onModeEnter: ({ servicesManager, extensionManager, commandsManager }: withAppTypes) => {\n const { measurementService, toolbarService, toolGroupService } = servicesManager.services;\n\n measurementService.clearMeasurements();\n\n // Init Default and SR ToolGroups\n initToolGroups(extensionManager, toolGroupService, commandsManager);\n\n toolbarService.addButtons(toolbarButtons);\n toolbarService.addButtons(segmentationButtons);\n\n toolbarService.createButtonSection('primary', [\n 'WindowLevel',\n 'Pan',\n 'Zoom',\n 'TrackballRotate',\n 'Capture',\n 'Layout',\n 'Crosshairs',\n 'MoreTools',\n ]);\n toolbarService.createButtonSection('segmentationToolbox', ['BrushTools', 'Shapes']);\n },\n onModeExit: ({ servicesManager }: withAppTypes) => {\n const {\n toolGroupService,\n syncGroupService,\n toolbarService,\n segmentationService,\n cornerstoneViewportService,\n uiDialogService,\n uiModalService,\n } = servicesManager.services;\n\n uiDialogService.dismissAll();\n uiModalService.hide();\n toolGroupService.destroy();\n syncGroupService.destroy();\n segmentationService.destroy();\n cornerstoneViewportService.destroy();\n },\n /** */\n validationTags: {\n study: [],\n series: [],\n },\n /**\n * A boolean return value that indicates whether the mode is valid for the\n * modalities of the selected studies. Currently we don't have stack viewport\n * segmentations and we should exclude them\n */\n isValidMode: ({ modalities }) => {\n // Don't show the mode if the selected studies have only one modality\n // that is not supported by the mode\n const modalitiesArray = modalities.split('\\\\');\n return {\n valid:\n modalitiesArray.length === 1\n ? !['SM', 'US', 'MG', 'OT', 'DOC', 'CR'].includes(modalitiesArray[0])\n : true,\n description:\n 'The mode does not support studies that ONLY include the following modalities: SM, US, MG, OT, DOC, CR',\n };\n },\n /**\n * Mode Routes are used to define the mode's behavior. A list of Mode Route\n * that includes the mode's path and the layout to be used. The layout will\n * include the components that are used in the layout. For instance, if the\n * default layoutTemplate is used (id: '@ohif/extension-default.layoutTemplateModule.viewerLayout')\n * it will include the leftPanels, rightPanels, and viewports. However, if\n * you define another layoutTemplate that includes a Footer for instance,\n * you should provide the Footer component here too. Note: We use Strings\n * to reference the component's ID as they are registered in the internal\n * ExtensionManager. The template for the string is:\n * `${extensionId}.{moduleType}.${componentId}`.\n */\n routes: [\n {\n path: 'template',\n layoutTemplate: ({ location, servicesManager }) => {\n return {\n id: ohif.layout,\n props: {\n leftPanels: [ohif.leftPanel],\n rightPanels: [segmentation.panelTool],\n viewports: [\n {\n namespace: cornerstone.viewport,\n displaySetsToDisplay: [ohif.sopClassHandler],\n },\n {\n namespace: segmentation.viewport,\n displaySetsToDisplay: [segmentation.sopClassHandler],\n },\n ],\n },\n };\n },\n },\n ],\n /** List of extensions that are used by the mode */\n extensions: extensionDependencies,\n /** HangingProtocol used by the mode */\n // hangingProtocol: [''],\n /** SopClassHandlers used by the mode */\n sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler],\n /** hotkeys for mode */\n hotkeys: [...hotkeys.defaults.hotkeyBindings],\n };\n}\n\nconst mode = {\n id,\n modeFactory,\n extensionDependencies,\n};\n\nexport default mode;\n"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__498__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","id","packageJson","createButton","ToolbarService","ReferenceLinesListeners","commandName","context","setToolActiveToolbar","commandOptions","toolGroupIds","uiType","props","icon","label","commands","evaluate","type","name","disabledText","rows","columns","groupId","primary","tooltip","secondary","items","listeners","ViewportGridService","EVENTS","ACTIVE_VIEWPORT_ID_CHANGED","VIEWPORTS_READY","toolNames","options","min","max","step","values","commandsManager","run","toolName","thresholdRangeOption","find","option","condition","createTools","utilityModule","Enums","active","WindowLevel","bindings","mouseButton","MouseBindings","Primary","Pan","Auxiliary","Zoom","Secondary","StackScrollMouseWheel","passive","parentTool","configuration","activeStrategy","strategySpecificConfiguration","THRESHOLD","isDynamic","dynamicRadius","CircleScissors","RectangleScissors","SphereScissors","StackScroll","Magnify","SegmentationDisplay","UltrasoundDirectional","disabled","ReferenceLines","AdvancedMagnify","ohif","segmentation","extensionDependencies","modeFactory","modeConfiguration","routeName","displayName","onModeEnter","servicesManager","extensionManager","measurementService","toolbarService","toolGroupService","services","clearMeasurements","toolGroupId","tools","getModuleEntry","createToolGroupAndAddTools","initDefaultToolGroup","push","Crosshairs","viewportIndicators","disableOnPassive","autoPan","enabled","panSize","initMPRToolGroup","TrackballRotateTool","initVolume3DToolGroup","initToolGroups","addButtons","toolbarButtons","segmentationButtons","createButtonSection","onModeExit","syncGroupService","segmentationService","cornerstoneViewportService","uiDialogService","uiModalService","dismissAll","hide","destroy","validationTags","study","series","isValidMode","modalities","modalitiesArray","split","valid","length","includes","description","routes","path","layoutTemplate","location","leftPanels","rightPanels","viewports","namespace","displaySetsToDisplay","extensions","sopClassHandlers","hotkeys","defaults","hotkeyBindings"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohif/mode-segmentation",
|
|
3
|
-
"version": "3.9.0-beta.
|
|
3
|
+
"version": "3.9.0-beta.4",
|
|
4
4
|
"description": "OHIF segmentation mode which enables labelmap segmentation read/edit/export",
|
|
5
5
|
"author": "@ohif",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@ohif/core": "3.9.0-beta.
|
|
39
|
-
"@ohif/extension-cornerstone": "3.9.0-beta.
|
|
40
|
-
"@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.
|
|
41
|
-
"@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.
|
|
42
|
-
"@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.
|
|
43
|
-
"@ohif/extension-default": "3.9.0-beta.
|
|
44
|
-
"@ohif/extension-dicom-pdf": "3.9.0-beta.
|
|
45
|
-
"@ohif/extension-dicom-video": "3.9.0-beta.
|
|
38
|
+
"@ohif/core": "3.9.0-beta.4",
|
|
39
|
+
"@ohif/extension-cornerstone": "3.9.0-beta.4",
|
|
40
|
+
"@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.4",
|
|
41
|
+
"@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.4",
|
|
42
|
+
"@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.4",
|
|
43
|
+
"@ohif/extension-default": "3.9.0-beta.4",
|
|
44
|
+
"@ohif/extension-dicom-pdf": "3.9.0-beta.4",
|
|
45
|
+
"@ohif/extension-dicom-video": "3.9.0-beta.4"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@babel/runtime": "^7.20.13",
|