@cornerstonejs/tools 3.0.2 → 3.0.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/LICENSE +2 -2
- package/README.md +4 -183
- package/dist/esm/config.d.ts +30 -0
- package/dist/esm/config.js +23 -0
- package/dist/esm/constants/COLOR_LUT.d.ts +3 -0
- package/dist/esm/constants/COLOR_LUT.js +258 -0
- package/dist/esm/constants/index.d.ts +2 -0
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/cursors/ImageMouseCursor.d.ts +9 -0
- package/dist/esm/cursors/ImageMouseCursor.js +22 -0
- package/dist/esm/cursors/MouseCursor.d.ts +12 -0
- package/dist/esm/cursors/MouseCursor.js +88 -0
- package/dist/esm/cursors/SVGCursorDescriptor.d.ts +9 -0
- package/dist/esm/cursors/SVGCursorDescriptor.js +442 -0
- package/dist/esm/cursors/SVGMouseCursor.d.ts +6 -0
- package/dist/esm/cursors/SVGMouseCursor.js +74 -0
- package/dist/esm/cursors/elementCursor.d.ts +6 -0
- package/dist/esm/cursors/elementCursor.js +36 -0
- package/dist/esm/cursors/index.d.ts +8 -0
- package/dist/esm/cursors/index.js +8 -0
- package/dist/esm/cursors/setCursorForElement.d.ts +2 -0
- package/dist/esm/cursors/setCursorForElement.js +15 -0
- package/dist/esm/drawingSvg/_getHash.d.ts +2 -0
- package/dist/esm/drawingSvg/_getHash.js +4 -0
- package/dist/esm/drawingSvg/clearByToolType.d.ts +2 -0
- package/dist/esm/drawingSvg/clearByToolType.js +13 -0
- package/dist/esm/drawingSvg/draw.d.ts +3 -0
- package/dist/esm/drawingSvg/draw.js +7 -0
- package/dist/esm/drawingSvg/drawArrow.d.ts +3 -0
- package/dist/esm/drawingSvg/drawArrow.js +79 -0
- package/dist/esm/drawingSvg/drawCircle.d.ts +4 -0
- package/dist/esm/drawingSvg/drawCircle.js +42 -0
- package/dist/esm/drawingSvg/drawEllipse.d.ts +4 -0
- package/dist/esm/drawingSvg/drawEllipse.js +10 -0
- package/dist/esm/drawingSvg/drawEllipseByCoordinates.d.ts +4 -0
- package/dist/esm/drawingSvg/drawEllipseByCoordinates.js +46 -0
- package/dist/esm/drawingSvg/drawHandle.d.ts +4 -0
- package/dist/esm/drawingSvg/drawHandle.js +60 -0
- package/dist/esm/drawingSvg/drawHandles.d.ts +4 -0
- package/dist/esm/drawingSvg/drawHandles.js +7 -0
- package/dist/esm/drawingSvg/drawHeight.d.ts +3 -0
- package/dist/esm/drawingSvg/drawHeight.js +45 -0
- package/dist/esm/drawingSvg/drawLine.d.ts +3 -0
- package/dist/esm/drawingSvg/drawLine.js +39 -0
- package/dist/esm/drawingSvg/drawLink.d.ts +4 -0
- package/dist/esm/drawingSvg/drawLink.js +26 -0
- package/dist/esm/drawingSvg/drawLinkedTextBox.d.ts +4 -0
- package/dist/esm/drawingSvg/drawLinkedTextBox.js +15 -0
- package/dist/esm/drawingSvg/drawPath.d.ts +11 -0
- package/dist/esm/drawingSvg/drawPath.js +48 -0
- package/dist/esm/drawingSvg/drawPolyline.d.ts +13 -0
- package/dist/esm/drawingSvg/drawPolyline.js +40 -0
- package/dist/esm/drawingSvg/drawRect.d.ts +3 -0
- package/dist/esm/drawingSvg/drawRect.js +9 -0
- package/dist/esm/drawingSvg/drawRectByCoordinates.d.ts +3 -0
- package/dist/esm/drawingSvg/drawRectByCoordinates.js +52 -0
- package/dist/esm/drawingSvg/drawRedactionRect.d.ts +3 -0
- package/dist/esm/drawingSvg/drawRedactionRect.js +37 -0
- package/dist/esm/drawingSvg/drawTextBox.d.ts +4 -0
- package/dist/esm/drawingSvg/drawTextBox.js +123 -0
- package/dist/esm/drawingSvg/getSvgDrawingHelper.d.ts +3 -0
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +65 -0
- package/dist/esm/drawingSvg/index.d.ts +19 -0
- package/dist/esm/drawingSvg/index.js +19 -0
- package/dist/esm/drawingSvg/setAttributesIfNecessary.d.ts +2 -0
- package/dist/esm/drawingSvg/setAttributesIfNecessary.js +13 -0
- package/dist/esm/drawingSvg/setNewAttributesIfValid.d.ts +2 -0
- package/dist/esm/drawingSvg/setNewAttributesIfValid.js +9 -0
- package/dist/esm/enums/AnnotationStyleStates.d.ts +8 -0
- package/dist/esm/enums/AnnotationStyleStates.js +9 -0
- package/dist/esm/enums/ChangeTypes.d.ts +11 -0
- package/dist/esm/enums/ChangeTypes.js +12 -0
- package/dist/esm/enums/Events.d.ts +42 -0
- package/dist/esm/enums/Events.js +43 -0
- package/dist/esm/enums/SegmentationRepresentations.d.ts +6 -0
- package/dist/esm/enums/SegmentationRepresentations.js +7 -0
- package/dist/esm/enums/StrategyCallbacks.d.ts +19 -0
- package/dist/esm/enums/StrategyCallbacks.js +20 -0
- package/dist/esm/enums/ToolBindings.d.ts +26 -0
- package/dist/esm/enums/ToolBindings.js +28 -0
- package/dist/esm/enums/ToolModes.d.ts +7 -0
- package/dist/esm/enums/ToolModes.js +8 -0
- package/dist/esm/enums/Touch.d.ts +7 -0
- package/dist/esm/enums/Touch.js +8 -0
- package/dist/esm/enums/WorkerTypes.d.ts +10 -0
- package/dist/esm/enums/WorkerTypes.js +11 -0
- package/dist/esm/enums/index.d.ts +11 -0
- package/dist/esm/enums/index.js +10 -0
- package/dist/esm/eventDispatchers/annotationInterpolationEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/annotationInterpolationEventDispatcher.js +17 -0
- package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +18 -0
- package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.js +26 -0
- package/dist/esm/eventDispatchers/cameraResetEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/cameraResetEventDispatcher.js +26 -0
- package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.js +15 -0
- package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.js +26 -0
- package/dist/esm/eventDispatchers/index.d.ts +9 -0
- package/dist/esm/eventDispatchers/index.js +9 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/index.d.ts +3 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/index.js +3 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +2 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +25 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +2 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +16 -0
- package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.js +15 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/index.d.ts +9 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/index.js +9 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.js +3 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.js +3 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +90 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +19 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +34 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +13 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +37 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.js +3 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +3 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +16 -0
- package/dist/esm/eventDispatchers/mouseToolEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/mouseToolEventDispatcher.js +27 -0
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.d.ts +1 -0
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +30 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +2 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +29 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +2 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +28 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.d.ts +2 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +29 -0
- package/dist/esm/eventDispatchers/shared/getMouseModifier.d.ts +3 -0
- package/dist/esm/eventDispatchers/shared/getMouseModifier.js +32 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.d.ts +3 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.js +28 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +4 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +5 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +23 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +5 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.js +23 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/index.d.ts +7 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/index.js +7 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.d.ts +2 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.js +13 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchEnd.d.ts +2 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchEnd.js +3 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchPress.d.ts +2 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchPress.js +3 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.d.ts +2 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.js +79 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.d.ts +2 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.js +19 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchTap.d.ts +2 -0
- package/dist/esm/eventDispatchers/touchEventHandlers/touchTap.js +3 -0
- package/dist/esm/eventDispatchers/touchToolEventDispatcher.d.ts +5 -0
- package/dist/esm/eventDispatchers/touchToolEventDispatcher.js +22 -0
- package/dist/esm/eventListeners/annotations/annotationCompletedListener.d.ts +2 -0
- package/dist/esm/eventListeners/annotations/annotationCompletedListener.js +8 -0
- package/dist/esm/eventListeners/annotations/annotationModifiedListener.d.ts +2 -0
- package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +6 -0
- package/dist/esm/eventListeners/annotations/annotationRemovedListener.d.ts +2 -0
- package/dist/esm/eventListeners/annotations/annotationRemovedListener.js +8 -0
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.d.ts +2 -0
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +15 -0
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +5 -0
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +233 -0
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationRemoved.d.ts +2 -0
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationRemoved.js +5 -0
- package/dist/esm/eventListeners/annotations/contourSegmentation/index.d.ts +2 -0
- package/dist/esm/eventListeners/annotations/contourSegmentation/index.js +2 -0
- package/dist/esm/eventListeners/annotations/index.d.ts +5 -0
- package/dist/esm/eventListeners/annotations/index.js +5 -0
- package/dist/esm/eventListeners/index.d.ts +7 -0
- package/dist/esm/eventListeners/index.js +7 -0
- package/dist/esm/eventListeners/keyboard/index.d.ts +9 -0
- package/dist/esm/eventListeners/keyboard/index.js +13 -0
- package/dist/esm/eventListeners/keyboard/keyDownListener.d.ts +4 -0
- package/dist/esm/eventListeners/keyboard/keyDownListener.js +64 -0
- package/dist/esm/eventListeners/mouse/getMouseEventPoints.d.ts +2 -0
- package/dist/esm/eventListeners/mouse/getMouseEventPoints.js +31 -0
- package/dist/esm/eventListeners/mouse/index.d.ts +7 -0
- package/dist/esm/eventListeners/mouse/index.js +24 -0
- package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.d.ts +2 -0
- package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js +32 -0
- package/dist/esm/eventListeners/mouse/mouseDownListener.d.ts +4 -0
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +266 -0
- package/dist/esm/eventListeners/mouse/mouseMoveListener.d.ts +2 -0
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js +28 -0
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.d.ts +5 -0
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +128 -0
- package/dist/esm/eventListeners/segmentation/index.d.ts +4 -0
- package/dist/esm/eventListeners/segmentation/index.js +4 -0
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +83 -0
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +12 -0
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +6 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedListener.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedListener.js +6 -0
- package/dist/esm/eventListeners/touch/getTouchEventPoints.d.ts +2 -0
- package/dist/esm/eventListeners/touch/getTouchEventPoints.js +38 -0
- package/dist/esm/eventListeners/touch/index.d.ts +7 -0
- package/dist/esm/eventListeners/touch/index.js +17 -0
- package/dist/esm/eventListeners/touch/preventGhostClick.d.ts +7 -0
- package/dist/esm/eventListeners/touch/preventGhostClick.js +47 -0
- package/dist/esm/eventListeners/touch/touchStartListener.d.ts +2 -0
- package/dist/esm/eventListeners/touch/touchStartListener.js +282 -0
- package/dist/esm/eventListeners/wheel/index.d.ts +7 -0
- package/dist/esm/eventListeners/wheel/index.js +12 -0
- package/dist/esm/eventListeners/wheel/normalizeWheel.d.ts +6 -0
- package/dist/esm/eventListeners/wheel/normalizeWheel.js +48 -0
- package/dist/esm/eventListeners/wheel/wheelListener.d.ts +2 -0
- package/dist/esm/eventListeners/wheel/wheelListener.js +34 -0
- package/dist/esm/index.d.ts +17 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/init.d.ts +4 -0
- package/dist/esm/init.js +70 -0
- package/dist/esm/stateManagement/annotation/AnnotationGroup.d.ts +18 -0
- package/dist/esm/stateManagement/annotation/AnnotationGroup.js +69 -0
- package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.d.ts +20 -0
- package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.js +112 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +27 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +210 -0
- package/dist/esm/stateManagement/annotation/annotationLocking.d.ts +7 -0
- package/dist/esm/stateManagement/annotation/annotationLocking.js +73 -0
- package/dist/esm/stateManagement/annotation/annotationSelection.d.ts +7 -0
- package/dist/esm/stateManagement/annotation/annotationSelection.js +85 -0
- package/dist/esm/stateManagement/annotation/annotationState.d.ts +18 -0
- package/dist/esm/stateManagement/annotation/annotationState.js +118 -0
- package/dist/esm/stateManagement/annotation/annotationVisibility.d.ts +5 -0
- package/dist/esm/stateManagement/annotation/annotationVisibility.js +65 -0
- package/dist/esm/stateManagement/annotation/config/ToolStyle.d.ts +18 -0
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js +135 -0
- package/dist/esm/stateManagement/annotation/config/getFont.d.ts +4 -0
- package/dist/esm/stateManagement/annotation/config/getFont.js +7 -0
- package/dist/esm/stateManagement/annotation/config/getState.d.ts +4 -0
- package/dist/esm/stateManagement/annotation/config/getState.js +21 -0
- package/dist/esm/stateManagement/annotation/config/helpers.d.ts +4 -0
- package/dist/esm/stateManagement/annotation/config/helpers.js +21 -0
- package/dist/esm/stateManagement/annotation/config/index.d.ts +4 -0
- package/dist/esm/stateManagement/annotation/config/index.js +4 -0
- package/dist/esm/stateManagement/annotation/helpers/state.d.ts +10 -0
- package/dist/esm/stateManagement/annotation/helpers/state.js +76 -0
- package/dist/esm/stateManagement/annotation/index.d.ts +34 -0
- package/dist/esm/stateManagement/annotation/index.js +15 -0
- package/dist/esm/stateManagement/annotation/resetAnnotationManager.d.ts +1 -0
- package/dist/esm/stateManagement/annotation/resetAnnotationManager.js +21 -0
- package/dist/esm/stateManagement/annotation/utilities/defineProperties.d.ts +4 -0
- package/dist/esm/stateManagement/annotation/utilities/defineProperties.js +22 -0
- package/dist/esm/stateManagement/index.d.ts +18 -0
- package/dist/esm/stateManagement/index.js +6 -0
- package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.d.ts +20 -0
- package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +153 -0
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +91 -0
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +470 -0
- package/dist/esm/stateManagement/segmentation/SegmentationStyle.d.ts +39 -0
- package/dist/esm/stateManagement/segmentation/SegmentationStyle.js +223 -0
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -0
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +9 -0
- package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addColorLUT.js +25 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.d.ts +15 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.js +49 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.js +14 -0
- package/dist/esm/stateManagement/segmentation/config/index.d.ts +4 -0
- package/dist/esm/stateManagement/segmentation/config/index.js +4 -0
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.d.ts +6 -0
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +50 -0
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +22 -0
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +49 -0
- package/dist/esm/stateManagement/segmentation/config/styleHelpers.d.ts +25 -0
- package/dist/esm/stateManagement/segmentation/config/styleHelpers.js +37 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationAdded.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationAdded.js +8 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.js +12 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.js +8 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.js +8 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +10 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +10 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.js +9 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getColorLUT.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.js +5 -0
- package/dist/esm/stateManagement/segmentation/getGlobalStyle.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/getGlobalStyle.js +4 -0
- package/dist/esm/stateManagement/segmentation/getLabelmapImageIds.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getLabelmapImageIds.js +7 -0
- package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +14 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +17 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentations.js +6 -0
- package/dist/esm/stateManagement/segmentation/getStackSegmentationImageIdsForViewport.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getStackSegmentationImageIdsForViewport.js +5 -0
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +10 -0
- package/dist/esm/stateManagement/segmentation/getViewportSegmentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/getViewportSegmentations.js +15 -0
- package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.js +30 -0
- package/dist/esm/stateManagement/segmentation/helpers/computeStackLabelmapFromVolume.d.ts +13 -0
- package/dist/esm/stateManagement/segmentation/helpers/computeStackLabelmapFromVolume.js +22 -0
- package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.js +4 -0
- package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.js +7 -0
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.d.ts +6 -0
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.js +34 -0
- package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/index.js +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/internalGetHiddenSegmentIndices.d.ts +5 -0
- package/dist/esm/stateManagement/segmentation/helpers/internalGetHiddenSegmentIndices.js +14 -0
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +71 -0
- package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.d.ts +8 -0
- package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +31 -0
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +20 -0
- package/dist/esm/stateManagement/segmentation/index.d.ts +28 -0
- package/dist/esm/stateManagement/segmentation/index.js +28 -0
- package/dist/esm/stateManagement/segmentation/internalAddRepresentationData.d.ts +12 -0
- package/dist/esm/stateManagement/segmentation/internalAddRepresentationData.js +32 -0
- package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.js +38 -0
- package/dist/esm/stateManagement/segmentation/removeColorLUT.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/removeSegment.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/removeSegment.js +50 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentation.js +24 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +20 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +73 -0
- package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +48 -0
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +4 -0
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +29 -0
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +17 -0
- package/dist/esm/stateManagement/segmentation/segmentationState.js +20 -0
- package/dist/esm/stateManagement/segmentation/setActiveSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setActiveSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/setGlobalStyle.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/setGlobalStyle.js +8 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +5 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +5 -0
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +6 -0
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +6 -0
- package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js +5 -0
- package/dist/esm/stateManagement/segmentation/updateSegmentations.d.ts +5 -0
- package/dist/esm/stateManagement/segmentation/updateSegmentations.js +11 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +48 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +221 -0
- package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +4 -0
- package/dist/esm/store/SynchronizerManager/createSynchronizer.js +12 -0
- package/dist/esm/store/SynchronizerManager/destroy.d.ts +2 -0
- package/dist/esm/store/SynchronizerManager/destroy.js +8 -0
- package/dist/esm/store/SynchronizerManager/destroySynchronizer.d.ts +2 -0
- package/dist/esm/store/SynchronizerManager/destroySynchronizer.js +10 -0
- package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +3 -0
- package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +5 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +3 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizer.js +5 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +3 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +18 -0
- package/dist/esm/store/SynchronizerManager/index.d.ts +7 -0
- package/dist/esm/store/SynchronizerManager/index.js +7 -0
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +48 -0
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +460 -0
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +13 -0
- package/dist/esm/store/ToolGroupManager/destroy.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/destroy.js +10 -0
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +8 -0
- package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +5 -0
- package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroup.js +5 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +18 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +21 -0
- package/dist/esm/store/ToolGroupManager/index.d.ts +8 -0
- package/dist/esm/store/ToolGroupManager/index.js +8 -0
- package/dist/esm/store/addEnabledElement.d.ts +2 -0
- package/dist/esm/store/addEnabledElement.js +68 -0
- package/dist/esm/store/addTool.d.ts +5 -0
- package/dist/esm/store/addTool.js +31 -0
- package/dist/esm/store/cancelActiveManipulations.d.ts +1 -0
- package/dist/esm/store/cancelActiveManipulations.js +16 -0
- package/dist/esm/store/filterMoveableAnnotationTools.d.ts +3 -0
- package/dist/esm/store/filterMoveableAnnotationTools.js +20 -0
- package/dist/esm/store/filterToolsWithAnnotationsForElement.d.ts +3 -0
- package/dist/esm/store/filterToolsWithAnnotationsForElement.js +22 -0
- package/dist/esm/store/filterToolsWithMoveableHandles.d.ts +3 -0
- package/dist/esm/store/filterToolsWithMoveableHandles.js +21 -0
- package/dist/esm/store/index.d.ts +10 -0
- package/dist/esm/store/index.js +10 -0
- package/dist/esm/store/removeEnabledElement.d.ts +3 -0
- package/dist/esm/store/removeEnabledElement.js +85 -0
- package/dist/esm/store/state.d.ts +18 -0
- package/dist/esm/store/state.js +34 -0
- package/dist/esm/store/svgNodeCache.d.ts +3 -0
- package/dist/esm/store/svgNodeCache.js +5 -0
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar.d.ts +2 -0
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar.js +7 -0
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +3 -0
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js +11 -0
- package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.d.ts +3 -0
- package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.js +67 -0
- package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.d.ts +2 -0
- package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.js +12 -0
- package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +2 -0
- package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.js +15 -0
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +5 -0
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +35 -0
- package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.d.ts +3 -0
- package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.js +19 -0
- package/dist/esm/synchronizers/index.d.ts +8 -0
- package/dist/esm/synchronizers/index.js +8 -0
- package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +2 -0
- package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.js +8 -0
- package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +2 -0
- package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.js +14 -0
- package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.d.ts +3 -0
- package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.js +8 -0
- package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts +2 -0
- package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.js +8 -0
- package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +7 -0
- package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.js +15 -0
- package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.d.ts +2 -0
- package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.js +8 -0
- package/dist/esm/synchronizers/synchronizers/index.d.ts +7 -0
- package/dist/esm/synchronizers/synchronizers/index.js +7 -0
- package/dist/esm/tools/AdvancedMagnifyTool.d.ts +130 -0
- package/dist/esm/tools/AdvancedMagnifyTool.js +927 -0
- package/dist/esm/tools/AnnotationEraserTool.d.ts +10 -0
- package/dist/esm/tools/AnnotationEraserTool.js +56 -0
- package/dist/esm/tools/CrosshairsTool.d.ts +71 -0
- package/dist/esm/tools/CrosshairsTool.js +1449 -0
- package/dist/esm/tools/MIPJumpToClickTool.d.ts +8 -0
- package/dist/esm/tools/MIPJumpToClickTool.js +56 -0
- package/dist/esm/tools/MagnifyTool.d.ts +25 -0
- package/dist/esm/tools/MagnifyTool.js +180 -0
- package/dist/esm/tools/OrientationMarkerTool.d.ts +78 -0
- package/dist/esm/tools/OrientationMarkerTool.js +284 -0
- package/dist/esm/tools/OverlayGridTool.d.ts +29 -0
- package/dist/esm/tools/OverlayGridTool.js +164 -0
- package/dist/esm/tools/PanTool.d.ts +10 -0
- package/dist/esm/tools/PanTool.js +44 -0
- package/dist/esm/tools/PlanarRotateTool.d.ts +12 -0
- package/dist/esm/tools/PlanarRotateTool.js +64 -0
- package/dist/esm/tools/ReferenceCursors.d.ts +24 -0
- package/dist/esm/tools/ReferenceCursors.js +308 -0
- package/dist/esm/tools/ReferenceLinesTool.d.ts +27 -0
- package/dist/esm/tools/ReferenceLinesTool.js +232 -0
- package/dist/esm/tools/ScaleOverlayTool.d.ts +38 -0
- package/dist/esm/tools/ScaleOverlayTool.js +397 -0
- package/dist/esm/tools/SculptorTool/CircleSculptCursor.d.ts +20 -0
- package/dist/esm/tools/SculptorTool/CircleSculptCursor.js +107 -0
- package/dist/esm/tools/SculptorTool.d.ts +41 -0
- package/dist/esm/tools/SculptorTool.js +289 -0
- package/dist/esm/tools/SegmentationIntersectionTool.d.ts +18 -0
- package/dist/esm/tools/SegmentationIntersectionTool.js +177 -0
- package/dist/esm/tools/StackScrollTool.d.ts +15 -0
- package/dist/esm/tools/StackScrollTool.js +78 -0
- package/dist/esm/tools/TrackballRotateTool.d.ts +19 -0
- package/dist/esm/tools/TrackballRotateTool.js +179 -0
- package/dist/esm/tools/VolumeRotateTool.d.ts +10 -0
- package/dist/esm/tools/VolumeRotateTool.js +52 -0
- package/dist/esm/tools/WindowLevelRegionTool.d.ts +26 -0
- package/dist/esm/tools/WindowLevelRegionTool.js +220 -0
- package/dist/esm/tools/WindowLevelTool.d.ts +37 -0
- package/dist/esm/tools/WindowLevelTool.js +201 -0
- package/dist/esm/tools/ZoomTool.d.ts +19 -0
- package/dist/esm/tools/ZoomTool.js +180 -0
- package/dist/esm/tools/annotation/AngleTool.d.ts +37 -0
- package/dist/esm/tools/annotation/AngleTool.js +486 -0
- package/dist/esm/tools/annotation/ArrowAnnotateTool.d.ts +39 -0
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js +467 -0
- package/dist/esm/tools/annotation/BidirectionalTool.d.ts +40 -0
- package/dist/esm/tools/annotation/BidirectionalTool.js +728 -0
- package/dist/esm/tools/annotation/CircleROITool.d.ts +39 -0
- package/dist/esm/tools/annotation/CircleROITool.js +638 -0
- package/dist/esm/tools/annotation/CobbAngleTool.d.ts +61 -0
- package/dist/esm/tools/annotation/CobbAngleTool.js +688 -0
- package/dist/esm/tools/annotation/DragProbeTool.d.ts +23 -0
- package/dist/esm/tools/annotation/DragProbeTool.js +130 -0
- package/dist/esm/tools/annotation/ETDRSGridTool.d.ts +41 -0
- package/dist/esm/tools/annotation/ETDRSGridTool.js +354 -0
- package/dist/esm/tools/annotation/EllipticalROITool.d.ts +45 -0
- package/dist/esm/tools/annotation/EllipticalROITool.js +710 -0
- package/dist/esm/tools/annotation/HeightTool.d.ts +36 -0
- package/dist/esm/tools/annotation/HeightTool.js +434 -0
- package/dist/esm/tools/annotation/KeyImageTool.d.ts +34 -0
- package/dist/esm/tools/annotation/KeyImageTool.js +269 -0
- package/dist/esm/tools/annotation/LabelTool.d.ts +35 -0
- package/dist/esm/tools/annotation/LabelTool.js +323 -0
- package/dist/esm/tools/annotation/LengthTool.d.ts +38 -0
- package/dist/esm/tools/annotation/LengthTool.js +468 -0
- package/dist/esm/tools/annotation/LivewireContourSegmentationTool.d.ts +10 -0
- package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +89 -0
- package/dist/esm/tools/annotation/LivewireContourTool.d.ts +67 -0
- package/dist/esm/tools/annotation/LivewireContourTool.js +657 -0
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +9 -0
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +29 -0
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +59 -0
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +530 -0
- package/dist/esm/tools/annotation/ProbeTool.d.ts +35 -0
- package/dist/esm/tools/annotation/ProbeTool.js +363 -0
- package/dist/esm/tools/annotation/RectangleROITool.d.ts +43 -0
- package/dist/esm/tools/annotation/RectangleROITool.js +566 -0
- package/dist/esm/tools/annotation/RegionSegmentPlusTool.d.ts +16 -0
- package/dist/esm/tools/annotation/RegionSegmentPlusTool.js +55 -0
- package/dist/esm/tools/annotation/RegionSegmentTool.d.ts +21 -0
- package/dist/esm/tools/annotation/RegionSegmentTool.js +102 -0
- package/dist/esm/tools/annotation/SplineContourSegmentationTool.d.ts +8 -0
- package/dist/esm/tools/annotation/SplineContourSegmentationTool.js +17 -0
- package/dist/esm/tools/annotation/SplineROITool.d.ts +73 -0
- package/dist/esm/tools/annotation/SplineROITool.js +788 -0
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.d.ts +34 -0
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +461 -0
- package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +46 -0
- package/dist/esm/tools/annotation/VideoRedactionTool.js +442 -0
- package/dist/esm/tools/annotation/WholeBodySegmentTool.d.ts +29 -0
- package/dist/esm/tools/annotation/WholeBodySegmentTool.js +223 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +260 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +289 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js +146 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +4 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +39 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +329 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +48 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +216 -0
- package/dist/esm/tools/annotation/splines/BSpline.d.ts +5 -0
- package/dist/esm/tools/annotation/splines/BSpline.js +9 -0
- package/dist/esm/tools/annotation/splines/CardinalSpline.d.ts +12 -0
- package/dist/esm/tools/annotation/splines/CardinalSpline.js +32 -0
- package/dist/esm/tools/annotation/splines/CatmullRomSpline.d.ts +5 -0
- package/dist/esm/tools/annotation/splines/CatmullRomSpline.js +7 -0
- package/dist/esm/tools/annotation/splines/CubicSpline.d.ts +13 -0
- package/dist/esm/tools/annotation/splines/CubicSpline.js +164 -0
- package/dist/esm/tools/annotation/splines/LinearSpline.d.ts +5 -0
- package/dist/esm/tools/annotation/splines/LinearSpline.js +7 -0
- package/dist/esm/tools/annotation/splines/QuadraticBezier.d.ts +6 -0
- package/dist/esm/tools/annotation/splines/QuadraticBezier.js +15 -0
- package/dist/esm/tools/annotation/splines/QuadraticSpline.d.ts +9 -0
- package/dist/esm/tools/annotation/splines/QuadraticSpline.js +13 -0
- package/dist/esm/tools/annotation/splines/Spline.d.ts +51 -0
- package/dist/esm/tools/annotation/splines/Spline.js +395 -0
- package/dist/esm/tools/annotation/splines/index.d.ts +9 -0
- package/dist/esm/tools/annotation/splines/index.js +9 -0
- package/dist/esm/tools/base/AnnotationDisplayTool.d.ts +14 -0
- package/dist/esm/tools/base/AnnotationDisplayTool.js +98 -0
- package/dist/esm/tools/base/AnnotationTool.d.ts +71 -0
- package/dist/esm/tools/base/AnnotationTool.js +271 -0
- package/dist/esm/tools/base/BaseTool.d.ts +38 -0
- package/dist/esm/tools/base/BaseTool.js +128 -0
- package/dist/esm/tools/base/ContourBaseTool.d.ts +25 -0
- package/dist/esm/tools/base/ContourBaseTool.js +121 -0
- package/dist/esm/tools/base/ContourSegmentationBaseTool.d.ts +19 -0
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +133 -0
- package/dist/esm/tools/base/GrowCutBaseTool.d.ts +64 -0
- package/dist/esm/tools/base/GrowCutBaseTool.js +209 -0
- package/dist/esm/tools/base/index.d.ts +4 -0
- package/dist/esm/tools/base/index.js +4 -0
- package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +3 -0
- package/dist/esm/tools/displayTools/Contour/contourConfig.js +20 -0
- package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +9 -0
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +51 -0
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +5 -0
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +77 -0
- package/dist/esm/tools/displayTools/Contour/contourHandler/utils.d.ts +4 -0
- package/dist/esm/tools/displayTools/Contour/contourHandler/utils.js +41 -0
- package/dist/esm/tools/displayTools/Contour/index.d.ts +2 -0
- package/dist/esm/tools/displayTools/Contour/index.js +2 -0
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.d.ts +2 -0
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +12 -0
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +7 -0
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +93 -0
- package/dist/esm/tools/displayTools/Labelmap/addVolumesAsIndependentComponents.d.ts +10 -0
- package/dist/esm/tools/displayTools/Labelmap/addVolumesAsIndependentComponents.js +123 -0
- package/dist/esm/tools/displayTools/Labelmap/index.d.ts +4 -0
- package/dist/esm/tools/displayTools/Labelmap/index.js +4 -0
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +3 -0
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +17 -0
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +11 -0
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +267 -0
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +2 -0
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +8 -0
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +3 -0
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +67 -0
- package/dist/esm/tools/displayTools/Surface/index.d.ts +2 -0
- package/dist/esm/tools/displayTools/Surface/index.js +2 -0
- package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.d.ts +2 -0
- package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.js +10 -0
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +3 -0
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +8 -0
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +10 -0
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +76 -0
- package/dist/esm/tools/distancePointToContour.d.ts +3 -0
- package/dist/esm/tools/distancePointToContour.js +18 -0
- package/dist/esm/tools/index.d.ts +57 -0
- package/dist/esm/tools/index.js +57 -0
- package/dist/esm/tools/segmentation/BrushTool.d.ts +27 -0
- package/dist/esm/tools/segmentation/BrushTool.js +355 -0
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.d.ts +68 -0
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +478 -0
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +34 -0
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +233 -0
- package/dist/esm/tools/segmentation/LabelmapBaseTool.d.ts +99 -0
- package/dist/esm/tools/segmentation/LabelmapBaseTool.js +289 -0
- package/dist/esm/tools/segmentation/PaintFillTool.d.ts +13 -0
- package/dist/esm/tools/segmentation/PaintFillTool.js +231 -0
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts +69 -0
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +437 -0
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.d.ts +45 -0
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +145 -0
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +32 -0
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +227 -0
- package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +20 -0
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +99 -0
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +33 -0
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +227 -0
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +125 -0
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +156 -0
- package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.d.ts +6 -0
- package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +59 -0
- package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.d.ts +7 -0
- package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +83 -0
- package/dist/esm/tools/segmentation/strategies/compositions/ensureImageVolume.d.ts +4 -0
- package/dist/esm/tools/segmentation/strategies/compositions/ensureImageVolume.js +35 -0
- package/dist/esm/tools/segmentation/strategies/compositions/ensureSegmentationVolume.d.ts +4 -0
- package/dist/esm/tools/segmentation/strategies/compositions/ensureSegmentationVolume.js +20 -0
- package/dist/esm/tools/segmentation/strategies/compositions/erase.d.ts +5 -0
- package/dist/esm/tools/segmentation/strategies/compositions/erase.js +6 -0
- package/dist/esm/tools/segmentation/strategies/compositions/index.d.ts +47 -0
- package/dist/esm/tools/segmentation/strategies/compositions/index.js +24 -0
- package/dist/esm/tools/segmentation/strategies/compositions/islandRemovalComposition.d.ts +5 -0
- package/dist/esm/tools/segmentation/strategies/compositions/islandRemovalComposition.js +28 -0
- package/dist/esm/tools/segmentation/strategies/compositions/labelmapStatistics.d.ts +7 -0
- package/dist/esm/tools/segmentation/strategies/compositions/labelmapStatistics.js +12 -0
- package/dist/esm/tools/segmentation/strategies/compositions/preview.d.ts +8 -0
- package/dist/esm/tools/segmentation/strategies/compositions/preview.js +92 -0
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.d.ts +5 -0
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +23 -0
- package/dist/esm/tools/segmentation/strategies/compositions/setValue.d.ts +8 -0
- package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +29 -0
- package/dist/esm/tools/segmentation/strategies/compositions/threshold.d.ts +5 -0
- package/dist/esm/tools/segmentation/strategies/compositions/threshold.js +21 -0
- package/dist/esm/tools/segmentation/strategies/eraseCircle.d.ts +2 -0
- package/dist/esm/tools/segmentation/strategies/eraseCircle.js +6 -0
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +8 -0
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +13 -0
- package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +2 -0
- package/dist/esm/tools/segmentation/strategies/eraseSphere.js +6 -0
- package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +14 -0
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +71 -0
- package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +6 -0
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js +71 -0
- package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +7 -0
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +40 -0
- package/dist/esm/tools/segmentation/strategies/index.d.ts +3 -0
- package/dist/esm/tools/segmentation/strategies/index.js +3 -0
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.d.ts +15 -0
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +112 -0
- package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +5 -0
- package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js +8 -0
- package/dist/esm/types/AnnotationGroupSelector.d.ts +2 -0
- package/dist/esm/types/AnnotationGroupSelector.js +0 -0
- package/dist/esm/types/AnnotationRenderContext.d.ts +12 -0
- package/dist/esm/types/AnnotationRenderContext.js +0 -0
- package/dist/esm/types/AnnotationStyle.d.ts +30 -0
- package/dist/esm/types/AnnotationStyle.js +0 -0
- package/dist/esm/types/AnnotationTypes.d.ts +45 -0
- package/dist/esm/types/AnnotationTypes.js +0 -0
- package/dist/esm/types/BoundsIJK.d.ts +3 -0
- package/dist/esm/types/BoundsIJK.js +0 -0
- package/dist/esm/types/CINETypes.d.ts +30 -0
- package/dist/esm/types/CINETypes.js +0 -0
- package/dist/esm/types/CalculatorTypes.d.ts +42 -0
- package/dist/esm/types/CalculatorTypes.js +0 -0
- package/dist/esm/types/CardinalSplineProps.d.ts +5 -0
- package/dist/esm/types/CardinalSplineProps.js +0 -0
- package/dist/esm/types/ClosestControlPoint.d.ts +4 -0
- package/dist/esm/types/ClosestControlPoint.js +0 -0
- package/dist/esm/types/ClosestPoint.d.ts +5 -0
- package/dist/esm/types/ClosestPoint.js +0 -0
- package/dist/esm/types/ClosestSplinePoint.d.ts +4 -0
- package/dist/esm/types/ClosestSplinePoint.js +0 -0
- package/dist/esm/types/ContourAnnotation.d.ts +20 -0
- package/dist/esm/types/ContourAnnotation.js +6 -0
- package/dist/esm/types/ContourSegmentationAnnotation.d.ts +24 -0
- package/dist/esm/types/ContourSegmentationAnnotation.js +0 -0
- package/dist/esm/types/ContourTypes.d.ts +27 -0
- package/dist/esm/types/ContourTypes.js +0 -0
- package/dist/esm/types/ControlPointInfo.d.ts +5 -0
- package/dist/esm/types/ControlPointInfo.js +0 -0
- package/dist/esm/types/CursorTypes.d.ts +18 -0
- package/dist/esm/types/CursorTypes.js +0 -0
- package/dist/esm/types/EventTypes.d.ts +234 -0
- package/dist/esm/types/EventTypes.js +0 -0
- package/dist/esm/types/FloodFillTypes.d.ts +16 -0
- package/dist/esm/types/FloodFillTypes.js +0 -0
- package/dist/esm/types/IAnnotationManager.d.ts +14 -0
- package/dist/esm/types/IAnnotationManager.js +0 -0
- package/dist/esm/types/IBaseTool.d.ts +2 -0
- package/dist/esm/types/IBaseTool.js +0 -0
- package/dist/esm/types/IDistance.d.ts +7 -0
- package/dist/esm/types/IDistance.js +0 -0
- package/dist/esm/types/IPoints.d.ts +8 -0
- package/dist/esm/types/IPoints.js +0 -0
- package/dist/esm/types/ISculptToolShape.d.ts +12 -0
- package/dist/esm/types/ISculptToolShape.js +0 -0
- package/dist/esm/types/ISetToolModeOptions.d.ts +16 -0
- package/dist/esm/types/ISetToolModeOptions.js +0 -0
- package/dist/esm/types/ISpline.d.ts +30 -0
- package/dist/esm/types/ISpline.js +0 -0
- package/dist/esm/types/ISynchronizerEventHandler.d.ts +5 -0
- package/dist/esm/types/ISynchronizerEventHandler.js +0 -0
- package/dist/esm/types/IToolClassReference.d.ts +3 -0
- package/dist/esm/types/IToolClassReference.js +0 -0
- package/dist/esm/types/IToolGroup.d.ts +3 -0
- package/dist/esm/types/IToolGroup.js +0 -0
- package/dist/esm/types/ITouchPoints.d.ts +11 -0
- package/dist/esm/types/ITouchPoints.js +0 -0
- package/dist/esm/types/InteractionTypes.d.ts +2 -0
- package/dist/esm/types/InteractionTypes.js +0 -0
- package/dist/esm/types/InternalToolTypes.d.ts +15 -0
- package/dist/esm/types/InternalToolTypes.js +0 -0
- package/dist/esm/types/InterpolationTypes.d.ts +20 -0
- package/dist/esm/types/InterpolationTypes.js +0 -0
- package/dist/esm/types/LabelmapToolOperationData.d.ts +26 -0
- package/dist/esm/types/LabelmapToolOperationData.js +0 -0
- package/dist/esm/types/LabelmapTypes.d.ts +29 -0
- package/dist/esm/types/LabelmapTypes.js +0 -0
- package/dist/esm/types/PlanarBoundingBox.d.ts +7 -0
- package/dist/esm/types/PlanarBoundingBox.js +0 -0
- package/dist/esm/types/SVGDrawingHelper.d.ts +9 -0
- package/dist/esm/types/SVGDrawingHelper.js +0 -0
- package/dist/esm/types/SegmentationStateTypes.d.ts +96 -0
- package/dist/esm/types/SegmentationStateTypes.js +0 -0
- package/dist/esm/types/SplineCurveSegment.d.ts +14 -0
- package/dist/esm/types/SplineCurveSegment.js +0 -0
- package/dist/esm/types/SplineLineSegment.d.ts +10 -0
- package/dist/esm/types/SplineLineSegment.js +0 -0
- package/dist/esm/types/SplineProps.d.ts +5 -0
- package/dist/esm/types/SplineProps.js +0 -0
- package/dist/esm/types/SurfaceTypes.d.ts +5 -0
- package/dist/esm/types/SurfaceTypes.js +0 -0
- package/dist/esm/types/ToolAction.d.ts +8 -0
- package/dist/esm/types/ToolAction.js +0 -0
- package/dist/esm/types/ToolHandle.d.ts +15 -0
- package/dist/esm/types/ToolHandle.js +0 -0
- package/dist/esm/types/ToolProps.d.ts +13 -0
- package/dist/esm/types/ToolProps.js +0 -0
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +477 -0
- package/dist/esm/types/ToolSpecificAnnotationTypes.js +0 -0
- package/dist/esm/types/index.d.ts +49 -0
- package/dist/esm/types/index.js +0 -0
- package/dist/esm/utilities/AnnotationMultiSlice.d.ts +11 -0
- package/dist/esm/utilities/AnnotationMultiSlice.js +68 -0
- package/dist/esm/utilities/BucketQueue.d.ts +20 -0
- package/dist/esm/utilities/BucketQueue.js +78 -0
- package/dist/esm/utilities/annotationHydration.d.ts +9 -0
- package/dist/esm/utilities/annotationHydration.js +82 -0
- package/dist/esm/utilities/boundingBox/extend2DBoundingBoxInViewAxis.d.ts +3 -0
- package/dist/esm/utilities/boundingBox/extend2DBoundingBoxInViewAxis.js +10 -0
- package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.d.ts +5 -0
- package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js +55 -0
- package/dist/esm/utilities/boundingBox/index.d.ts +3 -0
- package/dist/esm/utilities/boundingBox/index.js +3 -0
- package/dist/esm/utilities/calibrateImageSpacing.d.ts +2 -0
- package/dist/esm/utilities/calibrateImageSpacing.js +18 -0
- package/dist/esm/utilities/cine/events.d.ts +5 -0
- package/dist/esm/utilities/cine/events.js +6 -0
- package/dist/esm/utilities/cine/index.d.ts +4 -0
- package/dist/esm/utilities/cine/index.js +4 -0
- package/dist/esm/utilities/cine/playClip.d.ts +8 -0
- package/dist/esm/utilities/cine/playClip.js +352 -0
- package/dist/esm/utilities/cine/state.d.ts +5 -0
- package/dist/esm/utilities/cine/state.js +16 -0
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +2 -0
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +24 -0
- package/dist/esm/utilities/contourSegmentation/areSameSegment.d.ts +2 -0
- package/dist/esm/utilities/contourSegmentation/areSameSegment.js +6 -0
- package/dist/esm/utilities/contourSegmentation/index.d.ts +4 -0
- package/dist/esm/utilities/contourSegmentation/index.js +4 -0
- package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +3 -0
- package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.js +3 -0
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +2 -0
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +17 -0
- package/dist/esm/utilities/contours/AnnotationToPointData.d.ts +11 -0
- package/dist/esm/utilities/contours/AnnotationToPointData.js +38 -0
- package/dist/esm/utilities/contours/RectangleROIStartEndThreshold.d.ts +6 -0
- package/dist/esm/utilities/contours/RectangleROIStartEndThreshold.js +40 -0
- package/dist/esm/utilities/contours/areCoplanarContours.d.ts +2 -0
- package/dist/esm/utilities/contours/areCoplanarContours.js +15 -0
- package/dist/esm/utilities/contours/calculatePerimeter.d.ts +2 -0
- package/dist/esm/utilities/contours/calculatePerimeter.js +16 -0
- package/dist/esm/utilities/contours/contourFinder.d.ts +7 -0
- package/dist/esm/utilities/contours/contourFinder.js +62 -0
- package/dist/esm/utilities/contours/detectContourHoles.d.ts +5 -0
- package/dist/esm/utilities/contours/detectContourHoles.js +73 -0
- package/dist/esm/utilities/contours/findHandlePolylineIndex.d.ts +2 -0
- package/dist/esm/utilities/contours/findHandlePolylineIndex.js +31 -0
- package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.d.ts +4 -0
- package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +110 -0
- package/dist/esm/utilities/contours/getContourHolesDataCanvas.d.ts +3 -0
- package/dist/esm/utilities/contours/getContourHolesDataCanvas.js +14 -0
- package/dist/esm/utilities/contours/getContourHolesDataWorld.d.ts +3 -0
- package/dist/esm/utilities/contours/getContourHolesDataWorld.js +5 -0
- package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +11 -0
- package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +45 -0
- package/dist/esm/utilities/contours/index.d.ts +13 -0
- package/dist/esm/utilities/contours/index.js +13 -0
- package/dist/esm/utilities/contours/interpolation/acceptAutogeneratedInterpolations.d.ts +3 -0
- package/dist/esm/utilities/contours/interpolation/acceptAutogeneratedInterpolations.js +4 -0
- package/dist/esm/utilities/contours/interpolation/createPolylineToolData.d.ts +2 -0
- package/dist/esm/utilities/contours/interpolation/createPolylineToolData.js +38 -0
- package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.d.ts +7 -0
- package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.js +106 -0
- package/dist/esm/utilities/contours/interpolation/getInterpolationData.d.ts +7 -0
- package/dist/esm/utilities/contours/interpolation/getInterpolationData.js +47 -0
- package/dist/esm/utilities/contours/interpolation/getInterpolationDataCollection.d.ts +4 -0
- package/dist/esm/utilities/contours/interpolation/getInterpolationDataCollection.js +14 -0
- package/dist/esm/utilities/contours/interpolation/interpolate.d.ts +11 -0
- package/dist/esm/utilities/contours/interpolation/interpolate.js +339 -0
- package/dist/esm/utilities/contours/interpolation/selectHandles.d.ts +4 -0
- package/dist/esm/utilities/contours/interpolation/selectHandles.js +162 -0
- package/dist/esm/utilities/contours/interpolation/updateChildInterpolationUID.d.ts +2 -0
- package/dist/esm/utilities/contours/interpolation/updateChildInterpolationUID.js +12 -0
- package/dist/esm/utilities/contours/reverseIfAntiClockwise.d.ts +2 -0
- package/dist/esm/utilities/contours/reverseIfAntiClockwise.js +11 -0
- package/dist/esm/utilities/contours/updateContourPolyline.d.ts +17 -0
- package/dist/esm/utilities/contours/updateContourPolyline.js +52 -0
- package/dist/esm/utilities/debounce.d.ts +6 -0
- package/dist/esm/utilities/debounce.js +113 -0
- package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.d.ts +2 -0
- package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.js +24 -0
- package/dist/esm/utilities/drawing/index.d.ts +2 -0
- package/dist/esm/utilities/drawing/index.js +2 -0
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.d.ts +12 -0
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js +98 -0
- package/dist/esm/utilities/dynamicVolume/getDataInTime.d.ts +8 -0
- package/dist/esm/utilities/dynamicVolume/getDataInTime.js +111 -0
- package/dist/esm/utilities/dynamicVolume/index.d.ts +4 -0
- package/dist/esm/utilities/dynamicVolume/index.js +4 -0
- package/dist/esm/utilities/geometricSurfaceUtils.d.ts +8 -0
- package/dist/esm/utilities/geometricSurfaceUtils.js +103 -0
- package/dist/esm/utilities/getAnnotationNearPoint.d.ts +5 -0
- package/dist/esm/utilities/getAnnotationNearPoint.js +46 -0
- package/dist/esm/utilities/getCalibratedUnits.d.ts +16 -0
- package/dist/esm/utilities/getCalibratedUnits.js +155 -0
- package/dist/esm/utilities/getPixelValueUnits.d.ts +8 -0
- package/dist/esm/utilities/getPixelValueUnits.js +31 -0
- package/dist/esm/utilities/getSphereBoundsInfo.d.ts +14 -0
- package/dist/esm/utilities/getSphereBoundsInfo.js +64 -0
- package/dist/esm/utilities/getToolsWithModesForElement.d.ts +4 -0
- package/dist/esm/utilities/getToolsWithModesForElement.js +24 -0
- package/dist/esm/utilities/getVOIMultipliers.d.ts +5 -0
- package/dist/esm/utilities/getVOIMultipliers.js +18 -0
- package/dist/esm/utilities/getViewportForAnnotation.d.ts +3 -0
- package/dist/esm/utilities/getViewportForAnnotation.js +5 -0
- package/dist/esm/utilities/getViewportsForAnnotation.d.ts +3 -0
- package/dist/esm/utilities/getViewportsForAnnotation.js +16 -0
- package/dist/esm/utilities/index.d.ts +40 -0
- package/dist/esm/utilities/index.js +40 -0
- package/dist/esm/utilities/isObject.d.ts +2 -0
- package/dist/esm/utilities/isObject.js +5 -0
- package/dist/esm/utilities/livewire/LiveWirePath.d.ts +19 -0
- package/dist/esm/utilities/livewire/LiveWirePath.js +71 -0
- package/dist/esm/utilities/livewire/LivewireScissors.d.ts +38 -0
- package/dist/esm/utilities/livewire/LivewireScissors.js +305 -0
- package/dist/esm/utilities/math/aabb/distanceToPoint.d.ts +2 -0
- package/dist/esm/utilities/math/aabb/distanceToPoint.js +4 -0
- package/dist/esm/utilities/math/aabb/distanceToPointSquared.d.ts +2 -0
- package/dist/esm/utilities/math/aabb/distanceToPointSquared.js +20 -0
- package/dist/esm/utilities/math/aabb/index.d.ts +3 -0
- package/dist/esm/utilities/math/aabb/index.js +3 -0
- package/dist/esm/utilities/math/aabb/intersectAABB.d.ts +2 -0
- package/dist/esm/utilities/math/aabb/intersectAABB.js +6 -0
- package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +6 -0
- package/dist/esm/utilities/math/angle/angleBetweenLines.js +30 -0
- package/dist/esm/utilities/math/angle/index.d.ts +2 -0
- package/dist/esm/utilities/math/angle/index.js +2 -0
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +26 -0
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +119 -0
- package/dist/esm/utilities/math/basic/Calculator.d.ts +8 -0
- package/dist/esm/utilities/math/basic/Calculator.js +3 -0
- package/dist/esm/utilities/math/basic/index.d.ts +3 -0
- package/dist/esm/utilities/math/basic/index.js +3 -0
- package/dist/esm/utilities/math/circle/_types.d.ts +5 -0
- package/dist/esm/utilities/math/circle/_types.js +0 -0
- package/dist/esm/utilities/math/circle/getCanvasCircleCorners.d.ts +3 -0
- package/dist/esm/utilities/math/circle/getCanvasCircleCorners.js +8 -0
- package/dist/esm/utilities/math/circle/getCanvasCircleRadius.d.ts +2 -0
- package/dist/esm/utilities/math/circle/getCanvasCircleRadius.js +5 -0
- package/dist/esm/utilities/math/circle/index.d.ts +3 -0
- package/dist/esm/utilities/math/circle/index.js +3 -0
- package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +8 -0
- package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.js +6 -0
- package/dist/esm/utilities/math/ellipse/index.d.ts +3 -0
- package/dist/esm/utilities/math/ellipse/index.js +3 -0
- package/dist/esm/utilities/math/ellipse/pointInEllipse.d.ts +11 -0
- package/dist/esm/utilities/math/ellipse/pointInEllipse.js +36 -0
- package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +9 -0
- package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.js +2 -0
- package/dist/esm/utilities/math/index.d.ts +11 -0
- package/dist/esm/utilities/math/index.js +11 -0
- package/dist/esm/utilities/math/line/distanceToPoint.d.ts +2 -0
- package/dist/esm/utilities/math/line/distanceToPoint.js +7 -0
- package/dist/esm/utilities/math/line/distanceToPointSquared.d.ts +2 -0
- package/dist/esm/utilities/math/line/distanceToPointSquared.js +4 -0
- package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.d.ts +5 -0
- package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +29 -0
- package/dist/esm/utilities/math/line/index.d.ts +6 -0
- package/dist/esm/utilities/math/line/index.js +6 -0
- package/dist/esm/utilities/math/line/intersectLine.d.ts +2 -0
- package/dist/esm/utilities/math/line/intersectLine.js +41 -0
- package/dist/esm/utilities/math/line/isPointOnLineSegment.d.ts +2 -0
- package/dist/esm/utilities/math/line/isPointOnLineSegment.js +18 -0
- package/dist/esm/utilities/math/midPoint.d.ts +5 -0
- package/dist/esm/utilities/math/midPoint.js +15 -0
- package/dist/esm/utilities/math/point/distanceToPoint.d.ts +4 -0
- package/dist/esm/utilities/math/point/distanceToPoint.js +4 -0
- package/dist/esm/utilities/math/point/distanceToPointSquared.d.ts +4 -0
- package/dist/esm/utilities/math/point/distanceToPointSquared.js +11 -0
- package/dist/esm/utilities/math/point/index.d.ts +3 -0
- package/dist/esm/utilities/math/point/index.js +3 -0
- package/dist/esm/utilities/math/point/mirror.d.ts +2 -0
- package/dist/esm/utilities/math/point/mirror.js +7 -0
- package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.d.ts +4 -0
- package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.js +38 -0
- package/dist/esm/utilities/math/polyline/areLineSegmentsIntersecting.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/areLineSegmentsIntersecting.js +55 -0
- package/dist/esm/utilities/math/polyline/combinePolyline.d.ts +4 -0
- package/dist/esm/utilities/math/polyline/combinePolyline.js +186 -0
- package/dist/esm/utilities/math/polyline/containsPoint.d.ts +5 -0
- package/dist/esm/utilities/math/polyline/containsPoint.js +39 -0
- package/dist/esm/utilities/math/polyline/containsPoints.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/containsPoints.js +9 -0
- package/dist/esm/utilities/math/polyline/decimate.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/decimate.js +46 -0
- package/dist/esm/utilities/math/polyline/getAABB.d.ts +4 -0
- package/dist/esm/utilities/math/polyline/getAABB.js +40 -0
- package/dist/esm/utilities/math/polyline/getArea.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getArea.js +10 -0
- package/dist/esm/utilities/math/polyline/getClosestLineSegmentIntersection.d.ts +5 -0
- package/dist/esm/utilities/math/polyline/getClosestLineSegmentIntersection.js +44 -0
- package/dist/esm/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.js +21 -0
- package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.js +13 -0
- package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsIndexes.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsIndexes.js +15 -0
- package/dist/esm/utilities/math/polyline/getLinesIntersection.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getLinesIntersection.js +51 -0
- package/dist/esm/utilities/math/polyline/getNormal2.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getNormal2.js +5 -0
- package/dist/esm/utilities/math/polyline/getNormal3.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getNormal3.js +25 -0
- package/dist/esm/utilities/math/polyline/getSignedArea.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getSignedArea.js +19 -0
- package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.d.ts +7 -0
- package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js +72 -0
- package/dist/esm/utilities/math/polyline/getWindingDirection.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/getWindingDirection.js +5 -0
- package/dist/esm/utilities/math/polyline/index.d.ts +23 -0
- package/dist/esm/utilities/math/polyline/index.js +23 -0
- package/dist/esm/utilities/math/polyline/intersectPolyline.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/intersectPolyline.js +13 -0
- package/dist/esm/utilities/math/polyline/isClosed.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/isClosed.js +12 -0
- package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.d.ts +4 -0
- package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js +25 -0
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +25 -0
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js +0 -0
- package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.d.ts +3 -0
- package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.js +32 -0
- package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.d.ts +3 -0
- package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.js +5 -0
- package/dist/esm/utilities/math/polyline/projectTo2D.d.ts +5 -0
- package/dist/esm/utilities/math/polyline/projectTo2D.js +25 -0
- package/dist/esm/utilities/math/rectangle/distanceToPoint.d.ts +2 -0
- package/dist/esm/utilities/math/rectangle/distanceToPoint.js +34 -0
- package/dist/esm/utilities/math/rectangle/index.d.ts +2 -0
- package/dist/esm/utilities/math/rectangle/index.js +2 -0
- package/dist/esm/utilities/math/sphere/index.d.ts +2 -0
- package/dist/esm/utilities/math/sphere/index.js +2 -0
- package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +9 -0
- package/dist/esm/utilities/math/sphere/pointInSphere.js +8 -0
- package/dist/esm/utilities/math/vec2/findClosestPoint.d.ts +2 -0
- package/dist/esm/utilities/math/vec2/findClosestPoint.js +17 -0
- package/dist/esm/utilities/math/vec2/index.d.ts +3 -0
- package/dist/esm/utilities/math/vec2/index.js +3 -0
- package/dist/esm/utilities/math/vec2/liangBarksyClip.d.ts +1 -0
- package/dist/esm/utilities/math/vec2/liangBarksyClip.js +68 -0
- package/dist/esm/utilities/math/vec3/interpolateVec3.d.ts +2 -0
- package/dist/esm/utilities/math/vec3/interpolateVec3.js +8 -0
- package/dist/esm/utilities/normalizeViewportPlane.d.ts +19 -0
- package/dist/esm/utilities/normalizeViewportPlane.js +35 -0
- package/dist/esm/utilities/orientation/getOrientationStringLPS.d.ts +2 -0
- package/dist/esm/utilities/orientation/getOrientationStringLPS.js +41 -0
- package/dist/esm/utilities/orientation/index.d.ts +3 -0
- package/dist/esm/utilities/orientation/index.js +3 -0
- package/dist/esm/utilities/orientation/invertOrientationStringLPS.d.ts +1 -0
- package/dist/esm/utilities/orientation/invertOrientationStringLPS.js +10 -0
- package/dist/esm/utilities/planar/filterAnnotationsForDisplay.d.ts +3 -0
- package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +26 -0
- package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.d.ts +3 -0
- package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.js +26 -0
- package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.d.ts +3 -0
- package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.js +46 -0
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +6 -0
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js +49 -0
- package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.d.ts +5 -0
- package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.js +18 -0
- package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.d.ts +5 -0
- package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.js +18 -0
- package/dist/esm/utilities/planar/index.d.ts +19 -0
- package/dist/esm/utilities/planar/index.js +18 -0
- package/dist/esm/utilities/planar/isPlaneIntersectingAABB.d.ts +1 -0
- package/dist/esm/utilities/planar/isPlaneIntersectingAABB.js +27 -0
- package/dist/esm/utilities/planarFreehandROITool/index.d.ts +6 -0
- package/dist/esm/utilities/planarFreehandROITool/index.js +5 -0
- package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.d.ts +2 -0
- package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.js +22 -0
- package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.d.ts +2 -0
- package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.js +41 -0
- package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.d.ts +6 -0
- package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +56 -0
- package/dist/esm/utilities/planarFreehandROITool/smoothPoints.d.ts +11 -0
- package/dist/esm/utilities/planarFreehandROITool/smoothPoints.js +91 -0
- package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +8 -0
- package/dist/esm/utilities/pointInSurroundingSphereCallback.js +71 -0
- package/dist/esm/utilities/pointToString.d.ts +1 -0
- package/dist/esm/utilities/pointToString.js +8 -0
- package/dist/esm/utilities/polyData/utils.d.ts +5 -0
- package/dist/esm/utilities/polyData/utils.js +53 -0
- package/dist/esm/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.d.ts +5 -0
- package/dist/esm/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.js +44 -0
- package/dist/esm/utilities/rectangleROITool/index.d.ts +3 -0
- package/dist/esm/utilities/rectangleROITool/index.js +3 -0
- package/dist/esm/utilities/rectangleROITool/isAxisAlignedRectangle.d.ts +2 -0
- package/dist/esm/utilities/rectangleROITool/isAxisAlignedRectangle.js +22 -0
- package/dist/esm/utilities/registerComputeWorker.d.ts +1 -0
- package/dist/esm/utilities/registerComputeWorker.js +23 -0
- package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts +11 -0
- package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.js +177 -0
- package/dist/esm/utilities/segmentation/InterpolationManager/deleteRelatedAnnotations.d.ts +2 -0
- package/dist/esm/utilities/segmentation/InterpolationManager/deleteRelatedAnnotations.js +66 -0
- package/dist/esm/utilities/segmentation/VolumetricCalculator.d.ts +15 -0
- package/dist/esm/utilities/segmentation/VolumetricCalculator.js +48 -0
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -0
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +40 -0
- package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.d.ts +7 -0
- package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +45 -0
- package/dist/esm/utilities/segmentation/computeAndAddRepresentation.d.ts +3 -0
- package/dist/esm/utilities/segmentation/computeAndAddRepresentation.js +45 -0
- package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.d.ts +1 -0
- package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js +23 -0
- package/dist/esm/utilities/segmentation/createBidirectionalToolData.d.ts +14 -0
- package/dist/esm/utilities/segmentation/createBidirectionalToolData.js +35 -0
- package/dist/esm/utilities/segmentation/createLabelmapMemo.d.ts +44 -0
- package/dist/esm/utilities/segmentation/createLabelmapMemo.js +68 -0
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +9 -0
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +28 -0
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +3 -0
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +34 -0
- package/dist/esm/utilities/segmentation/findLargestBidirectional.d.ts +1 -0
- package/dist/esm/utilities/segmentation/findLargestBidirectional.js +95 -0
- package/dist/esm/utilities/segmentation/floodFill.d.ts +4 -0
- package/dist/esm/utilities/segmentation/floodFill.js +120 -0
- package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
- package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
- package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +1 -0
- package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +13 -0
- package/dist/esm/utilities/segmentation/getOrCreateSegmentationVolume.d.ts +2 -0
- package/dist/esm/utilities/segmentation/getOrCreateSegmentationVolume.js +21 -0
- package/dist/esm/utilities/segmentation/getSVGStyleForSegment.d.ts +17 -0
- package/dist/esm/utilities/segmentation/getSVGStyleForSegment.js +68 -0
- package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.d.ts +7 -0
- package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +76 -0
- package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.d.ts +11 -0
- package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +74 -0
- package/dist/esm/utilities/segmentation/getStatistics.d.ts +5 -0
- package/dist/esm/utilities/segmentation/getStatistics.js +210 -0
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +2 -0
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +80 -0
- package/dist/esm/utilities/segmentation/growCut/growCutShader.d.ts +2 -0
- package/dist/esm/utilities/segmentation/growCut/growCutShader.js +106 -0
- package/dist/esm/utilities/segmentation/growCut/index.d.ts +7 -0
- package/dist/esm/utilities/segmentation/growCut/index.js +4 -0
- package/dist/esm/utilities/segmentation/growCut/runGrowCut.d.ts +16 -0
- package/dist/esm/utilities/segmentation/growCut/runGrowCut.js +269 -0
- package/dist/esm/utilities/segmentation/growCut/runGrowCutForBoundingBox.d.ts +15 -0
- package/dist/esm/utilities/segmentation/growCut/runGrowCutForBoundingBox.js +110 -0
- package/dist/esm/utilities/segmentation/growCut/runGrowCutForSphere.d.ts +9 -0
- package/dist/esm/utilities/segmentation/growCut/runGrowCutForSphere.js +164 -0
- package/dist/esm/utilities/segmentation/growCut/runOneClickGrowCut.d.ts +9 -0
- package/dist/esm/utilities/segmentation/growCut/runOneClickGrowCut.js +176 -0
- package/dist/esm/utilities/segmentation/index.d.ts +28 -0
- package/dist/esm/utilities/segmentation/index.js +28 -0
- package/dist/esm/utilities/segmentation/invalidateBrushCursor.d.ts +1 -0
- package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +20 -0
- package/dist/esm/utilities/segmentation/isLineInSegment.d.ts +9 -0
- package/dist/esm/utilities/segmentation/isLineInSegment.js +49 -0
- package/dist/esm/utilities/segmentation/islandRemoval.d.ts +28 -0
- package/dist/esm/utilities/segmentation/islandRemoval.js +181 -0
- package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +20 -0
- package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +35 -0
- package/dist/esm/utilities/segmentation/segmentContourAction.d.ts +17 -0
- package/dist/esm/utilities/segmentation/segmentContourAction.js +95 -0
- package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.d.ts +4 -0
- package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.js +58 -0
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +11 -0
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +79 -0
- package/dist/esm/utilities/segmentation/utilities.d.ts +25 -0
- package/dist/esm/utilities/segmentation/utilities.js +86 -0
- package/dist/esm/utilities/segmentation/validateLabelmap.d.ts +4 -0
- package/dist/esm/utilities/segmentation/validateLabelmap.js +32 -0
- package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -0
- package/dist/esm/utilities/stackPrefetch/index.js +3 -0
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +221 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +14 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +150 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +76 -0
- package/dist/esm/utilities/stackPrefetch/state.d.ts +22 -0
- package/dist/esm/utilities/stackPrefetch/state.js +13 -0
- package/dist/esm/utilities/throttle.d.ts +5 -0
- package/dist/esm/utilities/throttle.js +19 -0
- package/dist/esm/utilities/touch/index.d.ts +10 -0
- package/dist/esm/utilities/touch/index.js +152 -0
- package/dist/esm/utilities/triggerAnnotationRender.d.ts +2 -0
- package/dist/esm/utilities/triggerAnnotationRender.js +5 -0
- package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +2 -0
- package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js +24 -0
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.d.ts +2 -0
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js +22 -0
- package/dist/esm/utilities/viewport/index.d.ts +2 -0
- package/dist/esm/utilities/viewport/index.js +2 -0
- package/dist/esm/utilities/viewport/isViewportPreScaled.d.ts +3 -0
- package/dist/esm/utilities/viewport/isViewportPreScaled.js +16 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.d.ts +2 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js +11 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithParallelNormals.d.ts +2 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithParallelNormals.js +10 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.d.ts +2 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.js +9 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.d.ts +2 -0
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +28 -0
- package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
- package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.js +17 -0
- package/dist/esm/utilities/viewportFilters/index.d.ts +5 -0
- package/dist/esm/utilities/viewportFilters/index.js +5 -0
- package/dist/esm/utilities/voi/colorbar/Colorbar.d.ts +44 -0
- package/dist/esm/utilities/voi/colorbar/Colorbar.js +242 -0
- package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.d.ts +29 -0
- package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.js +182 -0
- package/dist/esm/utilities/voi/colorbar/ColorbarTicks.d.ts +46 -0
- package/dist/esm/utilities/voi/colorbar/ColorbarTicks.js +280 -0
- package/dist/esm/utilities/voi/colorbar/ViewportColorbar.d.ts +25 -0
- package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +146 -0
- package/dist/esm/utilities/voi/colorbar/common/areColorbarRangesEqual.d.ts +3 -0
- package/dist/esm/utilities/voi/colorbar/common/areColorbarRangesEqual.js +4 -0
- package/dist/esm/utilities/voi/colorbar/common/areColorbarSizesEqual.d.ts +3 -0
- package/dist/esm/utilities/voi/colorbar/common/areColorbarSizesEqual.js +4 -0
- package/dist/esm/utilities/voi/colorbar/common/index.d.ts +4 -0
- package/dist/esm/utilities/voi/colorbar/common/index.js +4 -0
- package/dist/esm/utilities/voi/colorbar/common/isColorbarSizeValid.d.ts +3 -0
- package/dist/esm/utilities/voi/colorbar/common/isColorbarSizeValid.js +4 -0
- package/dist/esm/utilities/voi/colorbar/common/isRangeTextPositionValid.d.ts +3 -0
- package/dist/esm/utilities/voi/colorbar/common/isRangeTextPositionValid.js +9 -0
- package/dist/esm/utilities/voi/colorbar/common/isRangeValid.d.ts +3 -0
- package/dist/esm/utilities/voi/colorbar/common/isRangeValid.js +4 -0
- package/dist/esm/utilities/voi/colorbar/enums/ColorbarRangeTextPosition.d.ts +6 -0
- package/dist/esm/utilities/voi/colorbar/enums/ColorbarRangeTextPosition.js +7 -0
- package/dist/esm/utilities/voi/colorbar/enums/index.d.ts +1 -0
- package/dist/esm/utilities/voi/colorbar/enums/index.js +1 -0
- package/dist/esm/utilities/voi/colorbar/index.d.ts +6 -0
- package/dist/esm/utilities/voi/colorbar/index.js +4 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.d.ts +12 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.d.ts +11 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.d.ts +4 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.d.ts +7 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.d.ts +4 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.d.ts +7 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.d.ts +8 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.d.ts +2 -0
- package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.d.ts +5 -0
- package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.js +0 -0
- package/dist/esm/utilities/voi/colorbar/types/index.d.ts +8 -0
- package/dist/esm/utilities/voi/colorbar/types/index.js +0 -0
- package/dist/esm/utilities/voi/index.d.ts +3 -0
- package/dist/esm/utilities/voi/index.js +3 -0
- package/dist/esm/utilities/voi/windowlevel/calculateMinMaxMean.d.ts +6 -0
- package/dist/esm/utilities/voi/windowlevel/calculateMinMaxMean.js +25 -0
- package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.d.ts +11 -0
- package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.js +42 -0
- package/dist/esm/utilities/voi/windowlevel/getLuminanceFromRegion.d.ts +2 -0
- package/dist/esm/utilities/voi/windowlevel/getLuminanceFromRegion.js +27 -0
- package/dist/esm/utilities/voi/windowlevel/index.d.ts +4 -0
- package/dist/esm/utilities/voi/windowlevel/index.js +4 -0
- package/dist/esm/widgets/Widget.d.ts +17 -0
- package/dist/esm/widgets/Widget.js +66 -0
- package/dist/esm/widgets/types/WidgetProps.d.ts +4 -0
- package/dist/esm/widgets/types/WidgetProps.js +0 -0
- package/dist/esm/widgets/types/WidgetSize.d.ts +4 -0
- package/dist/esm/widgets/types/WidgetSize.js +0 -0
- package/dist/esm/widgets/types/index.d.ts +2 -0
- package/dist/esm/widgets/types/index.js +0 -0
- package/dist/esm/workers/computeWorker.d.ts +1 -0
- package/dist/esm/workers/computeWorker.js +78 -0
- package/package.json +113 -100
- package/changelog.md +0 -304
- package/dist/cornerstoneTools.js +0 -27391
- package/dist/cornerstoneTools.js.map +0 -1
- package/dist/cornerstoneTools.min.js +0 -3
- package/dist/cornerstoneTools.min.js.map +0 -1
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { cache } from '@cornerstonejs/core';
|
|
2
|
+
import shaderCode from './growCutShader';
|
|
3
|
+
const GB = 1024 * 1024 * 1024;
|
|
4
|
+
const WEBGPU_MEMORY_LIMIT = 1.99 * GB;
|
|
5
|
+
const DEFAULT_GROWCUT_OPTIONS = {
|
|
6
|
+
windowSize: 3,
|
|
7
|
+
maxProcessingTime: 30000,
|
|
8
|
+
inspection: {
|
|
9
|
+
numCyclesInterval: 5,
|
|
10
|
+
numCyclesBelowThreshold: 3,
|
|
11
|
+
threshold: 1e-4,
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
async function runGrowCut(referenceVolumeId, labelmapVolumeId, options = DEFAULT_GROWCUT_OPTIONS) {
|
|
15
|
+
const workGroupSize = [8, 8, 4];
|
|
16
|
+
const { windowSize, maxProcessingTime } = Object.assign({}, DEFAULT_GROWCUT_OPTIONS, options);
|
|
17
|
+
const inspection = Object.assign({}, DEFAULT_GROWCUT_OPTIONS.inspection, options.inspection);
|
|
18
|
+
const volume = cache.getVolume(referenceVolumeId);
|
|
19
|
+
const labelmap = cache.getVolume(labelmapVolumeId);
|
|
20
|
+
const [columns, rows, numSlices] = volume.dimensions;
|
|
21
|
+
if (labelmap.dimensions[0] !== columns ||
|
|
22
|
+
labelmap.dimensions[1] !== rows ||
|
|
23
|
+
labelmap.dimensions[2] !== numSlices) {
|
|
24
|
+
throw new Error('Volume and labelmap must have the same size');
|
|
25
|
+
}
|
|
26
|
+
const numIterations = Math.floor(Math.sqrt(rows ** 2 + columns ** 2 + numSlices ** 2) / 2);
|
|
27
|
+
const labelmapData = labelmap.voxelManager.getCompleteScalarDataArray();
|
|
28
|
+
let volumePixelData = volume.voxelManager.getCompleteScalarDataArray();
|
|
29
|
+
if (!(volumePixelData instanceof Float32Array)) {
|
|
30
|
+
volumePixelData = new Float32Array(volumePixelData);
|
|
31
|
+
}
|
|
32
|
+
const requiredLimits = {
|
|
33
|
+
maxStorageBufferBindingSize: WEBGPU_MEMORY_LIMIT,
|
|
34
|
+
maxBufferSize: WEBGPU_MEMORY_LIMIT,
|
|
35
|
+
};
|
|
36
|
+
const adapter = await navigator.gpu?.requestAdapter();
|
|
37
|
+
const device = await adapter.requestDevice({ requiredLimits });
|
|
38
|
+
const BUFFER_SIZE = volumePixelData.byteLength;
|
|
39
|
+
const UPDATED_VOXELS_COUNTER_BUFFER_SIZE = numIterations * Uint32Array.BYTES_PER_ELEMENT;
|
|
40
|
+
const shaderModule = device.createShaderModule({
|
|
41
|
+
code: shaderCode,
|
|
42
|
+
});
|
|
43
|
+
const numIterationIndex = 3;
|
|
44
|
+
const paramsArrayValues = new Uint32Array([
|
|
45
|
+
columns,
|
|
46
|
+
rows,
|
|
47
|
+
numSlices,
|
|
48
|
+
0,
|
|
49
|
+
]);
|
|
50
|
+
const gpuParamsBuffer = device.createBuffer({
|
|
51
|
+
size: paramsArrayValues.byteLength,
|
|
52
|
+
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
|
|
53
|
+
});
|
|
54
|
+
const gpuVolumePixelDataBuffer = device.createBuffer({
|
|
55
|
+
size: BUFFER_SIZE,
|
|
56
|
+
usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,
|
|
57
|
+
});
|
|
58
|
+
device.queue.writeBuffer(gpuVolumePixelDataBuffer, 0, volumePixelData);
|
|
59
|
+
const gpuLabelmapBuffers = [0, 1].map(() => device.createBuffer({
|
|
60
|
+
size: BUFFER_SIZE,
|
|
61
|
+
usage: GPUBufferUsage.STORAGE |
|
|
62
|
+
GPUBufferUsage.COPY_SRC |
|
|
63
|
+
GPUBufferUsage.COPY_DST,
|
|
64
|
+
}));
|
|
65
|
+
device.queue.writeBuffer(gpuLabelmapBuffers[0], 0, new Uint32Array(labelmapData));
|
|
66
|
+
const gpuStrengthBuffers = [0, 1].map(() => {
|
|
67
|
+
const strengthBuffer = device.createBuffer({
|
|
68
|
+
size: BUFFER_SIZE,
|
|
69
|
+
usage: GPUBufferUsage.STORAGE |
|
|
70
|
+
GPUBufferUsage.COPY_SRC |
|
|
71
|
+
GPUBufferUsage.COPY_DST,
|
|
72
|
+
});
|
|
73
|
+
return strengthBuffer;
|
|
74
|
+
});
|
|
75
|
+
const gpuCounterBuffer = device.createBuffer({
|
|
76
|
+
size: UPDATED_VOXELS_COUNTER_BUFFER_SIZE,
|
|
77
|
+
usage: GPUBufferUsage.STORAGE |
|
|
78
|
+
GPUBufferUsage.COPY_SRC |
|
|
79
|
+
GPUBufferUsage.COPY_DST,
|
|
80
|
+
});
|
|
81
|
+
const bindGroupLayout = device.createBindGroupLayout({
|
|
82
|
+
entries: [
|
|
83
|
+
{
|
|
84
|
+
binding: 0,
|
|
85
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
86
|
+
buffer: {
|
|
87
|
+
type: 'uniform',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
binding: 1,
|
|
92
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
93
|
+
buffer: {
|
|
94
|
+
type: 'read-only-storage',
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
binding: 2,
|
|
99
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
100
|
+
buffer: {
|
|
101
|
+
type: 'storage',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
binding: 3,
|
|
106
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
107
|
+
buffer: {
|
|
108
|
+
type: 'storage',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
binding: 4,
|
|
113
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
114
|
+
buffer: {
|
|
115
|
+
type: 'read-only-storage',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
binding: 5,
|
|
120
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
121
|
+
buffer: {
|
|
122
|
+
type: 'read-only-storage',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
binding: 6,
|
|
127
|
+
visibility: GPUShaderStage.COMPUTE,
|
|
128
|
+
buffer: {
|
|
129
|
+
type: 'storage',
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
});
|
|
134
|
+
const bindGroups = [0, 1].map((i) => {
|
|
135
|
+
const outputLabelmapBuffer = gpuLabelmapBuffers[i];
|
|
136
|
+
const outputStrengthBuffer = gpuStrengthBuffers[i];
|
|
137
|
+
const previouLabelmapBuffer = gpuLabelmapBuffers[(i + 1) % 2];
|
|
138
|
+
const previousStrengthBuffer = gpuStrengthBuffers[(i + 1) % 2];
|
|
139
|
+
return device.createBindGroup({
|
|
140
|
+
layout: bindGroupLayout,
|
|
141
|
+
entries: [
|
|
142
|
+
{
|
|
143
|
+
binding: 0,
|
|
144
|
+
resource: {
|
|
145
|
+
buffer: gpuParamsBuffer,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
binding: 1,
|
|
150
|
+
resource: {
|
|
151
|
+
buffer: gpuVolumePixelDataBuffer,
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
binding: 2,
|
|
156
|
+
resource: {
|
|
157
|
+
buffer: outputLabelmapBuffer,
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
binding: 3,
|
|
162
|
+
resource: {
|
|
163
|
+
buffer: outputStrengthBuffer,
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
binding: 4,
|
|
168
|
+
resource: {
|
|
169
|
+
buffer: previouLabelmapBuffer,
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
binding: 5,
|
|
174
|
+
resource: {
|
|
175
|
+
buffer: previousStrengthBuffer,
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
binding: 6,
|
|
180
|
+
resource: {
|
|
181
|
+
buffer: gpuCounterBuffer,
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
const pipeline = device.createComputePipeline({
|
|
188
|
+
layout: device.createPipelineLayout({
|
|
189
|
+
bindGroupLayouts: [bindGroupLayout],
|
|
190
|
+
}),
|
|
191
|
+
compute: {
|
|
192
|
+
module: shaderModule,
|
|
193
|
+
entryPoint: 'main',
|
|
194
|
+
constants: {
|
|
195
|
+
workGroupSizeX: workGroupSize[0],
|
|
196
|
+
workGroupSizeY: workGroupSize[1],
|
|
197
|
+
workGroupSizeZ: workGroupSize[2],
|
|
198
|
+
windowSize,
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
const numWorkGroups = [
|
|
203
|
+
Math.ceil(columns / workGroupSize[0]),
|
|
204
|
+
Math.ceil(rows / workGroupSize[1]),
|
|
205
|
+
Math.ceil(numSlices / workGroupSize[2]),
|
|
206
|
+
];
|
|
207
|
+
const gpuUpdatedVoxelsCounterStagingBuffer = device.createBuffer({
|
|
208
|
+
size: UPDATED_VOXELS_COUNTER_BUFFER_SIZE,
|
|
209
|
+
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
|
|
210
|
+
});
|
|
211
|
+
const labelmapStagingBufferTemp = device.createBuffer({
|
|
212
|
+
size: BUFFER_SIZE,
|
|
213
|
+
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
|
|
214
|
+
});
|
|
215
|
+
const limitProcessingTime = maxProcessingTime
|
|
216
|
+
? performance.now() + maxProcessingTime
|
|
217
|
+
: 0;
|
|
218
|
+
let currentInspectionNumCyclesInterval = inspection.numCyclesInterval;
|
|
219
|
+
let belowThresholdCounter = 0;
|
|
220
|
+
for (let i = 0; i < numIterations; i++) {
|
|
221
|
+
paramsArrayValues[numIterationIndex] = i;
|
|
222
|
+
device.queue.writeBuffer(gpuParamsBuffer, 0, paramsArrayValues);
|
|
223
|
+
const commandEncoder = device.createCommandEncoder();
|
|
224
|
+
const passEncoder = commandEncoder.beginComputePass();
|
|
225
|
+
passEncoder.setPipeline(pipeline);
|
|
226
|
+
passEncoder.setBindGroup(0, bindGroups[i % 2]);
|
|
227
|
+
passEncoder.dispatchWorkgroups(numWorkGroups[0], numWorkGroups[1], numWorkGroups[2]);
|
|
228
|
+
passEncoder.end();
|
|
229
|
+
commandEncoder.copyBufferToBuffer(gpuCounterBuffer, i * Uint32Array.BYTES_PER_ELEMENT, gpuUpdatedVoxelsCounterStagingBuffer, i * Uint32Array.BYTES_PER_ELEMENT, Uint32Array.BYTES_PER_ELEMENT);
|
|
230
|
+
device.queue.submit([commandEncoder.finish()]);
|
|
231
|
+
const inspect = i > 0 && !(i % currentInspectionNumCyclesInterval);
|
|
232
|
+
if (inspect) {
|
|
233
|
+
await gpuUpdatedVoxelsCounterStagingBuffer.mapAsync(GPUMapMode.READ, 0, UPDATED_VOXELS_COUNTER_BUFFER_SIZE);
|
|
234
|
+
const updatedVoxelsCounterResultBuffer = gpuUpdatedVoxelsCounterStagingBuffer.getMappedRange(0, UPDATED_VOXELS_COUNTER_BUFFER_SIZE);
|
|
235
|
+
const updatedVoxelsCounterBufferData = new Uint32Array(updatedVoxelsCounterResultBuffer.slice(0));
|
|
236
|
+
const updatedVoxelsRatio = updatedVoxelsCounterBufferData[i] / volumePixelData.length;
|
|
237
|
+
gpuUpdatedVoxelsCounterStagingBuffer.unmap();
|
|
238
|
+
if (i >= 1 && updatedVoxelsRatio < inspection.threshold) {
|
|
239
|
+
currentInspectionNumCyclesInterval = 1;
|
|
240
|
+
belowThresholdCounter++;
|
|
241
|
+
if (belowThresholdCounter === inspection.numCyclesBelowThreshold) {
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
currentInspectionNumCyclesInterval = inspection.numCyclesInterval;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
if (limitProcessingTime && performance.now() > limitProcessingTime) {
|
|
250
|
+
console.warn(`Exceeded processing time limit (${maxProcessingTime})ms`);
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
const commandEncoder = device.createCommandEncoder();
|
|
255
|
+
const outputLabelmapBufferIndex = (numIterations + 1) % 2;
|
|
256
|
+
const labelmapStagingBuffer = device.createBuffer({
|
|
257
|
+
size: BUFFER_SIZE,
|
|
258
|
+
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
|
|
259
|
+
});
|
|
260
|
+
commandEncoder.copyBufferToBuffer(gpuLabelmapBuffers[outputLabelmapBufferIndex], 0, labelmapStagingBuffer, 0, BUFFER_SIZE);
|
|
261
|
+
device.queue.submit([commandEncoder.finish()]);
|
|
262
|
+
await labelmapStagingBuffer.mapAsync(GPUMapMode.READ, 0, BUFFER_SIZE);
|
|
263
|
+
const labelmapResultBuffer = labelmapStagingBuffer.getMappedRange(0, BUFFER_SIZE);
|
|
264
|
+
const labelmapResult = new Uint32Array(labelmapResultBuffer);
|
|
265
|
+
labelmapData.set(labelmapResult);
|
|
266
|
+
labelmapStagingBuffer.unmap();
|
|
267
|
+
labelmap.voxelManager.setCompleteScalarDataArray(labelmapData);
|
|
268
|
+
}
|
|
269
|
+
export { runGrowCut as default, runGrowCut as run };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import type { GrowCutOptions } from './runGrowCut';
|
|
3
|
+
type BoundingBoxInfo = {
|
|
4
|
+
boundingBox: {
|
|
5
|
+
ijkTopLeft: Types.Point3;
|
|
6
|
+
ijkBottomRight: Types.Point3;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
type GrowCutBoundingBoxOptions = GrowCutOptions & {
|
|
10
|
+
negativePixelRange?: [number, number];
|
|
11
|
+
positivePixelRange?: [number, number];
|
|
12
|
+
};
|
|
13
|
+
declare function runGrowCutForBoundingBox(referencedVolumeId: string, boundingBoxInfo: BoundingBoxInfo, options?: GrowCutBoundingBoxOptions): Promise<Types.IImageVolume>;
|
|
14
|
+
export { runGrowCutForBoundingBox as default, runGrowCutForBoundingBox };
|
|
15
|
+
export type { BoundingBoxInfo, GrowCutBoundingBoxOptions };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { volumeLoader, utilities as csUtils } from '@cornerstonejs/core';
|
|
2
|
+
import { run } from './runGrowCut';
|
|
3
|
+
const POSITIVE_SEED_VALUE = 254;
|
|
4
|
+
const NEGATIVE_SEED_VALUE = 255;
|
|
5
|
+
const NEGATIVE_PIXEL_RANGE = [-Infinity, -995];
|
|
6
|
+
const POSITIVE_PIXEL_RANGE = [0, 1900];
|
|
7
|
+
function _setNegativeSeedValues(subVolume, labelmap, options) {
|
|
8
|
+
const { negativeSeedValue = NEGATIVE_SEED_VALUE, negativePixelRange = NEGATIVE_PIXEL_RANGE, } = options;
|
|
9
|
+
const subVolPixelData = subVolume.voxelManager.getCompleteScalarDataArray();
|
|
10
|
+
const [width, height, numSlices] = labelmap.dimensions;
|
|
11
|
+
const middleSliceIndex = Math.floor(numSlices / 2);
|
|
12
|
+
const visited = new Array(width * height).fill(false);
|
|
13
|
+
const sliceOffset = middleSliceIndex * width * height;
|
|
14
|
+
const bfs = (startX, startY) => {
|
|
15
|
+
const queue = [[startX, startY]];
|
|
16
|
+
while (queue.length) {
|
|
17
|
+
const [x, y] = queue.shift();
|
|
18
|
+
const slicePixelIndex = y * width + x;
|
|
19
|
+
if (x < 0 ||
|
|
20
|
+
x >= width ||
|
|
21
|
+
y < 0 ||
|
|
22
|
+
y >= height ||
|
|
23
|
+
visited[slicePixelIndex]) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
visited[slicePixelIndex] = true;
|
|
27
|
+
const volumeVoxelIndex = sliceOffset + slicePixelIndex;
|
|
28
|
+
const volumeVoxelValue = subVolPixelData[volumeVoxelIndex];
|
|
29
|
+
if (volumeVoxelValue < negativePixelRange[0] ||
|
|
30
|
+
volumeVoxelValue > negativePixelRange[1]) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
labelmap.voxelManager.setAtIndex(volumeVoxelIndex, negativeSeedValue);
|
|
34
|
+
queue.push([x - 1, y]);
|
|
35
|
+
queue.push([x + 1, y]);
|
|
36
|
+
queue.push([x, y - 1]);
|
|
37
|
+
queue.push([x, y + 1]);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const scanLine = (startX, limitX, incX, y) => {
|
|
41
|
+
for (let x = startX; x !== limitX; x += incX) {
|
|
42
|
+
const slicePixelIndex = y * width + x;
|
|
43
|
+
const volumeVoxelIndex = sliceOffset + slicePixelIndex;
|
|
44
|
+
const volumeVoxelValue = subVolPixelData[volumeVoxelIndex];
|
|
45
|
+
if (volumeVoxelValue < negativePixelRange[0] ||
|
|
46
|
+
volumeVoxelValue > negativePixelRange[1]) {
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
if (!visited[slicePixelIndex]) {
|
|
50
|
+
bfs(x, y);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
for (let y = 0; y < height; y++) {
|
|
55
|
+
scanLine(0, width - 1, 1, y);
|
|
56
|
+
scanLine(width - 1, 0, -1, y);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function _setPositiveSeedValues(subVolume, labelmap, options) {
|
|
60
|
+
const { positiveSeedValue = POSITIVE_SEED_VALUE, positivePixelRange = POSITIVE_PIXEL_RANGE, } = options;
|
|
61
|
+
const subVolPixelData = subVolume.voxelManager.getCompleteScalarDataArray();
|
|
62
|
+
const labelmapData = labelmap.voxelManager.getCompleteScalarDataArray();
|
|
63
|
+
const [width, height, numSlices] = labelmap.dimensions;
|
|
64
|
+
const middleSliceIndex = Math.floor(numSlices / 2);
|
|
65
|
+
const startSliceIndex = Math.max(middleSliceIndex - 3, 0);
|
|
66
|
+
const stopSliceIndex = Math.max(startSliceIndex + 5, numSlices);
|
|
67
|
+
const pixelsPerSlice = width * height;
|
|
68
|
+
for (let z = startSliceIndex; z < stopSliceIndex; z++) {
|
|
69
|
+
const zOffset = z * pixelsPerSlice;
|
|
70
|
+
for (let y = 0; y < height; y++) {
|
|
71
|
+
const yOffset = y * width;
|
|
72
|
+
for (let x = 0; x < width; x++) {
|
|
73
|
+
const index = zOffset + yOffset + x;
|
|
74
|
+
const pixelValue = subVolPixelData[index];
|
|
75
|
+
const isPositiveValue = pixelValue >= positivePixelRange[0] &&
|
|
76
|
+
pixelValue <= positivePixelRange[1];
|
|
77
|
+
if (isPositiveValue) {
|
|
78
|
+
labelmap.voxelManager.setAtIndex(index, positiveSeedValue);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async function _createAndCacheSegmentationSubVolumeForBoundingBox(subVolume, options) {
|
|
85
|
+
const labelmap = volumeLoader.createAndCacheDerivedLabelmapVolume(subVolume.volumeId);
|
|
86
|
+
_setPositiveSeedValues(subVolume, labelmap, options);
|
|
87
|
+
_setNegativeSeedValues(subVolume, labelmap, options);
|
|
88
|
+
return labelmap;
|
|
89
|
+
}
|
|
90
|
+
async function runGrowCutForBoundingBox(referencedVolumeId, boundingBoxInfo, options) {
|
|
91
|
+
const { boundingBox } = boundingBoxInfo;
|
|
92
|
+
const { ijkTopLeft, ijkBottomRight } = boundingBox;
|
|
93
|
+
const subVolumeBoundsIJK = {
|
|
94
|
+
minX: ijkTopLeft[0],
|
|
95
|
+
maxX: ijkBottomRight[0],
|
|
96
|
+
minY: ijkTopLeft[1],
|
|
97
|
+
maxY: ijkBottomRight[1],
|
|
98
|
+
minZ: ijkTopLeft[2],
|
|
99
|
+
maxZ: ijkBottomRight[2],
|
|
100
|
+
};
|
|
101
|
+
const subVolume = csUtils.createSubVolume(referencedVolumeId, subVolumeBoundsIJK, {
|
|
102
|
+
targetBuffer: {
|
|
103
|
+
type: 'Float32Array',
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
const labelmap = await _createAndCacheSegmentationSubVolumeForBoundingBox(subVolume, options);
|
|
107
|
+
await run(subVolume.volumeId, labelmap.volumeId);
|
|
108
|
+
return labelmap;
|
|
109
|
+
}
|
|
110
|
+
export { runGrowCutForBoundingBox as default, runGrowCutForBoundingBox };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { type GrowCutOptions } from './runGrowCut';
|
|
3
|
+
type SphereInfo = {
|
|
4
|
+
center: Types.Point3;
|
|
5
|
+
radius: number;
|
|
6
|
+
};
|
|
7
|
+
declare function runGrowCutForSphere(referencedVolumeId: string, sphereInfo: SphereInfo, viewport: Types.IViewport, options?: GrowCutOptions): Promise<Types.IImageVolume>;
|
|
8
|
+
export { runGrowCutForSphere as default, runGrowCutForSphere };
|
|
9
|
+
export type { SphereInfo, GrowCutOptions as GrowCutSphereOptions };
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { quat, vec3 } from 'gl-matrix';
|
|
2
|
+
import { utilities as csUtils, cache, volumeLoader } from '@cornerstonejs/core';
|
|
3
|
+
import { run } from './runGrowCut';
|
|
4
|
+
import { getSphereBoundsInfo } from '../../getSphereBoundsInfo';
|
|
5
|
+
const { transformWorldToIndex } = csUtils;
|
|
6
|
+
const POSITIVE_SEED_VALUE = 254;
|
|
7
|
+
const NEGATIVE_SEED_VALUE = 255;
|
|
8
|
+
const POSITIVE_SEED_VARIANCE = 0.1;
|
|
9
|
+
const NEGATIVE_SEED_VARIANCE = 0.8;
|
|
10
|
+
function _getGrowCutSphereBoundsInfo(referencedVolume, sphereBoundsInfo) {
|
|
11
|
+
const { topLeftWorld, bottomRightWorld } = sphereBoundsInfo;
|
|
12
|
+
const topLeftIJK = transformWorldToIndex(referencedVolume.imageData, topLeftWorld);
|
|
13
|
+
const bottomRightIJK = transformWorldToIndex(referencedVolume.imageData, bottomRightWorld);
|
|
14
|
+
return {
|
|
15
|
+
...sphereBoundsInfo,
|
|
16
|
+
topLeftIJK,
|
|
17
|
+
bottomRightIJK,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function _getSphereBoundsInfo(referencedVolume, sphereInfo) {
|
|
21
|
+
const direction = referencedVolume.imageData.getDirection();
|
|
22
|
+
const vecColumn = vec3.fromValues(direction[3], direction[4], direction[5]);
|
|
23
|
+
const { center: sphereCenterPoint, radius: sphereRadius } = sphereInfo;
|
|
24
|
+
const refVolImageData = referencedVolume.imageData;
|
|
25
|
+
const topCirclePoint = vec3.scaleAndAdd(vec3.create(), sphereCenterPoint, vecColumn, -sphereRadius);
|
|
26
|
+
const bottomCirclePoint = vec3.scaleAndAdd(vec3.create(), sphereCenterPoint, vecColumn, sphereRadius);
|
|
27
|
+
const sphereBoundsInfo = getSphereBoundsInfo([bottomCirclePoint, topCirclePoint], refVolImageData);
|
|
28
|
+
return _getGrowCutSphereBoundsInfo(referencedVolume, sphereBoundsInfo);
|
|
29
|
+
}
|
|
30
|
+
function _createSubVolumeFromSphere(referencedVolume, sphereInfo, viewport) {
|
|
31
|
+
const refVolImageData = referencedVolume.imageData;
|
|
32
|
+
const camera = viewport.getCamera();
|
|
33
|
+
const { ijkVecRowDir, ijkVecColDir } = csUtils.getVolumeDirectionVectors(refVolImageData, camera);
|
|
34
|
+
const obliqueView = [ijkVecRowDir, ijkVecColDir].some((vec) => !csUtils.isEqual(Math.abs(vec[0]), 1) &&
|
|
35
|
+
!csUtils.isEqual(Math.abs(vec[1]), 1) &&
|
|
36
|
+
!csUtils.isEqual(Math.abs(vec[2]), 1));
|
|
37
|
+
if (obliqueView) {
|
|
38
|
+
console.warn('Oblique view is not supported!');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const { boundsIJK: sphereBoundsIJK } = _getSphereBoundsInfo(referencedVolume, sphereInfo);
|
|
42
|
+
const subVolumeBoundsIJK = {
|
|
43
|
+
minX: sphereBoundsIJK[0][0],
|
|
44
|
+
maxX: sphereBoundsIJK[0][1] + 1,
|
|
45
|
+
minY: sphereBoundsIJK[1][0],
|
|
46
|
+
maxY: sphereBoundsIJK[1][1] + 1,
|
|
47
|
+
minZ: sphereBoundsIJK[2][0],
|
|
48
|
+
maxZ: sphereBoundsIJK[2][1] + 1,
|
|
49
|
+
};
|
|
50
|
+
return csUtils.createSubVolume(referencedVolume.volumeId, subVolumeBoundsIJK, {
|
|
51
|
+
targetBuffer: {
|
|
52
|
+
type: 'Float32Array',
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function _setPositiveSeedValues(referencedVolume, labelmap, sphereInfo, options) {
|
|
57
|
+
const refVolumePixelData = referencedVolume.voxelManager.getCompleteScalarDataArray();
|
|
58
|
+
const worldStartPos = sphereInfo.center;
|
|
59
|
+
const [width, height, numSlices] = referencedVolume.dimensions;
|
|
60
|
+
const numPixelsPerSlice = width * height;
|
|
61
|
+
const ijkStartPosition = transformWorldToIndex(referencedVolume.imageData, worldStartPos);
|
|
62
|
+
const referencePixelValue = refVolumePixelData[ijkStartPosition[2] * numPixelsPerSlice +
|
|
63
|
+
ijkStartPosition[1] * width +
|
|
64
|
+
ijkStartPosition[0]];
|
|
65
|
+
const positiveSeedValue = options.positiveSeedValue ?? POSITIVE_SEED_VALUE;
|
|
66
|
+
const positiveSeedVariance = options.positiveSeedVariance ?? POSITIVE_SEED_VARIANCE;
|
|
67
|
+
const positiveSeedVarianceValue = Math.abs(referencePixelValue * positiveSeedVariance);
|
|
68
|
+
const minPositivePixelValue = referencePixelValue - positiveSeedVarianceValue;
|
|
69
|
+
const maxPositivePixelValue = referencePixelValue + positiveSeedVarianceValue;
|
|
70
|
+
const neighborsCoordDelta = [
|
|
71
|
+
[-1, 0, 0],
|
|
72
|
+
[1, 0, 0],
|
|
73
|
+
[0, -1, 0],
|
|
74
|
+
[0, 1, 0],
|
|
75
|
+
[0, 0, -1],
|
|
76
|
+
[0, 0, 1],
|
|
77
|
+
];
|
|
78
|
+
const startVoxelIndex = ijkStartPosition[2] * numPixelsPerSlice +
|
|
79
|
+
ijkStartPosition[1] * width +
|
|
80
|
+
ijkStartPosition[0];
|
|
81
|
+
labelmap.voxelManager.setAtIndex(startVoxelIndex, positiveSeedValue);
|
|
82
|
+
const queue = [ijkStartPosition];
|
|
83
|
+
while (queue.length) {
|
|
84
|
+
const ijkVoxel = queue.shift();
|
|
85
|
+
const [x, y, z] = ijkVoxel;
|
|
86
|
+
for (let i = 0, len = neighborsCoordDelta.length; i < len; i++) {
|
|
87
|
+
const neighborCoordDelta = neighborsCoordDelta[i];
|
|
88
|
+
const nx = x + neighborCoordDelta[0];
|
|
89
|
+
const ny = y + neighborCoordDelta[1];
|
|
90
|
+
const nz = z + neighborCoordDelta[2];
|
|
91
|
+
if (nx < 0 ||
|
|
92
|
+
nx >= width ||
|
|
93
|
+
ny < 0 ||
|
|
94
|
+
ny >= height ||
|
|
95
|
+
nz < 0 ||
|
|
96
|
+
nz >= numSlices) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
const neighborVoxelIndex = nz * numPixelsPerSlice + ny * width + nx;
|
|
100
|
+
const neighborPixelValue = refVolumePixelData[neighborVoxelIndex];
|
|
101
|
+
const neighborLabelmapValue = labelmap.voxelManager.getAtIndex(neighborVoxelIndex);
|
|
102
|
+
if (neighborLabelmapValue === positiveSeedValue ||
|
|
103
|
+
neighborPixelValue < minPositivePixelValue ||
|
|
104
|
+
neighborPixelValue > maxPositivePixelValue) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
labelmap.voxelManager.setAtIndex(neighborVoxelIndex, positiveSeedValue);
|
|
108
|
+
queue.push([nx, ny, nz]);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function _setNegativeSeedValues(subVolume, labelmap, sphereInfo, viewport, options) {
|
|
113
|
+
const subVolPixelData = subVolume.voxelManager.getCompleteScalarDataArray();
|
|
114
|
+
const [columns, rows, numSlices] = labelmap.dimensions;
|
|
115
|
+
const numPixelsPerSlice = columns * rows;
|
|
116
|
+
const { worldVecRowDir, worldVecSliceDir } = csUtils.getVolumeDirectionVectors(labelmap.imageData, viewport.getCamera());
|
|
117
|
+
const ijkSphereCenter = transformWorldToIndex(subVolume.imageData, sphereInfo.center);
|
|
118
|
+
const referencePixelValue = subVolPixelData[ijkSphereCenter[2] * columns * rows +
|
|
119
|
+
ijkSphereCenter[1] * columns +
|
|
120
|
+
ijkSphereCenter[0]];
|
|
121
|
+
const negativeSeedVariance = options.negativeSeedVariance ?? NEGATIVE_SEED_VARIANCE;
|
|
122
|
+
const negativeSeedValue = options?.negativeSeedValue ?? NEGATIVE_SEED_VALUE;
|
|
123
|
+
const negativeSeedVarianceValue = Math.abs(referencePixelValue * negativeSeedVariance);
|
|
124
|
+
const minNegativePixelValue = referencePixelValue - negativeSeedVarianceValue;
|
|
125
|
+
const maxNegativePixelValue = referencePixelValue + negativeSeedVarianceValue;
|
|
126
|
+
const numCirclePoints = 360;
|
|
127
|
+
const rotationAngle = (2 * Math.PI) / numCirclePoints;
|
|
128
|
+
const worldQuat = quat.setAxisAngle(quat.create(), worldVecSliceDir, rotationAngle);
|
|
129
|
+
const vecRotation = vec3.clone(worldVecRowDir);
|
|
130
|
+
for (let i = 0; i < numCirclePoints; i++) {
|
|
131
|
+
const worldCircleBorderPoint = vec3.scaleAndAdd(vec3.create(), sphereInfo.center, vecRotation, sphereInfo.radius);
|
|
132
|
+
const ijkCircleBorderPoint = transformWorldToIndex(labelmap.imageData, worldCircleBorderPoint);
|
|
133
|
+
const [x, y, z] = ijkCircleBorderPoint;
|
|
134
|
+
vec3.transformQuat(vecRotation, vecRotation, worldQuat);
|
|
135
|
+
if (x < 0 ||
|
|
136
|
+
x >= columns ||
|
|
137
|
+
y < 0 ||
|
|
138
|
+
y >= rows ||
|
|
139
|
+
z < 0 ||
|
|
140
|
+
z >= numSlices) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
const offset = x + y * columns + z * numPixelsPerSlice;
|
|
144
|
+
const pixelValue = subVolPixelData[offset];
|
|
145
|
+
if (pixelValue < minNegativePixelValue ||
|
|
146
|
+
pixelValue > maxNegativePixelValue) {
|
|
147
|
+
labelmap.voxelManager.setAtIndex(offset, negativeSeedValue);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
async function _createAndCacheSegmentationSubVolumeForSphere(subVolume, sphereInfo, viewport, options) {
|
|
152
|
+
const labelmap = await volumeLoader.createAndCacheDerivedLabelmapVolume(subVolume.volumeId);
|
|
153
|
+
_setPositiveSeedValues(subVolume, labelmap, sphereInfo, options);
|
|
154
|
+
_setNegativeSeedValues(subVolume, labelmap, sphereInfo, viewport, options);
|
|
155
|
+
return labelmap;
|
|
156
|
+
}
|
|
157
|
+
async function runGrowCutForSphere(referencedVolumeId, sphereInfo, viewport, options) {
|
|
158
|
+
const referencedVolume = cache.getVolume(referencedVolumeId);
|
|
159
|
+
const subVolume = _createSubVolumeFromSphere(referencedVolume, sphereInfo, viewport);
|
|
160
|
+
const labelmap = await _createAndCacheSegmentationSubVolumeForSphere(subVolume, sphereInfo, viewport, options);
|
|
161
|
+
await run(subVolume.volumeId, labelmap.volumeId);
|
|
162
|
+
return labelmap;
|
|
163
|
+
}
|
|
164
|
+
export { runGrowCutForSphere as default, runGrowCutForSphere };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import type { GrowCutOptions } from './runGrowCut';
|
|
3
|
+
type GrowCutOneClickOptions = GrowCutOptions & {
|
|
4
|
+
subVolumePaddingPercentage?: number | [number, number, number];
|
|
5
|
+
subVolumeMinPadding?: number | [number, number, number];
|
|
6
|
+
};
|
|
7
|
+
declare function runOneClickGrowCut(referencedVolumeId: string, worldPosition: Types.Point3, viewport: Types.IViewport, options?: GrowCutOneClickOptions): Promise<Types.IImageVolume>;
|
|
8
|
+
export { runOneClickGrowCut as default, runOneClickGrowCut };
|
|
9
|
+
export type { GrowCutOneClickOptions };
|