@cornerstonejs/tools 0.1.1 → 0.1.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.
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +2 -2
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/cjs/drawingSvg/index.d.ts +0 -11
- package/dist/cjs/drawingSvg/index.js +0 -10
- package/dist/cjs/drawingSvg/index.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/init.js +20 -4
- package/dist/cjs/init.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 -8
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +6 -10
- 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 -9
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js +7 -13
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +2 -10
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js +6 -13
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +1 -6
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js +3 -4
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +4 -17
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +9 -21
- 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 -7
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +5 -6
- 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 +3 -12
- package/dist/cjs/store/ToolGroupManager/index.js +5 -13
- 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 +132 -113
- 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 +59 -40
- 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 +53 -34
- 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 +57 -38
- 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/drawing/index.d.ts +0 -4
- package/dist/cjs/utilities/drawing/index.js +0 -1
- package/dist/cjs/utilities/drawing/index.js.map +1 -1
- package/dist/cjs/utilities/getAnnotationNearPoint.js +21 -5
- 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 +2 -23
- package/dist/cjs/utilities/index.js +3 -23
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/math/ellipse/index.d.ts +0 -5
- package/dist/cjs/utilities/math/ellipse/index.js +0 -1
- package/dist/cjs/utilities/math/ellipse/index.js.map +1 -1
- package/dist/cjs/utilities/math/index.d.ts +4 -23
- package/dist/cjs/utilities/math/index.js +26 -11
- package/dist/cjs/utilities/math/index.js.map +1 -1
- package/dist/cjs/utilities/math/line/distanceToPoint.d.ts +1 -1
- package/dist/cjs/utilities/math/line/index.d.ts +1 -6
- package/dist/cjs/utilities/math/line/index.js +4 -6
- package/dist/cjs/utilities/math/line/index.js.map +1 -1
- package/dist/cjs/utilities/math/line/intersectLine.d.ts +1 -1
- package/dist/cjs/utilities/math/rectangle/distanceToPoint.js +20 -4
- package/dist/cjs/utilities/math/rectangle/distanceToPoint.js.map +1 -1
- package/dist/cjs/utilities/math/rectangle/index.d.ts +1 -4
- package/dist/cjs/utilities/math/rectangle/index.js +2 -4
- package/dist/cjs/utilities/math/rectangle/index.js.map +1 -1
- package/dist/cjs/utilities/math/vec2/index.d.ts +1 -5
- package/dist/cjs/utilities/math/vec2/index.js +3 -1
- package/dist/cjs/utilities/math/vec2/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/index.d.ts +0 -10
- package/dist/cjs/utilities/segmentation/index.js +0 -9
- package/dist/cjs/utilities/segmentation/index.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 +2 -8
- package/dist/cjs/utilities/viewportFilters/index.js +3 -8
- 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/drawingSvg/index.d.ts +0 -11
- package/dist/esm/drawingSvg/index.js +0 -10
- package/dist/esm/drawingSvg/index.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/init.js +1 -1
- package/dist/esm/init.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 -8
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +6 -10
- 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 -9
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +7 -13
- package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -10
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +6 -13
- package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +1 -6
- package/dist/esm/stateManagement/segmentation/segmentationColor.js +3 -4
- package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +4 -17
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js +9 -21
- 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 -7
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +5 -6
- 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 +3 -12
- package/dist/esm/store/ToolGroupManager/index.js +3 -11
- 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 +109 -109
- 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 +36 -36
- 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 +34 -34
- 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 +38 -38
- 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/drawing/index.d.ts +0 -4
- package/dist/esm/utilities/drawing/index.js +0 -1
- package/dist/esm/utilities/drawing/index.js.map +1 -1
- package/dist/esm/utilities/getAnnotationNearPoint.js +3 -3
- 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 +2 -23
- package/dist/esm/utilities/index.js +2 -22
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/math/ellipse/index.d.ts +0 -5
- package/dist/esm/utilities/math/ellipse/index.js +0 -1
- package/dist/esm/utilities/math/ellipse/index.js.map +1 -1
- package/dist/esm/utilities/math/index.d.ts +4 -23
- package/dist/esm/utilities/math/index.js +4 -5
- package/dist/esm/utilities/math/index.js.map +1 -1
- package/dist/esm/utilities/math/line/distanceToPoint.d.ts +1 -1
- package/dist/esm/utilities/math/line/index.d.ts +1 -6
- package/dist/esm/utilities/math/line/index.js +1 -6
- package/dist/esm/utilities/math/line/index.js.map +1 -1
- package/dist/esm/utilities/math/line/intersectLine.d.ts +1 -1
- package/dist/esm/utilities/math/rectangle/distanceToPoint.js +1 -1
- package/dist/esm/utilities/math/rectangle/distanceToPoint.js.map +1 -1
- package/dist/esm/utilities/math/rectangle/index.d.ts +1 -4
- package/dist/esm/utilities/math/rectangle/index.js +1 -4
- package/dist/esm/utilities/math/rectangle/index.js.map +1 -1
- package/dist/esm/utilities/math/vec2/index.d.ts +1 -5
- package/dist/esm/utilities/math/vec2/index.js +1 -1
- package/dist/esm/utilities/math/vec2/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/index.d.ts +0 -10
- package/dist/esm/utilities/segmentation/index.js +0 -9
- package/dist/esm/utilities/segmentation/index.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 +2 -8
- package/dist/esm/utilities/viewportFilters/index.js +2 -7
- package/dist/esm/utilities/viewportFilters/index.js.map +1 -1
- package/dist/tools.d.ts +247 -357
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.LICENSE.txt +6 -0
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -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 { drawEllipse as drawEllipseSvg, drawHandles as drawHandlesSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, } 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 { getTextBoxCoordsCanvas } from '../../utilities/drawing';
|
|
12
12
|
import getWorldWidthAndHeightFromTwoPoints from '../../utilities/planar/getWorldWidthAndHeightFromTwoPoints';
|
|
13
13
|
import { pointInEllipse, getCanvasEllipseCorners, } from '../../utilities/math/ellipse';
|
|
14
14
|
import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCursor';
|
|
15
|
-
import
|
|
15
|
+
import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
|
|
16
16
|
import { pointInShapeCallback } from '../../utilities/';
|
|
17
17
|
export default class EllipticalRoiTool extends AnnotationTool {
|
|
18
18
|
constructor(toolProps = {}, defaultToolProps = {
|
|
@@ -40,8 +40,8 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
40
40
|
viewport.getCurrentImageId && viewport.getCurrentImageId();
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
const
|
|
44
|
-
const imageVolume = cache.getVolume(
|
|
43
|
+
const volumeId = this.getTargetId(viewport);
|
|
44
|
+
const imageVolume = cache.getVolume(volumeId);
|
|
45
45
|
referencedImageId = csUtils.getClosestImageId(imageVolume, worldPos, viewPlaneNormal, viewUp);
|
|
46
46
|
}
|
|
47
47
|
if (referencedImageId) {
|
|
@@ -85,10 +85,10 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
85
85
|
};
|
|
86
86
|
Settings.getObjectSettings(annotation, EllipticalRoiTool);
|
|
87
87
|
addAnnotation(element, annotation);
|
|
88
|
-
const
|
|
88
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, EllipticalRoiTool.toolName);
|
|
89
89
|
this.editData = {
|
|
90
90
|
annotation,
|
|
91
|
-
|
|
91
|
+
viewportIdsToRender,
|
|
92
92
|
centerCanvas: canvasPos,
|
|
93
93
|
newAnnotation: true,
|
|
94
94
|
hasMoved: false,
|
|
@@ -96,7 +96,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
96
96
|
this._activateDraw(element);
|
|
97
97
|
hideElementCursor(element);
|
|
98
98
|
evt.preventDefault();
|
|
99
|
-
|
|
99
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
100
100
|
return annotation;
|
|
101
101
|
};
|
|
102
102
|
this.isPointNearTool = (element, annotation, canvasCoords, proximity) => {
|
|
@@ -130,17 +130,17 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
130
130
|
const eventDetail = evt.detail;
|
|
131
131
|
const { element } = eventDetail;
|
|
132
132
|
annotation.highlighted = true;
|
|
133
|
-
const
|
|
133
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, EllipticalRoiTool.toolName);
|
|
134
134
|
this.editData = {
|
|
135
135
|
annotation,
|
|
136
|
-
|
|
136
|
+
viewportIdsToRender,
|
|
137
137
|
movingTextBox: false,
|
|
138
138
|
};
|
|
139
139
|
hideElementCursor(element);
|
|
140
140
|
this._activateModify(element);
|
|
141
141
|
const enabledElement = getEnabledElement(element);
|
|
142
142
|
const { renderingEngine } = enabledElement;
|
|
143
|
-
|
|
143
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
144
144
|
evt.preventDefault();
|
|
145
145
|
};
|
|
146
146
|
this.handleSelectedCallback = (evt, annotation, handle, interactionType = 'mouse') => {
|
|
@@ -171,10 +171,10 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
171
171
|
(pointsCanvas[0][1] + pointsCanvas[1][1]) / 2,
|
|
172
172
|
];
|
|
173
173
|
}
|
|
174
|
-
const
|
|
174
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, EllipticalRoiTool.toolName);
|
|
175
175
|
this.editData = {
|
|
176
176
|
annotation,
|
|
177
|
-
|
|
177
|
+
viewportIdsToRender,
|
|
178
178
|
handleIndex,
|
|
179
179
|
canvasWidth,
|
|
180
180
|
canvasHeight,
|
|
@@ -186,13 +186,13 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
186
186
|
hideElementCursor(element);
|
|
187
187
|
const enabledElement = getEnabledElement(element);
|
|
188
188
|
const { renderingEngine } = enabledElement;
|
|
189
|
-
|
|
189
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
190
190
|
evt.preventDefault();
|
|
191
191
|
};
|
|
192
192
|
this._mouseUpCallback = (evt) => {
|
|
193
193
|
const eventDetail = evt.detail;
|
|
194
194
|
const { element } = eventDetail;
|
|
195
|
-
const { annotation,
|
|
195
|
+
const { annotation, viewportIdsToRender, newAnnotation, hasMoved } = this.editData;
|
|
196
196
|
const { data } = annotation;
|
|
197
197
|
if (newAnnotation && !hasMoved) {
|
|
198
198
|
return;
|
|
@@ -210,7 +210,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
210
210
|
this.configuration.preventHandleOutsideImage) {
|
|
211
211
|
removeAnnotation(element, annotation.annotationUID);
|
|
212
212
|
}
|
|
213
|
-
|
|
213
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
214
214
|
};
|
|
215
215
|
this._mouseDragDrawCallback = (evt) => {
|
|
216
216
|
this.isDrawing = true;
|
|
@@ -221,7 +221,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
221
221
|
const enabledElement = getEnabledElement(element);
|
|
222
222
|
const { renderingEngine, viewport } = enabledElement;
|
|
223
223
|
const { canvasToWorld } = viewport;
|
|
224
|
-
const { annotation,
|
|
224
|
+
const { annotation, viewportIdsToRender, centerCanvas } = this.editData;
|
|
225
225
|
const { data } = annotation;
|
|
226
226
|
const dX = Math.abs(currentCanvasPoints[0] - centerCanvas[0]);
|
|
227
227
|
const dY = Math.abs(currentCanvasPoints[1] - centerCanvas[1]);
|
|
@@ -237,13 +237,13 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
237
237
|
];
|
|
238
238
|
annotation.invalidated = true;
|
|
239
239
|
this.editData.hasMoved = true;
|
|
240
|
-
|
|
240
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
241
241
|
};
|
|
242
242
|
this._mouseDragModifyCallback = (evt) => {
|
|
243
243
|
this.isDrawing = true;
|
|
244
244
|
const eventDetail = evt.detail;
|
|
245
245
|
const { element } = eventDetail;
|
|
246
|
-
const { annotation,
|
|
246
|
+
const { annotation, viewportIdsToRender, handleIndex, movingTextBox } = this.editData;
|
|
247
247
|
const { data } = annotation;
|
|
248
248
|
if (movingTextBox) {
|
|
249
249
|
const { deltaPoints } = eventDetail;
|
|
@@ -272,7 +272,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
272
272
|
}
|
|
273
273
|
const enabledElement = getEnabledElement(element);
|
|
274
274
|
const { renderingEngine } = enabledElement;
|
|
275
|
-
|
|
275
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
276
276
|
};
|
|
277
277
|
this._dragHandle = (evt) => {
|
|
278
278
|
const eventDetail = evt.detail;
|
|
@@ -341,13 +341,13 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
341
341
|
this._deactivateDraw(element);
|
|
342
342
|
this._deactivateModify(element);
|
|
343
343
|
resetElementCursor(element);
|
|
344
|
-
const { annotation,
|
|
344
|
+
const { annotation, viewportIdsToRender } = this.editData;
|
|
345
345
|
const { data } = annotation;
|
|
346
346
|
annotation.highlighted = false;
|
|
347
347
|
data.handles.activeHandleIndex = null;
|
|
348
348
|
const enabledElement = getEnabledElement(element);
|
|
349
349
|
const { renderingEngine } = enabledElement;
|
|
350
|
-
|
|
350
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
351
351
|
this.editData = null;
|
|
352
352
|
return annotation.annotationUID;
|
|
353
353
|
}
|
|
@@ -389,7 +389,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
389
389
|
if (!annotations?.length) {
|
|
390
390
|
return;
|
|
391
391
|
}
|
|
392
|
-
const
|
|
392
|
+
const targetId = this.getTargetId(viewport);
|
|
393
393
|
const renderingEngine = viewport.getRenderingEngine();
|
|
394
394
|
for (let i = 0; i < annotations.length; i++) {
|
|
395
395
|
const annotation = annotations[i];
|
|
@@ -403,8 +403,8 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
403
403
|
const color = this.getStyle(settings, 'color', annotation);
|
|
404
404
|
const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
|
|
405
405
|
const canvasCorners = (getCanvasEllipseCorners(canvasCoordinates));
|
|
406
|
-
if (!data.cachedStats[
|
|
407
|
-
data.cachedStats[
|
|
406
|
+
if (!data.cachedStats[targetId]) {
|
|
407
|
+
data.cachedStats[targetId] = {
|
|
408
408
|
Modality: null,
|
|
409
409
|
area: null,
|
|
410
410
|
max: null,
|
|
@@ -419,11 +419,11 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
419
419
|
const { referencedImageId } = annotation.metadata;
|
|
420
420
|
const viewports = renderingEngine.getViewports();
|
|
421
421
|
viewports.forEach((vp) => {
|
|
422
|
-
const
|
|
422
|
+
const stackTargetId = this.getTargetId(vp);
|
|
423
423
|
if (vp instanceof StackViewport &&
|
|
424
424
|
!vp.getCurrentImageId().includes(referencedImageId) &&
|
|
425
|
-
data.cachedStats[
|
|
426
|
-
delete data.cachedStats[
|
|
425
|
+
data.cachedStats[stackTargetId]) {
|
|
426
|
+
delete data.cachedStats[stackTargetId];
|
|
427
427
|
}
|
|
428
428
|
});
|
|
429
429
|
}
|
|
@@ -450,7 +450,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
450
450
|
lineDash,
|
|
451
451
|
lineWidth,
|
|
452
452
|
});
|
|
453
|
-
const textLines = this._getTextLines(data,
|
|
453
|
+
const textLines = this._getTextLines(data, targetId);
|
|
454
454
|
if (!textLines || textLines.length === 0) {
|
|
455
455
|
continue;
|
|
456
456
|
}
|
|
@@ -472,8 +472,8 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
472
472
|
};
|
|
473
473
|
}
|
|
474
474
|
};
|
|
475
|
-
this._getTextLines = (data,
|
|
476
|
-
const cachedVolumeStats = data.cachedStats[
|
|
475
|
+
this._getTextLines = (data, targetId) => {
|
|
476
|
+
const cachedVolumeStats = data.cachedStats[targetId];
|
|
477
477
|
const { area, mean, stdDev, max, isEmptyArea, Modality } = cachedVolumeStats;
|
|
478
478
|
if (mean === undefined) {
|
|
479
479
|
return;
|
|
@@ -508,7 +508,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
508
508
|
};
|
|
509
509
|
this._calculateCachedStats = (annotation, viewport, renderingEngine, enabledElement) => {
|
|
510
510
|
const data = annotation.data;
|
|
511
|
-
const {
|
|
511
|
+
const { viewportId, renderingEngineId } = enabledElement;
|
|
512
512
|
const { points } = data.handles;
|
|
513
513
|
const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
|
|
514
514
|
const { viewPlaneNormal, viewUp } = viewport.getCamera();
|
|
@@ -516,12 +516,12 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
516
516
|
const topLeftWorld = viewport.canvasToWorld(topLeftCanvas);
|
|
517
517
|
const bottomRightWorld = viewport.canvasToWorld(bottomRightCanvas);
|
|
518
518
|
const { cachedStats } = data;
|
|
519
|
-
const
|
|
519
|
+
const targetIds = Object.keys(cachedStats);
|
|
520
520
|
const worldPos1 = topLeftWorld;
|
|
521
521
|
const worldPos2 = bottomRightWorld;
|
|
522
|
-
for (let i = 0; i <
|
|
523
|
-
const
|
|
524
|
-
const { image } = this.
|
|
522
|
+
for (let i = 0; i < targetIds.length; i++) {
|
|
523
|
+
const targetId = targetIds[i];
|
|
524
|
+
const { image } = this.getTargetIdViewportAndImage(targetId, renderingEngine);
|
|
525
525
|
const { dimensions, imageData, metadata } = image;
|
|
526
526
|
const worldPos1Index = transformPhysicalToIndex(imageData, worldPos1);
|
|
527
527
|
worldPos1Index[0] = Math.floor(worldPos1Index[0]);
|
|
@@ -577,7 +577,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
577
577
|
pointInShapeCallback(imageData, (pointLPS, pointIJK) => pointInEllipse(ellipseObj, pointLPS), stdCalculator, boundsIJK);
|
|
578
578
|
stdDev /= count;
|
|
579
579
|
stdDev = Math.sqrt(stdDev);
|
|
580
|
-
cachedStats[
|
|
580
|
+
cachedStats[targetId] = {
|
|
581
581
|
Modality: metadata.Modality,
|
|
582
582
|
area,
|
|
583
583
|
mean,
|
|
@@ -588,7 +588,7 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
588
588
|
}
|
|
589
589
|
else {
|
|
590
590
|
this.isHandleOutsideImage = true;
|
|
591
|
-
cachedStats[
|
|
591
|
+
cachedStats[targetId] = {
|
|
592
592
|
Modality: metadata.Modality,
|
|
593
593
|
};
|
|
594
594
|
}
|
|
@@ -597,8 +597,8 @@ export default class EllipticalRoiTool extends AnnotationTool {
|
|
|
597
597
|
const eventType = Events.ANNOTATION_MODIFIED;
|
|
598
598
|
const eventDetail = {
|
|
599
599
|
annotation,
|
|
600
|
-
|
|
601
|
-
|
|
600
|
+
viewportId,
|
|
601
|
+
renderingEngineId,
|
|
602
602
|
};
|
|
603
603
|
triggerEvent(eventTarget, eventType, eventDetail);
|
|
604
604
|
return cachedStats;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EllipticalRoiTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/EllipticalRoiTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EllipticalRoiTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/EllipticalRoiTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ interface LengthAnnotation extends Annotation {
|
|
|
19
19
|
};
|
|
20
20
|
label: string;
|
|
21
21
|
cachedStats: {
|
|
22
|
-
[
|
|
22
|
+
[targetId: string]: {
|
|
23
23
|
length: number;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
@@ -32,7 +32,7 @@ declare class LengthTool extends AnnotationTool {
|
|
|
32
32
|
_throttledCalculateCachedStats: any;
|
|
33
33
|
editData: {
|
|
34
34
|
annotation: any;
|
|
35
|
-
|
|
35
|
+
viewportIdsToRender: string[];
|
|
36
36
|
handleIndex?: number;
|
|
37
37
|
movingTextBox?: boolean;
|
|
38
38
|
newAnnotation?: boolean;
|
|
@@ -53,7 +53,7 @@ declare class LengthTool extends AnnotationTool {
|
|
|
53
53
|
_activateDraw: (element: HTMLElement) => void;
|
|
54
54
|
_deactivateDraw: (element: HTMLElement) => void;
|
|
55
55
|
renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: any) => void;
|
|
56
|
-
_getTextLines(data: any,
|
|
56
|
+
_getTextLines(data: any, targetId: any): string[];
|
|
57
57
|
_calculateLength(pos1: any, pos2: any): number;
|
|
58
58
|
_calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
|
|
59
59
|
_isInsideVolume(index1: any, index2: any, dimensions: any): boolean;
|
|
@@ -5,12 +5,12 @@ import throttle from '../../utilities/throttle';
|
|
|
5
5
|
import transformPhysicalToIndex from '../../utilities/transformPhysicalToIndex';
|
|
6
6
|
import { addAnnotation, getAnnotations, removeAnnotation, } from '../../stateManagement/annotation/annotationState';
|
|
7
7
|
import { isAnnotationLocked } from '../../stateManagement/annotation/annotationLocking';
|
|
8
|
-
import
|
|
8
|
+
import * as lineSegment from '../../utilities/math/line';
|
|
9
9
|
import { drawHandles as drawHandlesSvg, drawLine as drawLineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, } from '../../drawingSvg';
|
|
10
10
|
import { state } from '../../store';
|
|
11
|
-
import {
|
|
11
|
+
import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
|
|
12
12
|
import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
|
|
13
|
-
import
|
|
13
|
+
import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
|
|
14
14
|
import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCursor';
|
|
15
15
|
class LengthTool extends AnnotationTool {
|
|
16
16
|
constructor(toolProps = {}, defaultToolProps = {
|
|
@@ -37,8 +37,8 @@ class LengthTool 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) {
|
|
@@ -76,10 +76,10 @@ class LengthTool extends AnnotationTool {
|
|
|
76
76
|
};
|
|
77
77
|
Settings.getObjectSettings(annotation, LengthTool);
|
|
78
78
|
addAnnotation(element, annotation);
|
|
79
|
-
const
|
|
79
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, LengthTool.toolName);
|
|
80
80
|
this.editData = {
|
|
81
81
|
annotation,
|
|
82
|
-
|
|
82
|
+
viewportIdsToRender,
|
|
83
83
|
handleIndex: 1,
|
|
84
84
|
movingTextBox: false,
|
|
85
85
|
newAnnotation: true,
|
|
@@ -87,7 +87,7 @@ class LengthTool extends AnnotationTool {
|
|
|
87
87
|
};
|
|
88
88
|
this._activateDraw(element);
|
|
89
89
|
evt.preventDefault();
|
|
90
|
-
|
|
90
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
91
91
|
return annotation;
|
|
92
92
|
};
|
|
93
93
|
this.isPointNearTool = (element, annotation, canvasCoords, proximity) => {
|
|
@@ -117,23 +117,23 @@ class LengthTool extends AnnotationTool {
|
|
|
117
117
|
const eventDetail = evt.detail;
|
|
118
118
|
const { element } = eventDetail;
|
|
119
119
|
annotation.highlighted = true;
|
|
120
|
-
const
|
|
120
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, LengthTool.toolName);
|
|
121
121
|
this.editData = {
|
|
122
122
|
annotation,
|
|
123
|
-
|
|
123
|
+
viewportIdsToRender,
|
|
124
124
|
movingTextBox: false,
|
|
125
125
|
};
|
|
126
126
|
this._activateModify(element);
|
|
127
127
|
hideElementCursor(element);
|
|
128
128
|
const enabledElement = getEnabledElement(element);
|
|
129
129
|
const { renderingEngine } = enabledElement;
|
|
130
|
-
|
|
130
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
131
131
|
evt.preventDefault();
|
|
132
132
|
};
|
|
133
133
|
this._mouseUpCallback = (evt) => {
|
|
134
134
|
const eventDetail = evt.detail;
|
|
135
135
|
const { element } = eventDetail;
|
|
136
|
-
const { annotation,
|
|
136
|
+
const { annotation, viewportIdsToRender, newAnnotation, hasMoved } = this.editData;
|
|
137
137
|
const { data } = annotation;
|
|
138
138
|
if (newAnnotation && !hasMoved) {
|
|
139
139
|
return;
|
|
@@ -149,7 +149,7 @@ class LengthTool extends AnnotationTool {
|
|
|
149
149
|
this.configuration.preventHandleOutsideImage) {
|
|
150
150
|
removeAnnotation(element, annotation.annotationUID);
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
153
153
|
this.editData = null;
|
|
154
154
|
this.isDrawing = false;
|
|
155
155
|
};
|
|
@@ -157,7 +157,7 @@ class LengthTool extends AnnotationTool {
|
|
|
157
157
|
this.isDrawing = true;
|
|
158
158
|
const eventDetail = evt.detail;
|
|
159
159
|
const { element } = eventDetail;
|
|
160
|
-
const { annotation,
|
|
160
|
+
const { annotation, viewportIdsToRender, handleIndex, movingTextBox } = this.editData;
|
|
161
161
|
const { data } = annotation;
|
|
162
162
|
if (movingTextBox) {
|
|
163
163
|
const { deltaPoints } = eventDetail;
|
|
@@ -189,7 +189,7 @@ class LengthTool extends AnnotationTool {
|
|
|
189
189
|
this.editData.hasMoved = true;
|
|
190
190
|
const enabledElement = getEnabledElement(element);
|
|
191
191
|
const { renderingEngine } = enabledElement;
|
|
192
|
-
|
|
192
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
193
193
|
};
|
|
194
194
|
this.cancel = (element) => {
|
|
195
195
|
if (this.isDrawing) {
|
|
@@ -197,13 +197,13 @@ class LengthTool extends AnnotationTool {
|
|
|
197
197
|
this._deactivateDraw(element);
|
|
198
198
|
this._deactivateModify(element);
|
|
199
199
|
resetElementCursor(element);
|
|
200
|
-
const { annotation,
|
|
200
|
+
const { annotation, viewportIdsToRender } = this.editData;
|
|
201
201
|
const { data } = annotation;
|
|
202
202
|
annotation.highlighted = false;
|
|
203
203
|
data.handles.activeHandleIndex = null;
|
|
204
204
|
const enabledElement = getEnabledElement(element);
|
|
205
205
|
const { renderingEngine } = enabledElement;
|
|
206
|
-
|
|
206
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
207
207
|
this.editData = null;
|
|
208
208
|
return annotation.annotationUID;
|
|
209
209
|
}
|
|
@@ -245,7 +245,7 @@ class LengthTool extends AnnotationTool {
|
|
|
245
245
|
if (!annotations?.length) {
|
|
246
246
|
return;
|
|
247
247
|
}
|
|
248
|
-
const
|
|
248
|
+
const targetId = this.getTargetId(viewport);
|
|
249
249
|
const renderingEngine = viewport.getRenderingEngine();
|
|
250
250
|
for (let i = 0; i < annotations.length; i++) {
|
|
251
251
|
const annotation = annotations[i];
|
|
@@ -276,8 +276,8 @@ class LengthTool extends AnnotationTool {
|
|
|
276
276
|
color,
|
|
277
277
|
width: lineWidth,
|
|
278
278
|
});
|
|
279
|
-
if (!data.cachedStats[
|
|
280
|
-
data.cachedStats[
|
|
279
|
+
if (!data.cachedStats[targetId]) {
|
|
280
|
+
data.cachedStats[targetId] = {
|
|
281
281
|
length: null,
|
|
282
282
|
};
|
|
283
283
|
this._calculateCachedStats(annotation, renderingEngine, enabledElement);
|
|
@@ -289,7 +289,7 @@ class LengthTool extends AnnotationTool {
|
|
|
289
289
|
console.warn('Rendering Engine has been destroyed');
|
|
290
290
|
return;
|
|
291
291
|
}
|
|
292
|
-
const textLines = this._getTextLines(data,
|
|
292
|
+
const textLines = this._getTextLines(data, targetId);
|
|
293
293
|
if (!data.handles.textBox.hasMoved) {
|
|
294
294
|
const canvasTextBoxCoords = getTextBoxCoordsCanvas(canvasCoordinates);
|
|
295
295
|
data.handles.textBox.worldPosition =
|
|
@@ -322,10 +322,10 @@ class LengthTool extends AnnotationTool {
|
|
|
322
322
|
else {
|
|
323
323
|
handleIndex = data.handles.points.findIndex((p) => p === handle);
|
|
324
324
|
}
|
|
325
|
-
const
|
|
325
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, LengthTool.toolName);
|
|
326
326
|
this.editData = {
|
|
327
327
|
annotation,
|
|
328
|
-
|
|
328
|
+
viewportIdsToRender,
|
|
329
329
|
handleIndex,
|
|
330
330
|
movingTextBox,
|
|
331
331
|
};
|
|
@@ -333,11 +333,11 @@ class LengthTool extends AnnotationTool {
|
|
|
333
333
|
hideElementCursor(element);
|
|
334
334
|
const enabledElement = getEnabledElement(element);
|
|
335
335
|
const { renderingEngine } = enabledElement;
|
|
336
|
-
|
|
336
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
337
337
|
evt.preventDefault();
|
|
338
338
|
}
|
|
339
|
-
_getTextLines(data,
|
|
340
|
-
const cachedVolumeStats = data.cachedStats[
|
|
339
|
+
_getTextLines(data, targetId) {
|
|
340
|
+
const cachedVolumeStats = data.cachedStats[targetId];
|
|
341
341
|
const { length } = cachedVolumeStats;
|
|
342
342
|
if (length === undefined) {
|
|
343
343
|
return;
|
|
@@ -353,14 +353,14 @@ class LengthTool extends AnnotationTool {
|
|
|
353
353
|
}
|
|
354
354
|
_calculateCachedStats(annotation, renderingEngine, enabledElement) {
|
|
355
355
|
const data = annotation.data;
|
|
356
|
-
const {
|
|
356
|
+
const { viewportId, renderingEngineId } = enabledElement;
|
|
357
357
|
const worldPos1 = data.handles.points[0];
|
|
358
358
|
const worldPos2 = data.handles.points[1];
|
|
359
359
|
const { cachedStats } = data;
|
|
360
|
-
const
|
|
361
|
-
for (let i = 0; i <
|
|
362
|
-
const
|
|
363
|
-
const { image } = this.
|
|
360
|
+
const targetIds = Object.keys(cachedStats);
|
|
361
|
+
for (let i = 0; i < targetIds.length; i++) {
|
|
362
|
+
const targetId = targetIds[i];
|
|
363
|
+
const { image } = this.getTargetIdViewportAndImage(targetId, renderingEngine);
|
|
364
364
|
const { imageData, dimensions } = image;
|
|
365
365
|
const length = this._calculateLength(worldPos1, worldPos2);
|
|
366
366
|
const index1 = transformPhysicalToIndex(imageData, worldPos1);
|
|
@@ -368,7 +368,7 @@ class LengthTool extends AnnotationTool {
|
|
|
368
368
|
this._isInsideVolume(index1, index2, dimensions)
|
|
369
369
|
? (this.isHandleOutsideImage = false)
|
|
370
370
|
: (this.isHandleOutsideImage = true);
|
|
371
|
-
cachedStats[
|
|
371
|
+
cachedStats[targetId] = {
|
|
372
372
|
length,
|
|
373
373
|
};
|
|
374
374
|
}
|
|
@@ -376,8 +376,8 @@ class LengthTool extends AnnotationTool {
|
|
|
376
376
|
const eventType = Events.ANNOTATION_MODIFIED;
|
|
377
377
|
const eventDetail = {
|
|
378
378
|
annotation,
|
|
379
|
-
|
|
380
|
-
|
|
379
|
+
viewportId,
|
|
380
|
+
renderingEngineId,
|
|
381
381
|
};
|
|
382
382
|
triggerEvent(eventTarget, eventType, eventDetail);
|
|
383
383
|
return cachedStats;
|