@cornerstonejs/tools 2.0.0-beta.1 → 2.0.0-beta.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/drawCircle.js +9 -5
- package/dist/cjs/drawingSvg/drawCircle.js.map +1 -1
- package/dist/cjs/drawingSvg/drawEllipse.js +4 -4
- package/dist/cjs/drawingSvg/drawEllipse.js.map +1 -1
- package/dist/cjs/drawingSvg/drawHandles.js +4 -4
- package/dist/cjs/drawingSvg/drawHandles.js.map +1 -1
- package/dist/cjs/drawingSvg/drawLine.js +4 -4
- package/dist/cjs/drawingSvg/drawLine.js.map +1 -1
- package/dist/cjs/drawingSvg/drawPolyline.js +4 -4
- package/dist/cjs/drawingSvg/drawPolyline.js.map +1 -1
- package/dist/cjs/drawingSvg/drawRect.js +4 -4
- package/dist/cjs/drawingSvg/drawRect.js.map +1 -1
- package/dist/cjs/drawingSvg/drawTextBox.js +4 -4
- package/dist/cjs/drawingSvg/drawTextBox.js.map +1 -1
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +1 -1
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/cjs/drawingSvg/index.d.ts +3 -1
- package/dist/cjs/drawingSvg/index.js +5 -1
- package/dist/cjs/drawingSvg/index.js.map +1 -1
- package/dist/cjs/drawingSvg/setAttributesIfNecessary.d.ts +2 -0
- package/dist/cjs/drawingSvg/{_setAttributesIfNecessary.js → setAttributesIfNecessary.js} +5 -5
- package/dist/cjs/drawingSvg/setAttributesIfNecessary.js.map +1 -0
- package/dist/cjs/drawingSvg/setNewAttributesIfValid.d.ts +2 -0
- package/dist/cjs/drawingSvg/{_setNewAttributesIfValid.js → setNewAttributesIfValid.js} +5 -5
- package/dist/cjs/drawingSvg/setNewAttributesIfValid.js.map +1 -0
- package/dist/cjs/enums/Events.d.ts +2 -0
- package/dist/cjs/enums/Events.js +2 -0
- package/dist/cjs/enums/Events.js.map +1 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +41 -0
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
- package/dist/cjs/eventDispatchers/shared/getMouseModifier.js +10 -5
- package/dist/cjs/eventDispatchers/shared/getMouseModifier.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +39 -0
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
- package/dist/cjs/eventListeners/keyboard/keyDownListener.js +8 -0
- package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js +7 -2
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +5 -1
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/cjs/eventListeners/touch/touchStartListener.js +10 -5
- package/dist/cjs/eventListeners/touch/touchStartListener.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.js +1 -0
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/config/getState.js +6 -3
- package/dist/cjs/stateManagement/annotation/config/getState.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/config/helpers.js +4 -2
- package/dist/cjs/stateManagement/annotation/config/helpers.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +10 -2
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +5 -3
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +44 -2
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js +2 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +25 -22
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +36 -0
- package/dist/cjs/tools/AdvancedMagnifyTool.js +448 -0
- package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -0
- package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +76 -0
- package/dist/cjs/tools/AdvancedMagnifyViewport.js +352 -0
- package/dist/cjs/tools/AdvancedMagnifyViewport.js.map +1 -0
- package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
- package/dist/cjs/tools/AdvancedMagnifyViewportManager.js +133 -0
- package/dist/cjs/tools/AdvancedMagnifyViewportManager.js.map +1 -0
- package/dist/cjs/tools/MIPJumpToClickTool.js +4 -2
- package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/cjs/tools/MagnifyTool.js +2 -2
- package/dist/cjs/tools/MagnifyTool.js.map +1 -1
- package/dist/cjs/tools/OrientationMarkerTool.d.ts +88 -0
- package/dist/cjs/tools/OrientationMarkerTool.js +193 -0
- package/dist/cjs/tools/OrientationMarkerTool.js.map +1 -0
- package/dist/cjs/tools/OverlayGridTool.d.ts +31 -0
- package/dist/cjs/tools/OverlayGridTool.js +170 -0
- package/dist/cjs/tools/OverlayGridTool.js.map +1 -0
- package/dist/cjs/tools/PlanarRotateTool.js +2 -1
- package/dist/cjs/tools/PlanarRotateTool.js.map +1 -1
- package/dist/cjs/tools/ReferenceCursors.js +58 -29
- package/dist/cjs/tools/ReferenceCursors.js.map +1 -1
- package/dist/cjs/tools/ReferenceLinesTool.d.ts +3 -0
- package/dist/cjs/tools/ReferenceLinesTool.js +71 -2
- package/dist/cjs/tools/ReferenceLinesTool.js.map +1 -1
- package/dist/cjs/tools/ScaleOverlayTool.js +2 -1
- package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
- package/dist/cjs/tools/annotation/AngleTool.d.ts +0 -1
- package/dist/cjs/tools/annotation/AngleTool.js +33 -15
- package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +15 -1
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +0 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.js +30 -15
- package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/cjs/tools/annotation/CircleROITool.d.ts +1 -3
- package/dist/cjs/tools/annotation/CircleROITool.js +63 -60
- package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +31 -6
- package/dist/cjs/tools/annotation/CobbAngleTool.js +294 -82
- package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
- package/dist/cjs/tools/annotation/DragProbeTool.js +17 -4
- package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +2 -4
- package/dist/cjs/tools/annotation/EllipticalROITool.js +67 -61
- package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/LengthTool.d.ts +0 -1
- package/dist/cjs/tools/annotation/LengthTool.js +27 -12
- package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +1 -3
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +72 -60
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.d.ts +1 -3
- package/dist/cjs/tools/annotation/ProbeTool.js +28 -22
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/RectangleROITool.d.ts +1 -2
- package/dist/cjs/tools/annotation/RectangleROITool.js +55 -57
- package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationDisplayTool.js +4 -0
- package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.d.ts +3 -2
- package/dist/cjs/tools/base/AnnotationTool.js +27 -16
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/base/index.d.ts +2 -1
- package/dist/cjs/tools/base/index.js +3 -1
- package/dist/cjs/tools/base/index.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +3 -0
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js +3 -0
- package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -1
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +5 -6
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/index.d.ts +5 -2
- package/dist/cjs/tools/index.js +8 -1
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/tools/segmentation/BrushTool.js +24 -17
- package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/PaintFillTool.js +4 -2
- package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +2 -0
- package/dist/cjs/tools/segmentation/strategies/eraseSphere.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js +5 -7
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +3 -0
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js +38 -10
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +3 -0
- package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js +10 -0
- package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -0
- package/dist/cjs/types/CINETypes.d.ts +2 -0
- package/dist/cjs/types/CalculatorTypes.d.ts +6 -0
- package/dist/cjs/types/CalculatorTypes.js +3 -0
- package/dist/cjs/types/CalculatorTypes.js.map +1 -0
- package/dist/cjs/types/EventTypes.d.ts +16 -1
- package/dist/cjs/types/ISetToolModeOptions.d.ts +2 -2
- package/dist/cjs/types/IToolGroup.d.ts +6 -2
- package/dist/cjs/types/ToolAction.d.ts +8 -0
- package/dist/cjs/types/ToolAction.js +3 -0
- package/dist/cjs/types/ToolAction.js.map +1 -0
- package/dist/cjs/types/ToolProps.d.ts +5 -1
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +55 -0
- package/dist/cjs/types/index.d.ts +4 -2
- package/dist/cjs/utilities/cine/playClip.js +13 -3
- package/dist/cjs/utilities/cine/playClip.js.map +1 -1
- package/dist/cjs/utilities/dynamicVolume/getDataInTime.js +7 -4
- package/dist/cjs/utilities/dynamicVolume/getDataInTime.js.map +1 -1
- package/dist/cjs/utilities/getCalibratedUnits.js +10 -5
- package/dist/cjs/utilities/getCalibratedUnits.js.map +1 -1
- package/dist/cjs/utilities/getModalityUnit.js +5 -2
- package/dist/cjs/utilities/getModalityUnit.js.map +1 -1
- package/dist/cjs/utilities/index.d.ts +2 -2
- package/dist/cjs/utilities/index.js +4 -3
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -1
- package/dist/cjs/utilities/math/angle/angleBetweenLines.js +18 -1
- package/dist/cjs/utilities/math/angle/angleBetweenLines.js.map +1 -1
- package/dist/cjs/utilities/math/basic/BasicStatsCalculator.d.ts +14 -0
- package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js +44 -0
- package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js.map +1 -0
- package/dist/cjs/utilities/math/basic/Calculator.d.ts +8 -0
- package/dist/cjs/utilities/math/basic/Calculator.js +6 -0
- package/dist/cjs/utilities/math/basic/Calculator.js.map +1 -0
- package/dist/cjs/utilities/math/basic/index.d.ts +3 -0
- package/dist/cjs/utilities/math/basic/index.js +11 -0
- package/dist/cjs/utilities/math/basic/index.js.map +1 -0
- package/dist/cjs/utilities/math/index.d.ts +2 -1
- package/dist/cjs/utilities/math/index.js +3 -1
- package/dist/cjs/utilities/math/index.js.map +1 -1
- package/dist/cjs/utilities/math/midPoint.js +2 -1
- package/dist/cjs/utilities/math/midPoint.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/pointInPolyline.js +2 -1
- package/dist/cjs/utilities/math/polyline/pointInPolyline.js.map +1 -1
- package/dist/cjs/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
- package/dist/cjs/utilities/math/vec2/liangBarksyClip.js +10 -5
- package/dist/cjs/utilities/math/vec2/liangBarksyClip.js.map +1 -1
- package/dist/cjs/utilities/pointInShapeCallback.d.ts +7 -1
- package/dist/cjs/utilities/pointInShapeCallback.js +6 -1
- package/dist/cjs/utilities/pointInShapeCallback.js.map +1 -1
- package/dist/cjs/utilities/roundNumber.js +4 -2
- package/dist/cjs/utilities/roundNumber.js.map +1 -1
- package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -2
- package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.js +4 -4
- package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.js.map +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +2 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/cjs/utilities/segmentation/utilities.d.ts +1 -2
- package/dist/cjs/utilities/segmentation/utilities.js +4 -1
- package/dist/cjs/utilities/segmentation/utilities.js.map +1 -1
- package/dist/cjs/utilities/stackPrefetch/index.d.ts +3 -2
- package/dist/cjs/utilities/stackPrefetch/index.js +8 -6
- package/dist/cjs/utilities/stackPrefetch/index.js.map +1 -1
- package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
- package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js +227 -0
- package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
- package/dist/cjs/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
- package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js +25 -95
- package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
- package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
- package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js +85 -0
- package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
- package/dist/esm/drawingSvg/drawCircle.js +9 -5
- package/dist/esm/drawingSvg/drawCircle.js.map +1 -1
- package/dist/esm/drawingSvg/drawEllipse.js +4 -4
- package/dist/esm/drawingSvg/drawEllipse.js.map +1 -1
- package/dist/esm/drawingSvg/drawHandles.js +4 -4
- package/dist/esm/drawingSvg/drawHandles.js.map +1 -1
- package/dist/esm/drawingSvg/drawLine.js +4 -4
- package/dist/esm/drawingSvg/drawLine.js.map +1 -1
- package/dist/esm/drawingSvg/drawPolyline.js +4 -4
- package/dist/esm/drawingSvg/drawPolyline.js.map +1 -1
- package/dist/esm/drawingSvg/drawRect.js +4 -4
- package/dist/esm/drawingSvg/drawRect.js.map +1 -1
- package/dist/esm/drawingSvg/drawTextBox.js +4 -4
- package/dist/esm/drawingSvg/drawTextBox.js.map +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/esm/drawingSvg/index.d.ts +3 -1
- package/dist/esm/drawingSvg/index.js +3 -1
- package/dist/esm/drawingSvg/index.js.map +1 -1
- package/dist/esm/drawingSvg/setAttributesIfNecessary.d.ts +2 -0
- package/dist/esm/drawingSvg/{_setAttributesIfNecessary.js → setAttributesIfNecessary.js} +3 -3
- package/dist/esm/drawingSvg/setAttributesIfNecessary.js.map +1 -0
- package/dist/esm/drawingSvg/setNewAttributesIfValid.d.ts +2 -0
- package/dist/esm/drawingSvg/{_setNewAttributesIfValid.js → setNewAttributesIfValid.js} +3 -3
- package/dist/esm/drawingSvg/setNewAttributesIfValid.js.map +1 -0
- package/dist/esm/enums/Events.d.ts +2 -0
- package/dist/esm/enums/Events.js +2 -0
- package/dist/esm/enums/Events.js.map +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +35 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
- package/dist/esm/eventDispatchers/shared/getMouseModifier.js +10 -5
- package/dist/esm/eventDispatchers/shared/getMouseModifier.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
- package/dist/esm/eventListeners/keyboard/keyDownListener.js +8 -0
- package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +7 -2
- package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js +5 -1
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/esm/eventListeners/touch/touchStartListener.js +10 -5
- package/dist/esm/eventListeners/touch/touchStartListener.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js +1 -0
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js.map +1 -1
- package/dist/esm/stateManagement/annotation/config/getState.js +6 -3
- package/dist/esm/stateManagement/annotation/config/getState.js.map +1 -1
- package/dist/esm/stateManagement/annotation/config/helpers.js +4 -2
- package/dist/esm/stateManagement/annotation/config/helpers.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +10 -2
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +5 -3
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +45 -4
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +2 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +26 -23
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/esm/tools/AdvancedMagnifyTool.d.ts +36 -0
- package/dist/esm/tools/AdvancedMagnifyTool.js +440 -0
- package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -0
- package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +76 -0
- package/dist/esm/tools/AdvancedMagnifyViewport.js +346 -0
- package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -0
- package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js +128 -0
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js.map +1 -0
- package/dist/esm/tools/MIPJumpToClickTool.js +4 -2
- package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/esm/tools/MagnifyTool.js +2 -2
- package/dist/esm/tools/MagnifyTool.js.map +1 -1
- package/dist/esm/tools/OrientationMarkerTool.d.ts +88 -0
- package/dist/esm/tools/OrientationMarkerTool.js +185 -0
- package/dist/esm/tools/OrientationMarkerTool.js.map +1 -0
- package/dist/esm/tools/OverlayGridTool.d.ts +31 -0
- package/dist/esm/tools/OverlayGridTool.js +165 -0
- package/dist/esm/tools/OverlayGridTool.js.map +1 -0
- package/dist/esm/tools/PlanarRotateTool.js +2 -1
- package/dist/esm/tools/PlanarRotateTool.js.map +1 -1
- package/dist/esm/tools/ReferenceCursors.js +58 -29
- package/dist/esm/tools/ReferenceCursors.js.map +1 -1
- package/dist/esm/tools/ReferenceLinesTool.d.ts +3 -0
- package/dist/esm/tools/ReferenceLinesTool.js +71 -2
- package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
- package/dist/esm/tools/ScaleOverlayTool.js +2 -1
- package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
- package/dist/esm/tools/annotation/AngleTool.d.ts +0 -1
- package/dist/esm/tools/annotation/AngleTool.js +33 -15
- package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js +15 -1
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.d.ts +0 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js +30 -15
- package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/esm/tools/annotation/CircleROITool.d.ts +1 -3
- package/dist/esm/tools/annotation/CircleROITool.js +62 -60
- package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
- package/dist/esm/tools/annotation/CobbAngleTool.d.ts +31 -6
- package/dist/esm/tools/annotation/CobbAngleTool.js +301 -83
- package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
- package/dist/esm/tools/annotation/DragProbeTool.js +17 -4
- package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/EllipticalROITool.d.ts +2 -4
- package/dist/esm/tools/annotation/EllipticalROITool.js +66 -61
- package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/esm/tools/annotation/LengthTool.d.ts +0 -1
- package/dist/esm/tools/annotation/LengthTool.js +27 -12
- package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +1 -3
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +71 -60
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/esm/tools/annotation/ProbeTool.d.ts +1 -3
- package/dist/esm/tools/annotation/ProbeTool.js +28 -22
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/RectangleROITool.d.ts +1 -2
- package/dist/esm/tools/annotation/RectangleROITool.js +54 -57
- package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -0
- package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.d.ts +3 -2
- package/dist/esm/tools/base/AnnotationTool.js +26 -16
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/base/index.d.ts +2 -1
- package/dist/esm/tools/base/index.js +2 -1
- package/dist/esm/tools/base/index.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +4 -1
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -1
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +5 -6
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/esm/tools/index.d.ts +5 -2
- package/dist/esm/tools/index.js +5 -2
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/tools/segmentation/BrushTool.js +25 -18
- package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
- package/dist/esm/tools/segmentation/PaintFillTool.js +4 -2
- package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +2 -0
- package/dist/esm/tools/segmentation/strategies/eraseSphere.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +1 -6
- package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +3 -0
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +33 -9
- package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +3 -0
- package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js +8 -0
- package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -0
- package/dist/esm/types/CINETypes.d.ts +2 -0
- package/dist/esm/types/CalculatorTypes.d.ts +6 -0
- package/dist/esm/types/CalculatorTypes.js +2 -0
- package/dist/esm/types/CalculatorTypes.js.map +1 -0
- package/dist/esm/types/EventTypes.d.ts +16 -1
- package/dist/esm/types/ISetToolModeOptions.d.ts +2 -2
- package/dist/esm/types/IToolGroup.d.ts +6 -2
- package/dist/esm/types/ToolAction.d.ts +8 -0
- package/dist/esm/types/ToolAction.js +2 -0
- package/dist/esm/types/ToolAction.js.map +1 -0
- package/dist/esm/types/ToolProps.d.ts +5 -1
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +55 -0
- package/dist/esm/types/index.d.ts +4 -2
- package/dist/esm/utilities/cine/playClip.js +13 -4
- package/dist/esm/utilities/cine/playClip.js.map +1 -1
- package/dist/esm/utilities/dynamicVolume/getDataInTime.js +7 -4
- package/dist/esm/utilities/dynamicVolume/getDataInTime.js.map +1 -1
- package/dist/esm/utilities/getCalibratedUnits.js +10 -5
- package/dist/esm/utilities/getCalibratedUnits.js.map +1 -1
- package/dist/esm/utilities/getModalityUnit.js +5 -2
- package/dist/esm/utilities/getModalityUnit.js.map +1 -1
- package/dist/esm/utilities/index.d.ts +2 -2
- package/dist/esm/utilities/index.js +2 -2
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -1
- package/dist/esm/utilities/math/angle/angleBetweenLines.js +19 -2
- package/dist/esm/utilities/math/angle/angleBetweenLines.js.map +1 -1
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +14 -0
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +36 -0
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.js.map +1 -0
- package/dist/esm/utilities/math/basic/Calculator.d.ts +8 -0
- package/dist/esm/utilities/math/basic/Calculator.js +4 -0
- package/dist/esm/utilities/math/basic/Calculator.js.map +1 -0
- package/dist/esm/utilities/math/basic/index.d.ts +3 -0
- package/dist/esm/utilities/math/basic/index.js +4 -0
- package/dist/esm/utilities/math/basic/index.js.map +1 -0
- package/dist/esm/utilities/math/index.d.ts +2 -1
- package/dist/esm/utilities/math/index.js +2 -1
- package/dist/esm/utilities/math/index.js.map +1 -1
- package/dist/esm/utilities/math/midPoint.js +2 -1
- package/dist/esm/utilities/math/midPoint.js.map +1 -1
- package/dist/esm/utilities/math/polyline/pointInPolyline.js +2 -1
- package/dist/esm/utilities/math/polyline/pointInPolyline.js.map +1 -1
- package/dist/esm/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
- package/dist/esm/utilities/math/vec2/liangBarksyClip.js +10 -5
- package/dist/esm/utilities/math/vec2/liangBarksyClip.js.map +1 -1
- package/dist/esm/utilities/pointInShapeCallback.d.ts +7 -1
- package/dist/esm/utilities/pointInShapeCallback.js +6 -1
- package/dist/esm/utilities/pointInShapeCallback.js.map +1 -1
- package/dist/esm/utilities/roundNumber.js +4 -2
- package/dist/esm/utilities/roundNumber.js.map +1 -1
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -2
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +4 -4
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js.map +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +2 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/esm/utilities/segmentation/utilities.d.ts +1 -2
- package/dist/esm/utilities/segmentation/utilities.js +4 -1
- package/dist/esm/utilities/segmentation/utilities.js.map +1 -1
- package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -2
- package/dist/esm/utilities/stackPrefetch/index.js +3 -2
- package/dist/esm/utilities/stackPrefetch/index.js.map +1 -1
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +220 -0
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +14 -81
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +77 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/drawingSvg/drawCircle.ts +17 -5
- package/src/drawingSvg/drawEllipse.ts +4 -4
- package/src/drawingSvg/drawHandles.ts +4 -4
- package/src/drawingSvg/drawLine.ts +4 -4
- package/src/drawingSvg/drawPolyline.ts +4 -4
- package/src/drawingSvg/drawRect.ts +4 -4
- package/src/drawingSvg/drawTextBox.ts +4 -4
- package/src/drawingSvg/getSvgDrawingHelper.ts +4 -1
- package/src/drawingSvg/index.ts +4 -0
- package/src/drawingSvg/{_setAttributesIfNecessary.ts → setAttributesIfNecessary.ts} +2 -2
- package/src/drawingSvg/{_setNewAttributesIfValid.ts → setNewAttributesIfValid.ts} +2 -2
- package/src/enums/Events.ts +22 -0
- package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +11 -2
- package/src/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.ts +72 -0
- package/src/eventDispatchers/shared/getMouseModifier.ts +15 -5
- package/src/eventDispatchers/shared/getToolsWithActionsForMouseEvent.ts +66 -0
- package/src/eventListeners/keyboard/keyDownListener.ts +13 -0
- package/src/eventListeners/mouse/mouseDownListener.ts +10 -2
- package/src/eventListeners/mouse/mouseMoveListener.ts +7 -1
- package/src/eventListeners/touch/touchStartListener.ts +15 -5
- package/src/index.ts +8 -0
- package/src/stateManagement/annotation/config/ToolStyle.ts +1 -0
- package/src/stateManagement/annotation/config/getState.ts +7 -3
- package/src/stateManagement/annotation/config/helpers.ts +6 -2
- package/src/store/SynchronizerManager/Synchronizer.ts +16 -8
- package/src/store/ToolGroupManager/ToolGroup.ts +99 -6
- package/src/store/ToolGroupManager/getToolGroupsWithToolName.ts +3 -1
- package/src/synchronizers/callbacks/stackImageSyncCallback.ts +63 -68
- package/src/synchronizers/callbacks/voiSyncCallback.ts +1 -1
- package/src/tools/AdvancedMagnifyTool.ts +725 -0
- package/src/tools/AdvancedMagnifyViewport.ts +624 -0
- package/src/tools/AdvancedMagnifyViewportManager.ts +291 -0
- package/src/tools/MIPJumpToClickTool.ts +6 -2
- package/src/tools/MagnifyTool.ts +2 -2
- package/src/tools/OrientationMarkerTool.ts +235 -0
- package/src/tools/OverlayGridTool.ts +357 -0
- package/src/tools/PlanarRotateTool.ts +3 -1
- package/src/tools/ReferenceCursors.ts +85 -29
- package/src/tools/ReferenceLinesTool.ts +131 -3
- package/src/tools/ScaleOverlayTool.ts +3 -1
- package/src/tools/annotation/AngleTool.ts +42 -20
- package/src/tools/annotation/ArrowAnnotateTool.ts +16 -1
- package/src/tools/annotation/BidirectionalTool.ts +38 -24
- package/src/tools/annotation/CircleROITool.ts +94 -107
- package/src/tools/annotation/CobbAngleTool.ts +452 -114
- package/src/tools/annotation/DragProbeTool.ts +25 -14
- package/src/tools/annotation/EllipticalROITool.ts +88 -97
- package/src/tools/annotation/LengthTool.ts +33 -18
- package/src/tools/annotation/PlanarFreehandROITool.ts +90 -78
- package/src/tools/annotation/ProbeTool.ts +43 -49
- package/src/tools/annotation/RectangleROITool.ts +80 -92
- package/src/tools/base/AnnotationDisplayTool.ts +4 -0
- package/src/tools/base/AnnotationTool.ts +41 -18
- package/src/tools/base/index.ts +2 -1
- package/src/tools/displayTools/Contour/contourDisplay.ts +8 -0
- package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +4 -1
- package/src/tools/displayTools/Labelmap/removeLabelmapFromElement.ts +6 -1
- package/src/tools/displayTools/SegmentationDisplayTool.ts +12 -18
- package/src/tools/index.ts +8 -1
- package/src/tools/segmentation/BrushTool.ts +42 -19
- package/src/tools/segmentation/PaintFillTool.ts +10 -3
- package/src/tools/segmentation/strategies/eraseSphere.ts +2 -0
- package/src/tools/segmentation/strategies/fillCircle.ts +1 -13
- package/src/tools/segmentation/strategies/fillSphere.ts +56 -8
- package/src/tools/segmentation/strategies/utils/isWithinThreshold.ts +16 -0
- package/src/types/CINETypes.ts +8 -2
- package/src/types/CalculatorTypes.ts +7 -0
- package/src/types/EventTypes.ts +43 -0
- package/src/types/ISetToolModeOptions.ts +2 -2
- package/src/types/IToolGroup.ts +13 -3
- package/src/types/ToolAction.ts +54 -0
- package/src/types/ToolProps.ts +7 -1
- package/src/types/ToolSpecificAnnotationTypes.ts +58 -0
- package/src/types/index.ts +11 -1
- package/src/utilities/cine/playClip.ts +20 -3
- package/src/utilities/dynamicVolume/getDataInTime.ts +9 -6
- package/src/utilities/getCalibratedUnits.ts +15 -5
- package/src/utilities/getModalityUnit.ts +8 -2
- package/src/utilities/index.ts +2 -1
- package/src/utilities/math/angle/angleBetweenLines.ts +39 -9
- package/src/utilities/math/basic/BasicStatsCalculator.ts +60 -0
- package/src/utilities/math/basic/Calculator.ts +8 -0
- package/src/utilities/math/basic/index.ts +4 -0
- package/src/utilities/math/index.ts +10 -1
- package/src/utilities/math/midPoint.ts +3 -1
- package/src/utilities/math/polyline/pointInPolyline.ts +3 -1
- package/src/utilities/math/vec2/liangBarksyClip.ts +15 -5
- package/src/utilities/pointInShapeCallback.ts +15 -3
- package/src/utilities/roundNumber.ts +6 -2
- package/src/utilities/segmentation/brushSizeForToolGroup.ts +22 -4
- package/src/utilities/segmentation/thresholdVolumeByRange.ts +3 -1
- package/src/utilities/segmentation/utilities.ts +8 -1
- package/src/utilities/stackPrefetch/index.ts +3 -7
- package/src/utilities/stackPrefetch/stackContextPrefetch.ts +380 -0
- package/src/utilities/stackPrefetch/stackPrefetch.ts +37 -153
- package/src/utilities/stackPrefetch/stackPrefetchUtils.ts +114 -0
- package/dist/cjs/drawingSvg/_setAttributesIfNecessary.d.ts +0 -2
- package/dist/cjs/drawingSvg/_setAttributesIfNecessary.js.map +0 -1
- package/dist/cjs/drawingSvg/_setNewAttributesIfValid.d.ts +0 -2
- package/dist/cjs/drawingSvg/_setNewAttributesIfValid.js.map +0 -1
- package/dist/esm/drawingSvg/_setAttributesIfNecessary.d.ts +0 -2
- package/dist/esm/drawingSvg/_setAttributesIfNecessary.js.map +0 -1
- package/dist/esm/drawingSvg/_setNewAttributesIfValid.d.ts +0 -2
- package/dist/esm/drawingSvg/_setNewAttributesIfValid.js.map +0 -1
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import type { Types } from '@cornerstonejs/core';
|
|
2
|
-
import { vec3 } from 'gl-matrix';
|
|
2
|
+
import { vec2, vec3 } from 'gl-matrix';
|
|
3
3
|
|
|
4
|
-
type
|
|
4
|
+
type Line2D = [Types.Point2, Types.Point2];
|
|
5
|
+
type Line3D = [Types.Point3, Types.Point3];
|
|
6
|
+
type Line = Line2D | Line3D;
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
8
|
-
* The angle measured is that between the vectors
|
|
9
|
-
* line1[1]->line1[0] AND line2[0]->line2[1].
|
|
10
|
-
* @param line1 - Line = [p1, p2]
|
|
11
|
-
* @param line2 - Line = [p3, p4]
|
|
12
|
-
* @returns The angle between two lines in degrees.
|
|
9
|
+
* Calculates the angle between two 3D lines.
|
|
13
10
|
*/
|
|
14
|
-
|
|
11
|
+
function angleBetween3DLines(line1: Line3D, line2: Line3D): number {
|
|
15
12
|
const [p1, p2] = line1;
|
|
16
13
|
const [p3, p4] = line2;
|
|
17
14
|
|
|
@@ -29,3 +26,36 @@ export default function angleBetweenLines(line1: Line, line2: Line): number {
|
|
|
29
26
|
|
|
30
27
|
return (radian * 180) / Math.PI;
|
|
31
28
|
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Calculates the angle between two 2D lines.
|
|
32
|
+
*/
|
|
33
|
+
function angleBetween2DLines(line1: Line2D, line2: Line2D): number {
|
|
34
|
+
const [p1, p2] = line1;
|
|
35
|
+
const [p3, p4] = line2;
|
|
36
|
+
|
|
37
|
+
const v1 = vec2.sub(vec2.create(), p2, p1);
|
|
38
|
+
const v2 = vec2.sub(vec2.create(), p3, p4);
|
|
39
|
+
|
|
40
|
+
const dot = vec2.dot(v1, v2);
|
|
41
|
+
const v1Length = vec2.length(v1);
|
|
42
|
+
const v2Length = vec2.length(v2);
|
|
43
|
+
|
|
44
|
+
const cos = dot / (v1Length * v2Length);
|
|
45
|
+
return Math.acos(cos) * (180 / Math.PI);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Returns the angle between two lines in degrees.
|
|
50
|
+
* The angle measured is that between the vectors
|
|
51
|
+
* line1[1]->line1[0] AND line2[0]->line2[1].
|
|
52
|
+
* @param line1 - Line = [p1, p2]
|
|
53
|
+
* @param line2 - Line = [p3, p4]
|
|
54
|
+
* @returns The angle between two lines in degrees.
|
|
55
|
+
*/
|
|
56
|
+
export default function angleBetweenLines(line1: Line, line2: Line): number {
|
|
57
|
+
const is3D = line1[0].length === 3;
|
|
58
|
+
return is3D
|
|
59
|
+
? angleBetween3DLines(line1 as Line3D, line2 as Line3D)
|
|
60
|
+
: angleBetween2DLines(line1 as Line2D, line2 as Line2D);
|
|
61
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Statistics } from '../../../types';
|
|
2
|
+
import Calculator from './Calculator';
|
|
3
|
+
|
|
4
|
+
export default class BasicStatsCalculator extends Calculator {
|
|
5
|
+
private static max = -Infinity;
|
|
6
|
+
private static currentMax = 0;
|
|
7
|
+
private static sum = 0;
|
|
8
|
+
private static sumSquares = 0;
|
|
9
|
+
private static squaredDiffSum = 0;
|
|
10
|
+
private static count = 0;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* This callback is used when we verify if the point is in the annotion drawn so we can get every point
|
|
14
|
+
* in the shape to calculate the statistics
|
|
15
|
+
* @param value of the point in the shape of the annotation
|
|
16
|
+
*/
|
|
17
|
+
static statsCallback = ({ value: newValue }): void => {
|
|
18
|
+
if (newValue > this.max) {
|
|
19
|
+
this.max = newValue;
|
|
20
|
+
this.currentMax = newValue;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
this.count += 1;
|
|
24
|
+
|
|
25
|
+
this.sum += newValue;
|
|
26
|
+
this.sumSquares += newValue ** 2;
|
|
27
|
+
this.squaredDiffSum += Math.pow(newValue - this.sum / this.count, 2);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Basic function that calculates statictics for a given array of points.
|
|
32
|
+
* @param points
|
|
33
|
+
* @returns An object that contains :
|
|
34
|
+
* max : The maximum value of the array
|
|
35
|
+
* mean : mean of the array
|
|
36
|
+
* stdDev : standard deviation of the array
|
|
37
|
+
* stdDevWithSumSquare : standard deviation of the array using sum²
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
static getStatistics = (): Statistics[] => {
|
|
41
|
+
const mean = this.sum / this.count;
|
|
42
|
+
const stdDev = Math.sqrt(this.squaredDiffSum / this.count);
|
|
43
|
+
const stdDevWithSumSquare = Math.sqrt(
|
|
44
|
+
this.sumSquares / this.count - mean ** 2
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
this.max = -Infinity;
|
|
48
|
+
this.sum = 0;
|
|
49
|
+
this.sumSquares = 0;
|
|
50
|
+
this.squaredDiffSum = 0;
|
|
51
|
+
this.count = 0;
|
|
52
|
+
|
|
53
|
+
return [
|
|
54
|
+
{ name: 'max', value: this.currentMax, unit: null },
|
|
55
|
+
{ name: 'mean', value: mean, unit: null },
|
|
56
|
+
{ name: 'stdDev', value: stdDev, unit: null },
|
|
57
|
+
{ name: 'stdDevWithSumSquare', value: stdDevWithSumSquare, unit: null },
|
|
58
|
+
];
|
|
59
|
+
};
|
|
60
|
+
}
|
|
@@ -4,5 +4,14 @@ import * as lineSegment from './line';
|
|
|
4
4
|
import * as rectangle from './rectangle';
|
|
5
5
|
import * as polyline from './polyline';
|
|
6
6
|
import * as point from './point';
|
|
7
|
+
import * as BasicStatsCalculator from './basic';
|
|
7
8
|
|
|
8
|
-
export {
|
|
9
|
+
export {
|
|
10
|
+
vec2,
|
|
11
|
+
ellipse,
|
|
12
|
+
lineSegment,
|
|
13
|
+
rectangle,
|
|
14
|
+
polyline,
|
|
15
|
+
point,
|
|
16
|
+
BasicStatsCalculator,
|
|
17
|
+
};
|
|
@@ -14,15 +14,25 @@ const OUTSIDE = 0;
|
|
|
14
14
|
|
|
15
15
|
function clipT(num, denom, c) {
|
|
16
16
|
const [tE, tL] = c;
|
|
17
|
-
if (Math.abs(denom) < EPSILON)
|
|
17
|
+
if (Math.abs(denom) < EPSILON) {
|
|
18
|
+
return num < 0;
|
|
19
|
+
}
|
|
18
20
|
const t = num / denom;
|
|
19
21
|
|
|
20
22
|
if (denom > 0) {
|
|
21
|
-
if (t > tL)
|
|
22
|
-
|
|
23
|
+
if (t > tL) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
if (t > tE) {
|
|
27
|
+
c[0] = t;
|
|
28
|
+
}
|
|
23
29
|
} else {
|
|
24
|
-
if (t < tE)
|
|
25
|
-
|
|
30
|
+
if (t < tE) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
if (t < tL) {
|
|
34
|
+
c[1] = t;
|
|
35
|
+
}
|
|
26
36
|
}
|
|
27
37
|
return 1;
|
|
28
38
|
}
|
|
@@ -3,6 +3,13 @@ import type { Types } from '@cornerstonejs/core';
|
|
|
3
3
|
import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
|
|
4
4
|
import BoundsIJK from '../types/BoundsIJK';
|
|
5
5
|
|
|
6
|
+
export type PointInShape = {
|
|
7
|
+
value: number;
|
|
8
|
+
index: number;
|
|
9
|
+
pointIJK: Types.Point3;
|
|
10
|
+
pointLPS: Types.Point3;
|
|
11
|
+
};
|
|
12
|
+
|
|
6
13
|
export type PointInShapeCallback = ({
|
|
7
14
|
value,
|
|
8
15
|
index,
|
|
@@ -37,9 +44,9 @@ export type ShapeFnCriteria = (
|
|
|
37
44
|
export default function pointInShapeCallback(
|
|
38
45
|
imageData: vtkImageData | Types.CPUImageData,
|
|
39
46
|
pointInShapeFn: ShapeFnCriteria,
|
|
40
|
-
callback
|
|
47
|
+
callback?: PointInShapeCallback,
|
|
41
48
|
boundsIJK?: BoundsIJK
|
|
42
|
-
):
|
|
49
|
+
): Array<PointInShape> {
|
|
43
50
|
let iMin, iMax, jMin, jMax, kMin, kMax;
|
|
44
51
|
|
|
45
52
|
let scalarData;
|
|
@@ -101,6 +108,7 @@ export default function pointInShapeCallback(
|
|
|
101
108
|
const yMultiple = dimensions[0];
|
|
102
109
|
const zMultiple = dimensions[0] * dimensions[1];
|
|
103
110
|
|
|
111
|
+
const pointsInShape: Array<PointInShape> = [];
|
|
104
112
|
for (let k = kMin; k <= kMax; k++) {
|
|
105
113
|
for (let j = jMin; j <= jMax; j++) {
|
|
106
114
|
for (let i = iMin; i <= iMax; i++) {
|
|
@@ -130,9 +138,13 @@ export default function pointInShapeCallback(
|
|
|
130
138
|
const index = k * zMultiple + j * yMultiple + i;
|
|
131
139
|
const value = scalarData[index];
|
|
132
140
|
|
|
133
|
-
|
|
141
|
+
pointsInShape.push({ value, index, pointIJK, pointLPS });
|
|
142
|
+
if (callback !== null) {
|
|
143
|
+
callback({ value, index, pointIJK, pointLPS });
|
|
144
|
+
}
|
|
134
145
|
}
|
|
135
146
|
}
|
|
136
147
|
}
|
|
137
148
|
}
|
|
149
|
+
return pointsInShape;
|
|
138
150
|
}
|
|
@@ -11,9 +11,13 @@
|
|
|
11
11
|
* @param precision - defining how many digits after 1..9 are desired
|
|
12
12
|
*/
|
|
13
13
|
function roundNumber(value: string | number, precision = 2): string {
|
|
14
|
-
if (value === undefined || value === null || value === '')
|
|
14
|
+
if (value === undefined || value === null || value === '') {
|
|
15
|
+
return 'NaN';
|
|
16
|
+
}
|
|
15
17
|
value = Number(value);
|
|
16
|
-
if (value < 0.0001)
|
|
18
|
+
if (value < 0.0001) {
|
|
19
|
+
return `${value}`;
|
|
20
|
+
}
|
|
17
21
|
const fixedPrecision =
|
|
18
22
|
value >= 100
|
|
19
23
|
? precision - 2
|
|
@@ -4,9 +4,17 @@ import triggerAnnotationRenderForViewportIds from '../triggerAnnotationRenderFor
|
|
|
4
4
|
import { getRenderingEngine } from '@cornerstonejs/core';
|
|
5
5
|
import getBrushToolInstances from './utilities';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Sets the brush size for all brush-based tools in a given tool group.
|
|
9
|
+
* @param toolGroupId - The ID of the tool group to set the brush size for.
|
|
10
|
+
* @param brushSize - The new brush size to set.
|
|
11
|
+
* @param toolName - The name of the specific tool to set the brush size for (optional)
|
|
12
|
+
* If not provided, all brush-based tools in the tool group will be affected.
|
|
13
|
+
*/
|
|
7
14
|
export function setBrushSizeForToolGroup(
|
|
8
15
|
toolGroupId: string,
|
|
9
|
-
brushSize: number
|
|
16
|
+
brushSize: number,
|
|
17
|
+
toolName?: string
|
|
10
18
|
): void {
|
|
11
19
|
const toolGroup = getToolGroup(toolGroupId);
|
|
12
20
|
|
|
@@ -14,7 +22,7 @@ export function setBrushSizeForToolGroup(
|
|
|
14
22
|
return;
|
|
15
23
|
}
|
|
16
24
|
|
|
17
|
-
const brushBasedToolInstances = getBrushToolInstances(toolGroupId);
|
|
25
|
+
const brushBasedToolInstances = getBrushToolInstances(toolGroupId, toolName);
|
|
18
26
|
|
|
19
27
|
brushBasedToolInstances.forEach((tool: BrushTool) => {
|
|
20
28
|
tool.configuration.brushSize = brushSize;
|
|
@@ -45,7 +53,17 @@ export function setBrushSizeForToolGroup(
|
|
|
45
53
|
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIds);
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Gets the brush size for the first brush-based tool instance in a given tool group.
|
|
58
|
+
* @param toolGroupId - The ID of the tool group to get the brush size for.
|
|
59
|
+
* @param toolName - The name of the specific tool to get the brush size for (Optional)
|
|
60
|
+
* If not provided, the first brush-based tool instance in the tool group will be used.
|
|
61
|
+
* @returns The brush size of the selected tool instance, or undefined if no brush-based tool instance is found.
|
|
62
|
+
*/
|
|
63
|
+
export function getBrushSizeForToolGroup(
|
|
64
|
+
toolGroupId: string,
|
|
65
|
+
toolName?: string
|
|
66
|
+
): void {
|
|
49
67
|
const toolGroup = getToolGroup(toolGroupId);
|
|
50
68
|
|
|
51
69
|
if (toolGroup === undefined) {
|
|
@@ -58,7 +76,7 @@ export function getBrushSizeForToolGroup(toolGroupId: string): void {
|
|
|
58
76
|
return;
|
|
59
77
|
}
|
|
60
78
|
|
|
61
|
-
const brushBasedToolInstances = getBrushToolInstances(toolGroupId);
|
|
79
|
+
const brushBasedToolInstances = getBrushToolInstances(toolGroupId, toolName);
|
|
62
80
|
|
|
63
81
|
// one is enough as they share the same brush size
|
|
64
82
|
const brushToolInstance = brushBasedToolInstances[0];
|
|
@@ -137,7 +137,9 @@ function thresholdVolumeByRange(
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
// Todo: make the segmentIndex a parameter
|
|
140
|
-
if (insert)
|
|
140
|
+
if (insert) {
|
|
141
|
+
scalarData[index] = 1;
|
|
142
|
+
}
|
|
141
143
|
};
|
|
142
144
|
|
|
143
145
|
pointInShapeCallback(segmentationImageData, () => true, callback, boundsIJK);
|
|
@@ -10,7 +10,10 @@ export type ThresholdInformation = {
|
|
|
10
10
|
upper: number;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
export default function getBrushToolInstances(
|
|
13
|
+
export default function getBrushToolInstances(
|
|
14
|
+
toolGroupId: string,
|
|
15
|
+
toolName?: string
|
|
16
|
+
) {
|
|
14
17
|
const toolGroup = getToolGroup(toolGroupId);
|
|
15
18
|
|
|
16
19
|
if (toolGroup === undefined) {
|
|
@@ -23,6 +26,10 @@ export default function getBrushToolInstances(toolGroupId) {
|
|
|
23
26
|
return;
|
|
24
27
|
}
|
|
25
28
|
|
|
29
|
+
if (toolName && toolInstances[toolName]) {
|
|
30
|
+
return [toolInstances[toolName]];
|
|
31
|
+
}
|
|
32
|
+
|
|
26
33
|
// For each tool that has BrushTool as base class, set the brush size.
|
|
27
34
|
const brushBasedToolInstances = Object.values(toolInstances).filter(
|
|
28
35
|
(toolInstance) => toolInstance instanceof BrushTool
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
disable,
|
|
4
|
-
setConfiguration,
|
|
5
|
-
getConfiguration,
|
|
6
|
-
} from './stackPrefetch';
|
|
1
|
+
import stackPrefetch from './stackPrefetch';
|
|
2
|
+
import stackContextPrefetch from './stackContextPrefetch';
|
|
7
3
|
|
|
8
|
-
export {
|
|
4
|
+
export { stackPrefetch, stackContextPrefetch };
|