@cornerstonejs/tools 0.1.2 → 0.1.3
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.
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +2 -2
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js +4 -4
- package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js +2 -2
- package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
- package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
- package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js +4 -4
- package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
- package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js +2 -2
- package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
- package/dist/cjs/eventListeners/keyboard/keyDownListener.js +11 -11
- package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js +3 -3
- package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js +13 -13
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +3 -3
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +10 -10
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js +2 -2
- package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/wheel/wheelListener.js +3 -3
- package/dist/cjs/eventListeners/wheel/wheelListener.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js +6 -6
- package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +9 -9
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +42 -42
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.d.ts +3 -3
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +6 -6
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js +6 -6
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js +9 -9
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +2 -2
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +4 -4
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -6
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js +7 -7
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js +6 -6
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js +3 -3
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +4 -4
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +9 -9
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +8 -8
- package/dist/cjs/stateManagement/segmentation/segmentationState.js +27 -27
- package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +5 -5
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +10 -10
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +10 -10
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +19 -19
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.d.ts +1 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.js +7 -7
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +5 -5
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +21 -21
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/cjs/store/ToolGroupManager/createToolGroup.js +4 -4
- package/dist/cjs/store/ToolGroupManager/createToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroy.js +2 -2
- package/dist/cjs/store/ToolGroupManager/destroy.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +2 -0
- package/dist/cjs/store/ToolGroupManager/{destroyToolGroupByToolGroupUID.js → destroyToolGroupByToolGroupId.js} +5 -5
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroup.js +7 -7
- package/dist/cjs/store/ToolGroupManager/getToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +3 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js +8 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/index.d.ts +5 -5
- package/dist/cjs/store/ToolGroupManager/index.js +7 -7
- package/dist/cjs/store/ToolGroupManager/index.js.map +1 -1
- package/dist/cjs/store/addEnabledElement.js +4 -4
- package/dist/cjs/store/addEnabledElement.js.map +1 -1
- package/dist/cjs/store/removeEnabledElement.js +8 -8
- package/dist/cjs/store/removeEnabledElement.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.d.ts +1 -1
- package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js +5 -5
- package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +5 -5
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/cjs/tools/CrosshairsTool.d.ts +10 -10
- package/dist/cjs/tools/CrosshairsTool.js +106 -106
- package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
- package/dist/cjs/tools/MIPJumpToClickTool.js +6 -6
- package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollTool.js +4 -4
- package/dist/cjs/tools/StackScrollTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +2 -2
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/cjs/tools/WindowLevelTool.d.ts +4 -4
- package/dist/cjs/tools/WindowLevelTool.js +17 -17
- package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/BidirectionalTool.js +34 -34
- package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/cjs/tools/annotation/EllipticalRoiTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/EllipticalRoiTool.js +38 -38
- package/dist/cjs/tools/annotation/EllipticalRoiTool.js.map +1 -1
- package/dist/cjs/tools/annotation/LengthTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/LengthTool.js +32 -32
- package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.d.ts +5 -5
- package/dist/cjs/tools/annotation/ProbeTool.js +36 -36
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/RectangleRoiTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/RectangleRoiTool.js +36 -36
- package/dist/cjs/tools/annotation/RectangleRoiTool.js.map +1 -1
- package/dist/cjs/tools/base/BaseTool.d.ts +5 -5
- package/dist/cjs/tools/base/BaseTool.js +16 -16
- package/dist/cjs/tools/base/BaseTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +2 -2
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js +28 -28
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +14 -14
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js +16 -16
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +3 -3
- package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js +13 -13
- package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.d.ts +3 -3
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js +11 -11
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +14 -14
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +2 -2
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js +17 -17
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/cjs/types/AnnotationTypes.d.ts +1 -1
- package/dist/cjs/types/EventTypes.d.ts +16 -16
- package/dist/cjs/types/IToolGroup.d.ts +5 -5
- package/dist/cjs/types/SegmentationStateTypes.d.ts +4 -4
- package/dist/cjs/utilities/getAnnotationNearPoint.js +2 -2
- package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -1
- package/dist/cjs/utilities/getToolsWithModesForElement.js +2 -2
- package/dist/cjs/utilities/getToolsWithModesForElement.js.map +1 -1
- package/dist/cjs/utilities/index.d.ts +3 -3
- package/dist/cjs/utilities/index.js +4 -4
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +1 -1
- package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js +2 -2
- package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
- package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
- package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js +2 -2
- package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +5 -5
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js +5 -5
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -1
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.d.ts +1 -1
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +4 -4
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
- package/dist/cjs/utilities/triggerAnnotationRender.d.ts +2 -2
- package/dist/cjs/utilities/triggerAnnotationRender.js +8 -8
- package/dist/cjs/utilities/triggerAnnotationRender.js.map +1 -1
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportIds.d.ts +3 -0
- package/dist/cjs/utilities/{triggerAnnotationRenderForViewportUIDs.js → triggerAnnotationRenderForViewportIds.js} +8 -8
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -0
- package/dist/cjs/utilities/triggerSegmentationRender.d.ts +3 -3
- package/dist/cjs/utilities/triggerSegmentationRender.js +22 -22
- package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
- package/dist/cjs/utilities/viewportFilters/{getViewportUIDsWithToolToRender.js → getViewportIdsWithToolToRender.js} +6 -6
- package/dist/cjs/utilities/viewportFilters/getViewportIdsWithToolToRender.js.map +1 -0
- package/dist/cjs/utilities/viewportFilters/index.d.ts +3 -3
- package/dist/cjs/utilities/viewportFilters/index.js +4 -4
- package/dist/cjs/utilities/viewportFilters/index.js.map +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +2 -2
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +5 -5
- package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +2 -2
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
- package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +4 -4
- package/dist/esm/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +3 -3
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
- package/dist/esm/eventListeners/keyboard/keyDownListener.js +12 -12
- package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js +4 -4
- package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +14 -14
- package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js +4 -4
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +10 -10
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js +2 -2
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/wheel/wheelListener.js +4 -4
- package/dist/esm/eventListeners/wheel/wheelListener.js.map +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.js +6 -6
- package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +9 -9
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +42 -42
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +6 -6
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js +7 -7
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js +11 -11
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +2 -2
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +5 -5
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -6
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +7 -7
- package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +6 -6
- package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationColor.js +3 -3
- package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +4 -4
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js +9 -9
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +8 -8
- package/dist/esm/stateManagement/segmentation/segmentationState.js +27 -27
- package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +5 -5
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +10 -10
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +10 -10
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +19 -19
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizers.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizers.js +7 -7
- package/dist/esm/store/SynchronizerManager/getSynchronizers.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +5 -5
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +22 -22
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +4 -4
- package/dist/esm/store/ToolGroupManager/createToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroy.js +2 -2
- package/dist/esm/store/ToolGroupManager/destroy.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/{destroyToolGroupByToolGroupUID.js → destroyToolGroupByToolGroupId.js} +5 -5
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.js +7 -7
- package/dist/esm/store/ToolGroupManager/getToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js +6 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/index.d.ts +5 -5
- package/dist/esm/store/ToolGroupManager/index.js +5 -5
- package/dist/esm/store/ToolGroupManager/index.js.map +1 -1
- package/dist/esm/store/addEnabledElement.js +4 -4
- package/dist/esm/store/addEnabledElement.js.map +1 -1
- package/dist/esm/store/removeEnabledElement.js +8 -8
- package/dist/esm/store/removeEnabledElement.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js +5 -5
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +5 -5
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/esm/tools/CrosshairsTool.d.ts +10 -10
- package/dist/esm/tools/CrosshairsTool.js +108 -108
- package/dist/esm/tools/CrosshairsTool.js.map +1 -1
- package/dist/esm/tools/MIPJumpToClickTool.js +6 -6
- package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/esm/tools/StackScrollTool.js +5 -5
- package/dist/esm/tools/StackScrollTool.js.map +1 -1
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js +2 -2
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/esm/tools/WindowLevelTool.d.ts +4 -4
- package/dist/esm/tools/WindowLevelTool.js +17 -17
- package/dist/esm/tools/WindowLevelTool.js.map +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.d.ts +3 -3
- package/dist/esm/tools/annotation/BidirectionalTool.js +35 -35
- package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/esm/tools/annotation/EllipticalRoiTool.d.ts +3 -3
- package/dist/esm/tools/annotation/EllipticalRoiTool.js +39 -39
- package/dist/esm/tools/annotation/EllipticalRoiTool.js.map +1 -1
- package/dist/esm/tools/annotation/LengthTool.d.ts +3 -3
- package/dist/esm/tools/annotation/LengthTool.js +33 -33
- package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
- package/dist/esm/tools/annotation/ProbeTool.d.ts +5 -5
- package/dist/esm/tools/annotation/ProbeTool.js +37 -37
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/RectangleRoiTool.d.ts +3 -3
- package/dist/esm/tools/annotation/RectangleRoiTool.js +37 -37
- package/dist/esm/tools/annotation/RectangleRoiTool.js.map +1 -1
- package/dist/esm/tools/base/BaseTool.d.ts +5 -5
- package/dist/esm/tools/base/BaseTool.js +16 -16
- package/dist/esm/tools/base/BaseTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +2 -2
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js +30 -30
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +16 -16
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +17 -17
- package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +3 -3
- package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js +14 -14
- package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.d.ts +3 -3
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js +12 -12
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +15 -15
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +18 -18
- package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/esm/types/AnnotationTypes.d.ts +1 -1
- package/dist/esm/types/EventTypes.d.ts +16 -16
- package/dist/esm/types/IToolGroup.d.ts +5 -5
- package/dist/esm/types/SegmentationStateTypes.d.ts +4 -4
- package/dist/esm/utilities/getAnnotationNearPoint.js +2 -2
- package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -1
- package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
- package/dist/esm/utilities/getToolsWithModesForElement.js.map +1 -1
- package/dist/esm/utilities/index.d.ts +3 -3
- package/dist/esm/utilities/index.js +3 -3
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +1 -1
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js +2 -2
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +3 -3
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +5 -5
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js +5 -5
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -1
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.d.ts +1 -1
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +4 -4
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
- package/dist/esm/utilities/triggerAnnotationRender.d.ts +2 -2
- package/dist/esm/utilities/triggerAnnotationRender.js +8 -8
- package/dist/esm/utilities/triggerAnnotationRender.js.map +1 -1
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.d.ts +3 -0
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js +12 -0
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -0
- package/dist/esm/utilities/triggerSegmentationRender.d.ts +3 -3
- package/dist/esm/utilities/triggerSegmentationRender.js +23 -23
- package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
- package/dist/esm/utilities/viewportFilters/{getViewportUIDsWithToolToRender.js → getViewportIdsWithToolToRender.js} +5 -5
- package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.js.map +1 -0
- package/dist/esm/utilities/viewportFilters/index.d.ts +3 -3
- package/dist/esm/utilities/viewportFilters/index.js +3 -3
- package/dist/esm/utilities/viewportFilters/index.js.map +1 -1
- package/dist/tools.d.ts +194 -194
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +0 -2
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +0 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +0 -3
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js +0 -8
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +0 -1
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +0 -3
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.js.map +0 -1
- package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +0 -1
- package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +0 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +0 -2
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +0 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +0 -3
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js +0 -6
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +0 -1
- package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +0 -3
- package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js +0 -12
- package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js.map +0 -1
- package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +0 -1
- package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +0 -1
|
@@ -7,12 +7,12 @@ import { isAnnotationLocked } from '../../stateManagement/annotation/annotationL
|
|
|
7
7
|
import { drawHandles as drawHandlesSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, drawRect as drawRectSvg, } from '../../drawingSvg';
|
|
8
8
|
import { state } from '../../store';
|
|
9
9
|
import { Events } from '../../enums';
|
|
10
|
-
import {
|
|
10
|
+
import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
|
|
11
11
|
import rectangle from '../../utilities/math/rectangle';
|
|
12
12
|
import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
|
|
13
13
|
import getWorldWidthAndHeightFromCorners from '../../utilities/planar/getWorldWidthAndHeightFromCorners';
|
|
14
14
|
import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCursor';
|
|
15
|
-
import
|
|
15
|
+
import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
|
|
16
16
|
export default class RectangleRoiTool extends AnnotationTool {
|
|
17
17
|
constructor(toolProps = {}, defaultToolProps = {
|
|
18
18
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
@@ -37,8 +37,8 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
37
37
|
viewport.getCurrentImageId && viewport.getCurrentImageId();
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
const
|
|
41
|
-
const imageVolume = cache.getVolume(
|
|
40
|
+
const volumeId = this.getTargetId(viewport);
|
|
41
|
+
const imageVolume = cache.getVolume(volumeId);
|
|
42
42
|
referencedImageId = csUtils.getClosestImageId(imageVolume, worldPos, viewPlaneNormal, viewUp);
|
|
43
43
|
}
|
|
44
44
|
if (referencedImageId) {
|
|
@@ -81,10 +81,10 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
81
81
|
};
|
|
82
82
|
Settings.getObjectSettings(annotation, RectangleRoiTool);
|
|
83
83
|
addAnnotation(element, annotation);
|
|
84
|
-
const
|
|
84
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, RectangleRoiTool.toolName);
|
|
85
85
|
this.editData = {
|
|
86
86
|
annotation,
|
|
87
|
-
|
|
87
|
+
viewportIdsToRender,
|
|
88
88
|
handleIndex: 3,
|
|
89
89
|
movingTextBox: false,
|
|
90
90
|
newAnnotation: true,
|
|
@@ -93,7 +93,7 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
93
93
|
this._activateDraw(element);
|
|
94
94
|
hideElementCursor(element);
|
|
95
95
|
evt.preventDefault();
|
|
96
|
-
|
|
96
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
97
97
|
return annotation;
|
|
98
98
|
};
|
|
99
99
|
this.isPointNearTool = (element, annotation, canvasCoords, proximity) => {
|
|
@@ -119,17 +119,17 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
119
119
|
const eventDetail = evt.detail;
|
|
120
120
|
const { element } = eventDetail;
|
|
121
121
|
annotation.highlighted = true;
|
|
122
|
-
const
|
|
122
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, RectangleRoiTool.toolName);
|
|
123
123
|
this.editData = {
|
|
124
124
|
annotation,
|
|
125
|
-
|
|
125
|
+
viewportIdsToRender,
|
|
126
126
|
movingTextBox: false,
|
|
127
127
|
};
|
|
128
128
|
this._activateModify(element);
|
|
129
129
|
hideElementCursor(element);
|
|
130
130
|
const enabledElement = getEnabledElement(element);
|
|
131
131
|
const { renderingEngine } = enabledElement;
|
|
132
|
-
|
|
132
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
133
133
|
evt.preventDefault();
|
|
134
134
|
};
|
|
135
135
|
this.handleSelectedCallback = (evt, annotation, handle, interactionType = 'mouse') => {
|
|
@@ -145,10 +145,10 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
145
145
|
else {
|
|
146
146
|
handleIndex = data.handles.points.findIndex((p) => p === handle);
|
|
147
147
|
}
|
|
148
|
-
const
|
|
148
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, RectangleRoiTool.toolName);
|
|
149
149
|
this.editData = {
|
|
150
150
|
annotation,
|
|
151
|
-
|
|
151
|
+
viewportIdsToRender,
|
|
152
152
|
handleIndex,
|
|
153
153
|
movingTextBox,
|
|
154
154
|
};
|
|
@@ -156,13 +156,13 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
156
156
|
hideElementCursor(element);
|
|
157
157
|
const enabledElement = getEnabledElement(element);
|
|
158
158
|
const { renderingEngine } = enabledElement;
|
|
159
|
-
|
|
159
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
160
160
|
evt.preventDefault();
|
|
161
161
|
};
|
|
162
162
|
this._mouseUpCallback = (evt) => {
|
|
163
163
|
const eventDetail = evt.detail;
|
|
164
164
|
const { element } = eventDetail;
|
|
165
|
-
const { annotation,
|
|
165
|
+
const { annotation, viewportIdsToRender, newAnnotation, hasMoved } = this.editData;
|
|
166
166
|
const { data } = annotation;
|
|
167
167
|
if (newAnnotation && !hasMoved) {
|
|
168
168
|
return;
|
|
@@ -180,13 +180,13 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
180
180
|
this.configuration.preventHandleOutsideImage) {
|
|
181
181
|
removeAnnotation(element, annotation.annotationUID);
|
|
182
182
|
}
|
|
183
|
-
|
|
183
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
184
184
|
};
|
|
185
185
|
this._mouseDragCallback = (evt) => {
|
|
186
186
|
this.isDrawing = true;
|
|
187
187
|
const eventDetail = evt.detail;
|
|
188
188
|
const { element } = eventDetail;
|
|
189
|
-
const { annotation,
|
|
189
|
+
const { annotation, viewportIdsToRender, handleIndex, movingTextBox } = this.editData;
|
|
190
190
|
const { data } = annotation;
|
|
191
191
|
if (movingTextBox) {
|
|
192
192
|
const { deltaPoints } = eventDetail;
|
|
@@ -259,7 +259,7 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
259
259
|
this.editData.hasMoved = true;
|
|
260
260
|
const enabledElement = getEnabledElement(element);
|
|
261
261
|
const { renderingEngine } = enabledElement;
|
|
262
|
-
|
|
262
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
263
263
|
};
|
|
264
264
|
this.cancel = (element) => {
|
|
265
265
|
if (this.isDrawing) {
|
|
@@ -267,13 +267,13 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
267
267
|
this._deactivateDraw(element);
|
|
268
268
|
this._deactivateModify(element);
|
|
269
269
|
resetElementCursor(element);
|
|
270
|
-
const { annotation,
|
|
270
|
+
const { annotation, viewportIdsToRender } = this.editData;
|
|
271
271
|
const { data } = annotation;
|
|
272
272
|
annotation.highlighted = false;
|
|
273
273
|
data.handles.activeHandleIndex = null;
|
|
274
274
|
const enabledElement = getEnabledElement(element);
|
|
275
275
|
const { renderingEngine } = enabledElement;
|
|
276
|
-
|
|
276
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
277
277
|
this.editData = null;
|
|
278
278
|
return annotation.annotationUID;
|
|
279
279
|
}
|
|
@@ -315,7 +315,7 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
315
315
|
if (!annotations?.length) {
|
|
316
316
|
return;
|
|
317
317
|
}
|
|
318
|
-
const
|
|
318
|
+
const targetId = this.getTargetId(viewport);
|
|
319
319
|
const renderingEngine = viewport.getRenderingEngine();
|
|
320
320
|
for (let i = 0; i < annotations.length; i++) {
|
|
321
321
|
const annotation = annotations[i];
|
|
@@ -328,8 +328,8 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
328
328
|
const lineDash = this.getStyle(settings, 'lineDash', annotation);
|
|
329
329
|
const color = this.getStyle(settings, 'color', annotation);
|
|
330
330
|
const { viewPlaneNormal, viewUp } = viewport.getCamera();
|
|
331
|
-
if (!data.cachedStats[
|
|
332
|
-
data.cachedStats[
|
|
331
|
+
if (!data.cachedStats[targetId]) {
|
|
332
|
+
data.cachedStats[targetId] = {
|
|
333
333
|
Modality: null,
|
|
334
334
|
area: null,
|
|
335
335
|
max: null,
|
|
@@ -344,11 +344,11 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
344
344
|
const { referencedImageId } = annotation.metadata;
|
|
345
345
|
const viewports = renderingEngine.getViewports();
|
|
346
346
|
viewports.forEach((vp) => {
|
|
347
|
-
const
|
|
347
|
+
const stackTargetId = this.getTargetId(vp);
|
|
348
348
|
if (vp instanceof StackViewport &&
|
|
349
349
|
!vp.getCurrentImageId().includes(referencedImageId) &&
|
|
350
|
-
data.cachedStats[
|
|
351
|
-
delete data.cachedStats[
|
|
350
|
+
data.cachedStats[stackTargetId]) {
|
|
351
|
+
delete data.cachedStats[stackTargetId];
|
|
352
352
|
}
|
|
353
353
|
});
|
|
354
354
|
}
|
|
@@ -375,7 +375,7 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
375
375
|
lineDash,
|
|
376
376
|
lineWidth,
|
|
377
377
|
});
|
|
378
|
-
const textLines = this._getTextLines(data,
|
|
378
|
+
const textLines = this._getTextLines(data, targetId);
|
|
379
379
|
if (!textLines || textLines.length === 0) {
|
|
380
380
|
continue;
|
|
381
381
|
}
|
|
@@ -405,8 +405,8 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
405
405
|
height: Math.abs(point0[1] - point1[1]),
|
|
406
406
|
};
|
|
407
407
|
};
|
|
408
|
-
this._getTextLines = (data,
|
|
409
|
-
const cachedVolumeStats = data.cachedStats[
|
|
408
|
+
this._getTextLines = (data, targetId) => {
|
|
409
|
+
const cachedVolumeStats = data.cachedStats[targetId];
|
|
410
410
|
const { area, mean, max, stdDev, Modality } = cachedVolumeStats;
|
|
411
411
|
if (mean === undefined) {
|
|
412
412
|
return;
|
|
@@ -439,14 +439,14 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
439
439
|
};
|
|
440
440
|
this._calculateCachedStats = (annotation, viewPlaneNormal, viewUp, renderingEngine, enabledElement) => {
|
|
441
441
|
const { data } = annotation;
|
|
442
|
-
const {
|
|
442
|
+
const { viewportId, renderingEngineId } = enabledElement;
|
|
443
443
|
const worldPos1 = data.handles.points[0];
|
|
444
444
|
const worldPos2 = data.handles.points[3];
|
|
445
445
|
const { cachedStats } = data;
|
|
446
|
-
const
|
|
447
|
-
for (let i = 0; i <
|
|
448
|
-
const
|
|
449
|
-
const { image } = this.
|
|
446
|
+
const targetIds = Object.keys(cachedStats);
|
|
447
|
+
for (let i = 0; i < targetIds.length; i++) {
|
|
448
|
+
const targetId = targetIds[i];
|
|
449
|
+
const { image } = this.getTargetIdViewportAndImage(targetId, renderingEngine);
|
|
450
450
|
const { dimensions, scalarData, imageData, metadata } = image;
|
|
451
451
|
const worldPos1Index = transformPhysicalToIndex(imageData, worldPos1);
|
|
452
452
|
worldPos1Index[0] = Math.floor(worldPos1Index[0]);
|
|
@@ -496,7 +496,7 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
496
496
|
}
|
|
497
497
|
stdDev /= count;
|
|
498
498
|
stdDev = Math.sqrt(stdDev);
|
|
499
|
-
cachedStats[
|
|
499
|
+
cachedStats[targetId] = {
|
|
500
500
|
Modality: metadata.Modality,
|
|
501
501
|
area,
|
|
502
502
|
mean,
|
|
@@ -506,7 +506,7 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
506
506
|
}
|
|
507
507
|
else {
|
|
508
508
|
this.isHandleOutsideImage = true;
|
|
509
|
-
cachedStats[
|
|
509
|
+
cachedStats[targetId] = {
|
|
510
510
|
Modality: metadata.Modality,
|
|
511
511
|
};
|
|
512
512
|
}
|
|
@@ -515,8 +515,8 @@ export default class RectangleRoiTool extends AnnotationTool {
|
|
|
515
515
|
const eventType = Events.ANNOTATION_MODIFIED;
|
|
516
516
|
const eventDetail = {
|
|
517
517
|
annotation,
|
|
518
|
-
|
|
519
|
-
|
|
518
|
+
viewportId,
|
|
519
|
+
renderingEngineId,
|
|
520
520
|
};
|
|
521
521
|
triggerEvent(eventTarget, eventType, eventDetail);
|
|
522
522
|
return cachedStats;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RectangleRoiTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/RectangleRoiTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RectangleRoiTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/RectangleRoiTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { Types } from '@cornerstonejs/core';
|
|
|
2
2
|
import { ToolModes } from '../../enums';
|
|
3
3
|
import { InteractionTypes, ToolProps, PublicToolProps } from '../../types';
|
|
4
4
|
interface IBaseTool {
|
|
5
|
-
|
|
5
|
+
toolGroupId: string;
|
|
6
6
|
supportedInteractionTypes: InteractionTypes[];
|
|
7
7
|
mode: ToolModes;
|
|
8
8
|
configuration: {
|
|
@@ -17,18 +17,18 @@ declare abstract class BaseTool implements IBaseTool {
|
|
|
17
17
|
static toolName: string;
|
|
18
18
|
supportedInteractionTypes: InteractionTypes[];
|
|
19
19
|
configuration: Record<string, any>;
|
|
20
|
-
|
|
20
|
+
toolGroupId: string;
|
|
21
21
|
mode: ToolModes;
|
|
22
22
|
constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
|
|
23
23
|
getToolName(): string;
|
|
24
24
|
applyActiveStrategy(enabledElement: Types.IEnabledElement, operationData: unknown): any;
|
|
25
25
|
setConfiguration(newConfiguration: Record<string, any>): void;
|
|
26
26
|
setActiveStrategy(strategyName: string): void;
|
|
27
|
-
private
|
|
28
|
-
protected
|
|
27
|
+
private getTargetVolumeId;
|
|
28
|
+
protected getTargetIdViewportAndImage(targetId: string, renderingEngine: Types.IRenderingEngine): {
|
|
29
29
|
viewport: Types.IViewport;
|
|
30
30
|
image: Types.IImageData;
|
|
31
31
|
};
|
|
32
|
-
protected
|
|
32
|
+
protected getTargetId(viewport: Types.IViewport): string | undefined;
|
|
33
33
|
}
|
|
34
34
|
export default BaseTool;
|
|
@@ -4,14 +4,14 @@ import { ToolModes } from '../../enums';
|
|
|
4
4
|
class BaseTool {
|
|
5
5
|
constructor(toolProps, defaultToolProps) {
|
|
6
6
|
const initialProps = deepMerge(defaultToolProps, toolProps);
|
|
7
|
-
const { configuration = {}, supportedInteractionTypes,
|
|
7
|
+
const { configuration = {}, supportedInteractionTypes, toolGroupId, } = initialProps;
|
|
8
8
|
if (!configuration.strategies) {
|
|
9
9
|
configuration.strategies = {};
|
|
10
10
|
configuration.defaultStrategy = undefined;
|
|
11
11
|
configuration.activeStrategy = undefined;
|
|
12
12
|
configuration.strategyOptions = {};
|
|
13
13
|
}
|
|
14
|
-
this.
|
|
14
|
+
this.toolGroupId = toolGroupId;
|
|
15
15
|
this.supportedInteractionTypes = supportedInteractionTypes || [];
|
|
16
16
|
this.configuration = Object.assign({}, configuration);
|
|
17
17
|
this.mode = ToolModes.Disabled;
|
|
@@ -29,12 +29,12 @@ class BaseTool {
|
|
|
29
29
|
setActiveStrategy(strategyName) {
|
|
30
30
|
this.setConfiguration({ activeStrategy: strategyName });
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
getTargetVolumeId(viewport) {
|
|
33
33
|
if (!(viewport instanceof VolumeViewport)) {
|
|
34
|
-
throw new Error('
|
|
34
|
+
throw new Error('getTargetVolumeId: viewport must be a VolumeViewport');
|
|
35
35
|
}
|
|
36
|
-
if (this.configuration.
|
|
37
|
-
return this.configuration.
|
|
36
|
+
if (this.configuration.volumeId) {
|
|
37
|
+
return this.configuration.volumeId;
|
|
38
38
|
}
|
|
39
39
|
const actors = viewport.getActors();
|
|
40
40
|
if (!actors && !actors.length) {
|
|
@@ -42,28 +42,28 @@ class BaseTool {
|
|
|
42
42
|
}
|
|
43
43
|
return actors[0].uid;
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
getTargetIdViewportAndImage(targetId, renderingEngine) {
|
|
46
46
|
let image, viewport;
|
|
47
|
-
if (
|
|
48
|
-
const coloneIndex =
|
|
49
|
-
const
|
|
50
|
-
viewport = renderingEngine.getViewport(
|
|
47
|
+
if (targetId.startsWith('stackTarget')) {
|
|
48
|
+
const coloneIndex = targetId.indexOf(':');
|
|
49
|
+
const viewportId = targetId.substring(coloneIndex + 1);
|
|
50
|
+
viewport = renderingEngine.getViewport(viewportId);
|
|
51
51
|
image = viewport.getImageData();
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
image = cache.getVolume(
|
|
54
|
+
image = cache.getVolume(targetId);
|
|
55
55
|
}
|
|
56
56
|
return { image, viewport };
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
getTargetId(viewport) {
|
|
59
59
|
if (viewport instanceof StackViewport) {
|
|
60
|
-
return `stackTarget:${viewport.
|
|
60
|
+
return `stackTarget:${viewport.id}`;
|
|
61
61
|
}
|
|
62
62
|
else if (viewport instanceof VolumeViewport) {
|
|
63
|
-
return this.
|
|
63
|
+
return this.getTargetVolumeId(viewport);
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
throw new Error('
|
|
66
|
+
throw new Error('getTargetId: viewport must be a StackViewport or VolumeViewport');
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/BaseTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAyBvC,MAAe,QAAQ;IAUrB,YAAY,SAA0B,EAAE,gBAA2B;QACjE,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;QAE3D,MAAM,EACJ,aAAa,GAAG,EAAE,EAClB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/BaseTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Types } from '@cornerstonejs/core';
|
|
2
2
|
import { SegmentationConfig, ToolGroupSpecificSegmentationData } from '../../../types/SegmentationStateTypes';
|
|
3
|
-
declare function addSegmentationData(
|
|
4
|
-
declare function removeSegmentationData(
|
|
3
|
+
declare function addSegmentationData(toolGroupId: string, segmentationData: Partial<ToolGroupSpecificSegmentationData>, toolGroupSpecificConfig?: SegmentationConfig): Promise<void>;
|
|
4
|
+
declare function removeSegmentationData(toolGroupId: string, segmentationDataUID: string): void;
|
|
5
5
|
declare function render(viewport: Types.IViewport, segmentationData: ToolGroupSpecificSegmentationData, config: SegmentationConfig): void;
|
|
6
6
|
declare const _default: {
|
|
7
7
|
render: typeof render;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import vtkColorTransferFunction from 'vtk.js/Sources/Rendering/Core/ColorTransferFunction';
|
|
2
2
|
import vtkPiecewiseFunction from 'vtk.js/Sources/Common/DataModel/PiecewiseFunction';
|
|
3
|
-
import { cache,
|
|
3
|
+
import { cache, getEnabledElementByIds } from '@cornerstonejs/core';
|
|
4
4
|
import * as SegmentationState from '../../../stateManagement/segmentation/segmentationState';
|
|
5
5
|
import Representations from '../../../enums/SegmentationRepresentations';
|
|
6
|
-
import {
|
|
6
|
+
import { getToolGroupByToolGroupId } from '../../../store/ToolGroupManager';
|
|
7
7
|
import { internalAddSegmentationToElement, internalRemoveSegmentationFromElement, } from '../../../stateManagement/segmentation/helpers';
|
|
8
8
|
import { deepMerge } from '../../../utilities';
|
|
9
9
|
const MAX_NUMBER_COLORS = 255;
|
|
10
10
|
const labelMapConfigCache = new Map();
|
|
11
|
-
async function addSegmentationData(
|
|
12
|
-
const {
|
|
13
|
-
await _addLabelmapToToolGroupViewports(
|
|
11
|
+
async function addSegmentationData(toolGroupId, segmentationData, toolGroupSpecificConfig) {
|
|
12
|
+
const { volumeId, segmentationDataUID, representation } = segmentationData;
|
|
13
|
+
await _addLabelmapToToolGroupViewports(toolGroupId, segmentationData);
|
|
14
14
|
const segmentsHidden = segmentationData.segmentsHidden !== undefined
|
|
15
15
|
? segmentationData.segmentsHidden
|
|
16
16
|
: new Set();
|
|
@@ -24,7 +24,7 @@ async function addSegmentationData(toolGroupUID, segmentationData, toolGroupSpec
|
|
|
24
24
|
const cfun = representation.config.cfun || vtkColorTransferFunction.newInstance();
|
|
25
25
|
const ofun = representation.config.ofun || vtkPiecewiseFunction.newInstance();
|
|
26
26
|
const mergedSegmentationData = {
|
|
27
|
-
|
|
27
|
+
volumeId,
|
|
28
28
|
segmentationDataUID,
|
|
29
29
|
segmentsHidden,
|
|
30
30
|
visibility,
|
|
@@ -40,27 +40,27 @@ async function addSegmentationData(toolGroupUID, segmentationData, toolGroupSpec
|
|
|
40
40
|
};
|
|
41
41
|
if (toolGroupSpecificConfig) {
|
|
42
42
|
const suppressEvents = true;
|
|
43
|
-
const currentToolGroupConfig = SegmentationState.getSegmentationConfig(
|
|
43
|
+
const currentToolGroupConfig = SegmentationState.getSegmentationConfig(toolGroupId);
|
|
44
44
|
const mergedConfig = deepMerge(currentToolGroupConfig, toolGroupSpecificConfig);
|
|
45
|
-
SegmentationState.setSegmentationConfig(
|
|
45
|
+
SegmentationState.setSegmentationConfig(toolGroupId, {
|
|
46
46
|
renderInactiveSegmentations: mergedConfig.renderInactiveSegmentations || true,
|
|
47
47
|
representations: {
|
|
48
48
|
...mergedConfig.representations,
|
|
49
49
|
},
|
|
50
50
|
}, suppressEvents);
|
|
51
51
|
}
|
|
52
|
-
SegmentationState.addSegmentationData(
|
|
52
|
+
SegmentationState.addSegmentationData(toolGroupId, mergedSegmentationData);
|
|
53
53
|
}
|
|
54
|
-
function removeSegmentationData(
|
|
55
|
-
_removeLabelmapFromToolGroupViewports(
|
|
56
|
-
SegmentationState.removeSegmentationData(
|
|
54
|
+
function removeSegmentationData(toolGroupId, segmentationDataUID) {
|
|
55
|
+
_removeLabelmapFromToolGroupViewports(toolGroupId, segmentationDataUID);
|
|
56
|
+
SegmentationState.removeSegmentationData(toolGroupId, segmentationDataUID);
|
|
57
57
|
}
|
|
58
58
|
function render(viewport, segmentationData, config) {
|
|
59
|
-
const {
|
|
59
|
+
const { volumeId: labelmapUID, colorLUTIndex, active, representation, segmentationDataUID, visibility, } = segmentationData;
|
|
60
60
|
const labelmapRepresentation = representation;
|
|
61
61
|
const labelmap = cache.getVolume(labelmapUID);
|
|
62
62
|
if (!labelmap) {
|
|
63
|
-
throw new Error(`No Labelmap found for
|
|
63
|
+
throw new Error(`No Labelmap found for volumeId: ${labelmapUID}`);
|
|
64
64
|
}
|
|
65
65
|
const actor = viewport.getActor(segmentationDataUID);
|
|
66
66
|
if (!actor) {
|
|
@@ -70,9 +70,9 @@ function render(viewport, segmentationData, config) {
|
|
|
70
70
|
const { cfun, ofun } = labelmapRepresentation.config;
|
|
71
71
|
const labelmapConfig = config.representations[Representations.Labelmap];
|
|
72
72
|
const renderInactiveSegmentations = config.renderInactiveSegmentations;
|
|
73
|
-
_setLabelmapColorAndOpacity(viewport.
|
|
73
|
+
_setLabelmapColorAndOpacity(viewport.id, actor, cfun, ofun, colorLUTIndex, labelmapConfig, active, renderInactiveSegmentations, visibility);
|
|
74
74
|
}
|
|
75
|
-
function _setLabelmapColorAndOpacity(
|
|
75
|
+
function _setLabelmapColorAndOpacity(viewportId, actor, cfun, ofun, colorLUTIndex, labelmapConfig, isActiveLabelmap, renderInactiveSegmentations, visibility = true) {
|
|
76
76
|
ofun.addPoint(0, 0);
|
|
77
77
|
const fillAlpha = isActiveLabelmap
|
|
78
78
|
? labelmapConfig.fillAlpha
|
|
@@ -83,7 +83,7 @@ function _setLabelmapColorAndOpacity(viewportUID, actor, cfun, ofun, colorLUTInd
|
|
|
83
83
|
const colorLUT = SegmentationState.getColorLut(colorLUTIndex);
|
|
84
84
|
const numColors = Math.min(256, colorLUT.length);
|
|
85
85
|
const { volumeActor, uid } = actor;
|
|
86
|
-
const needUpdate = _needsTransferFunctionUpdateUpdate(
|
|
86
|
+
const needUpdate = _needsTransferFunctionUpdateUpdate(viewportId, actor.uid, fillAlpha, colorLUTIndex);
|
|
87
87
|
if (needUpdate) {
|
|
88
88
|
for (let i = 0; i < numColors; i++) {
|
|
89
89
|
const color = colorLUT[i];
|
|
@@ -101,8 +101,8 @@ function _setLabelmapColorAndOpacity(viewportUID, actor, cfun, ofun, colorLUTInd
|
|
|
101
101
|
const visible = visibility && (isActiveLabelmap || renderInactiveSegmentations);
|
|
102
102
|
volumeActor.setVisibility(visible);
|
|
103
103
|
}
|
|
104
|
-
function _needsTransferFunctionUpdateUpdate(
|
|
105
|
-
const cacheUID = `${
|
|
104
|
+
function _needsTransferFunctionUpdateUpdate(viewportId, actorUID, fillAlpha, colorLUTIndex) {
|
|
105
|
+
const cacheUID = `${viewportId}-${actorUID}`;
|
|
106
106
|
const config = labelMapConfigCache.get(cacheUID);
|
|
107
107
|
if (config &&
|
|
108
108
|
config.fillAlpha === fillAlpha &&
|
|
@@ -115,27 +115,27 @@ function _needsTransferFunctionUpdateUpdate(viewportUID, actorUID, fillAlpha, co
|
|
|
115
115
|
});
|
|
116
116
|
return true;
|
|
117
117
|
}
|
|
118
|
-
function _removeLabelmapFromToolGroupViewports(
|
|
119
|
-
const toolGroup =
|
|
118
|
+
function _removeLabelmapFromToolGroupViewports(toolGroupId, segmentationDataUID) {
|
|
119
|
+
const toolGroup = getToolGroupByToolGroupId(toolGroupId);
|
|
120
120
|
if (toolGroup === undefined) {
|
|
121
|
-
throw new Error(`ToolGroup with
|
|
121
|
+
throw new Error(`ToolGroup with ToolGroupId ${toolGroupId} does not exist`);
|
|
122
122
|
}
|
|
123
123
|
const { viewportsInfo } = toolGroup;
|
|
124
|
-
const segmentationData = SegmentationState.getSegmentationDataByUID(
|
|
124
|
+
const segmentationData = SegmentationState.getSegmentationDataByUID(toolGroupId, segmentationDataUID);
|
|
125
125
|
for (const viewportInfo of viewportsInfo) {
|
|
126
|
-
const {
|
|
127
|
-
const enabledElement =
|
|
126
|
+
const { viewportId, renderingEngineId } = viewportInfo;
|
|
127
|
+
const enabledElement = getEnabledElementByIds(viewportId, renderingEngineId);
|
|
128
128
|
internalRemoveSegmentationFromElement(enabledElement.viewport.element, segmentationData);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
async function _addLabelmapToToolGroupViewports(
|
|
132
|
-
const toolGroup =
|
|
131
|
+
async function _addLabelmapToToolGroupViewports(toolGroupId, segmentationData) {
|
|
132
|
+
const toolGroup = getToolGroupByToolGroupId(toolGroupId);
|
|
133
133
|
const { viewportsInfo } = toolGroup;
|
|
134
134
|
for (const viewportInfo of viewportsInfo) {
|
|
135
|
-
const {
|
|
136
|
-
const enabledElement =
|
|
135
|
+
const { viewportId, renderingEngineId } = viewportInfo;
|
|
136
|
+
const enabledElement = getEnabledElementByIds(viewportId, renderingEngineId);
|
|
137
137
|
if (!enabledElement) {
|
|
138
|
-
throw new Error(`No enabled element found for rendering engine: ${
|
|
138
|
+
throw new Error(`No enabled element found for rendering engine: ${renderingEngineId} and viewport: ${viewportId}`);
|
|
139
139
|
}
|
|
140
140
|
const { viewport } = enabledElement;
|
|
141
141
|
internalAddSegmentationToElement(viewport.element, segmentationData);
|