@cornerstonejs/tools 2.0.0-beta.20 → 2.0.0-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/cursors/SVGCursorDescriptor.d.ts +1 -1
- package/dist/esm/cursors/SVGCursorDescriptor.js +7 -0
- package/dist/esm/cursors/SVGMouseCursor.d.ts +1 -1
- package/dist/esm/cursors/elementCursor.d.ts +1 -1
- package/dist/esm/cursors/elementCursor.js +1 -1
- package/dist/esm/drawingSvg/draw.d.ts +2 -1
- package/dist/esm/drawingSvg/drawArrow.d.ts +1 -1
- package/dist/esm/drawingSvg/drawCircle.d.ts +1 -1
- package/dist/esm/drawingSvg/drawEllipse.d.ts +1 -1
- package/dist/esm/drawingSvg/drawEllipse.js +1 -0
- package/dist/esm/drawingSvg/drawEllipseByCoordinates.d.ts +1 -1
- package/dist/esm/drawingSvg/drawHandle.d.ts +1 -1
- package/dist/esm/drawingSvg/drawHandles.d.ts +1 -1
- package/dist/esm/drawingSvg/drawHeight.d.ts +3 -0
- package/dist/esm/drawingSvg/drawHeight.js +42 -0
- package/dist/esm/drawingSvg/drawLine.d.ts +1 -1
- package/dist/esm/drawingSvg/drawLink.d.ts +1 -1
- package/dist/esm/drawingSvg/drawLinkedTextBox.d.ts +1 -1
- package/dist/esm/drawingSvg/drawPath.d.ts +1 -1
- package/dist/esm/drawingSvg/drawPolyline.d.ts +1 -1
- package/dist/esm/drawingSvg/drawRect.d.ts +1 -1
- package/dist/esm/drawingSvg/drawRect.js +1 -0
- package/dist/esm/drawingSvg/drawRectByCoordinates.d.ts +1 -1
- package/dist/esm/drawingSvg/drawRedactionRect.d.ts +3 -1
- package/dist/esm/drawingSvg/drawTextBox.d.ts +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.d.ts +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +2 -2
- package/dist/esm/drawingSvg/index.d.ts +2 -1
- package/dist/esm/drawingSvg/index.js +2 -1
- package/dist/esm/enums/ToolBindings.d.ts +3 -1
- package/dist/esm/enums/ToolBindings.js +2 -0
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +2 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +15 -2
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +3 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +5 -6
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.d.ts +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.d.ts +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +4 -3
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +3 -3
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.js +2 -2
- package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.d.ts +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.js +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.d.ts +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.js +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.d.ts +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.js +1 -1
- package/dist/esm/eventListeners/annotations/annotationCompletedListener.d.ts +1 -1
- package/dist/esm/eventListeners/annotations/annotationRemovedListener.d.ts +1 -1
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +1 -1
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +3 -3
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +22 -21
- package/dist/esm/eventListeners/mouse/getMouseEventPoints.d.ts +1 -1
- package/dist/esm/eventListeners/mouse/getMouseEventPoints.js +4 -1
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +9 -1
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +9 -7
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +1 -1
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +3 -3
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -2
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +3 -2
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +5 -5
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +4 -2
- package/dist/esm/eventListeners/touch/getTouchEventPoints.d.ts +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +4 -3
- package/dist/esm/init.js +2 -2
- 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 +3 -3
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +0 -2
- package/dist/esm/stateManagement/annotation/annotationLocking.d.ts +1 -1
- package/dist/esm/stateManagement/annotation/annotationSelection.js +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.d.ts +4 -4
- package/dist/esm/stateManagement/annotation/annotationState.js +4 -6
- package/dist/esm/stateManagement/annotation/annotationVisibility.d.ts +1 -1
- package/dist/esm/stateManagement/annotation/annotationVisibility.js +1 -1
- package/dist/esm/stateManagement/annotation/config/ToolStyle.d.ts +1 -1
- package/dist/esm/stateManagement/annotation/config/getFont.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/config/getState.d.ts +1 -1
- package/dist/esm/stateManagement/annotation/config/helpers.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/getAnnotation.d.ts +2 -0
- package/dist/esm/stateManagement/annotation/getAnnotation.js +6 -0
- package/dist/esm/stateManagement/annotation/helpers/state.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/utilities/defineProperties.d.ts +1 -1
- package/dist/esm/stateManagement/index.d.ts +1 -3
- package/dist/esm/stateManagement/index.js +3 -2
- package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.d.ts +6 -4
- package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.js +23 -19
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +29 -13
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +73 -23
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +5 -4
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +15 -6
- package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/addRepresentationData.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/addRepresentationData.js +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addSegmentation.js +11 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/{addRepresentation.js → addSegmentationRepresentation.js} +31 -10
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +10 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +9 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/config/index.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/config/index.js +2 -2
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +8 -6
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +5 -5
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +17 -12
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +5 -5
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +16 -13
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +0 -8
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +7 -82
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.js +11 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.js +18 -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 +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +8 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +8 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.js +7 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +6 -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/getGlobalConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getGlobalConfig.js +5 -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/getPerSegmentConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.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 +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +7 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +6 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +12 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.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/getViewportIdsWithSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +10 -0
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +1 -1
- 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 +1 -1
- package/dist/esm/stateManagement/segmentation/index.d.ts +4 -4
- package/dist/esm/stateManagement/segmentation/index.js +4 -4
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +5 -4
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +13 -22
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +2 -6
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +10 -15
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +2 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +3 -4
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +3 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +4 -4
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +4 -3
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +1 -1
- package/dist/esm/stateManagement/segmentation/removeColorLUT.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeRepresentation.js +9 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentation.js +7 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/{removeRepresentationsFromViewport.js → removeSegmentationRepresentations.js} +11 -8
- package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +6 -10
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +3 -3
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +29 -38
- package/dist/esm/stateManagement/segmentation/segmentationState.js +29 -157
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +9 -0
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +9 -0
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +9 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +9 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +5 -0
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -5
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +5 -45
- package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js +5 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +7 -3
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +2 -1
- package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +3 -3
- package/dist/esm/store/SynchronizerManager/createSynchronizer.js +2 -2
- package/dist/esm/store/SynchronizerManager/destroy.js +1 -1
- package/dist/esm/store/SynchronizerManager/destroySynchronizer.js +1 -1
- package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizer.js +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +3 -3
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +12 -8
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +1 -1
- package/dist/esm/store/ToolGroupManager/destroy.js +3 -3
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +1 -1
- package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.js +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +1 -1
- package/dist/esm/store/addEnabledElement.d.ts +1 -1
- package/dist/esm/store/addEnabledElement.js +1 -1
- package/dist/esm/store/addTool.d.ts +1 -0
- package/dist/esm/store/addTool.js +3 -3
- package/dist/esm/store/filterMoveableAnnotationTools.d.ts +1 -1
- package/dist/esm/store/filterToolsWithAnnotationsForElement.d.ts +1 -1
- package/dist/esm/store/filterToolsWithMoveableHandles.d.ts +1 -1
- package/dist/esm/store/index.d.ts +1 -2
- package/dist/esm/store/index.js +1 -2
- package/dist/esm/store/removeEnabledElement.d.ts +1 -1
- package/dist/esm/store/removeEnabledElement.js +1 -1
- package/dist/esm/store/state.d.ts +4 -3
- package/dist/esm/store/state.js +1 -1
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +2 -2
- package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.d.ts +2 -2
- package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +5 -2
- package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.d.ts +2 -2
- package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +1 -1
- package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +1 -1
- package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.d.ts +2 -2
- package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.js +1 -1
- package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts +1 -1
- package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
- package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.d.ts +1 -1
- package/dist/esm/tools/AdvancedMagnifyTool.d.ts +97 -8
- package/dist/esm/tools/AdvancedMagnifyTool.js +506 -4
- package/dist/esm/tools/AnnotationEraserTool.d.ts +1 -1
- package/dist/esm/tools/AnnotationEraserTool.js +2 -2
- package/dist/esm/tools/CrosshairsTool.d.ts +5 -5
- package/dist/esm/tools/CrosshairsTool.js +5 -4
- package/dist/esm/tools/MIPJumpToClickTool.d.ts +1 -2
- package/dist/esm/tools/MIPJumpToClickTool.js +2 -3
- package/dist/esm/tools/MagnifyTool.d.ts +2 -3
- package/dist/esm/tools/MagnifyTool.js +1 -1
- package/dist/esm/tools/OrientationMarkerTool.d.ts +41 -58
- package/dist/esm/tools/OrientationMarkerTool.js +8 -7
- package/dist/esm/tools/OverlayGridTool.d.ts +2 -4
- package/dist/esm/tools/OverlayGridTool.js +1 -1
- package/dist/esm/tools/PanTool.d.ts +1 -1
- package/dist/esm/tools/PanTool.js +5 -0
- package/dist/esm/tools/PlanarRotateTool.d.ts +3 -1
- package/dist/esm/tools/PlanarRotateTool.js +18 -4
- package/dist/esm/tools/ReferenceCursors.d.ts +2 -5
- package/dist/esm/tools/ReferenceLinesTool.d.ts +4 -6
- package/dist/esm/tools/ReferenceLinesTool.js +1 -1
- package/dist/esm/tools/ScaleOverlayTool.d.ts +7 -9
- package/dist/esm/tools/ScaleOverlayTool.js +1 -2
- package/dist/esm/tools/SculptorTool/CircleSculptCursor.d.ts +4 -4
- package/dist/esm/tools/SculptorTool.d.ts +1 -1
- package/dist/esm/tools/SculptorTool.js +3 -3
- package/dist/esm/tools/SegmentationIntersectionTool.d.ts +2 -2
- package/dist/esm/tools/StackScrollTool.d.ts +2 -1
- package/dist/esm/tools/StackScrollTool.js +17 -3
- package/dist/esm/tools/StackScrollToolMouseWheelTool.d.ts +1 -2
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js +1 -2
- package/dist/esm/tools/TrackballRotateTool.d.ts +1 -1
- package/dist/esm/tools/TrackballRotateTool.js +4 -0
- package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +2 -3
- package/dist/esm/tools/WindowLevelRegionTool.d.ts +3 -3
- package/dist/esm/tools/WindowLevelRegionTool.js +2 -4
- package/dist/esm/tools/WindowLevelTool.d.ts +1 -1
- package/dist/esm/tools/WindowLevelTool.js +12 -7
- package/dist/esm/tools/ZoomTool.d.ts +2 -2
- package/dist/esm/tools/ZoomTool.js +2 -2
- package/dist/esm/tools/annotation/AngleTool.d.ts +5 -7
- package/dist/esm/tools/annotation/AngleTool.js +4 -3
- package/dist/esm/tools/annotation/ArrowAnnotateTool.d.ts +5 -7
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.d.ts +5 -7
- package/dist/esm/tools/annotation/BidirectionalTool.js +2 -3
- package/dist/esm/tools/annotation/CircleROITool.d.ts +5 -7
- package/dist/esm/tools/annotation/CircleROITool.js +15 -13
- package/dist/esm/tools/annotation/CobbAngleTool.d.ts +5 -7
- package/dist/esm/tools/annotation/CobbAngleTool.js +1 -1
- package/dist/esm/tools/annotation/DragProbeTool.d.ts +3 -5
- package/dist/esm/tools/annotation/DragProbeTool.js +0 -5
- package/dist/esm/tools/annotation/EllipticalROITool.d.ts +5 -7
- package/dist/esm/tools/annotation/EllipticalROITool.js +13 -9
- 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 +4 -6
- package/dist/esm/tools/annotation/KeyImageTool.js +1 -1
- package/dist/esm/tools/annotation/LengthTool.d.ts +5 -7
- package/dist/esm/tools/annotation/LengthTool.js +8 -7
- package/dist/esm/tools/annotation/LivewireContourTool.d.ts +3 -4
- package/dist/esm/tools/annotation/LivewireContourTool.js +5 -3
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +21 -4
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +160 -118
- package/dist/esm/tools/annotation/ProbeTool.d.ts +4 -6
- package/dist/esm/tools/annotation/ProbeTool.js +17 -33
- package/dist/esm/tools/annotation/RectangleROITool.d.ts +5 -5
- package/dist/esm/tools/annotation/RectangleROITool.js +12 -9
- package/dist/esm/tools/annotation/SplineContourSegmentationTool.d.ts +1 -1
- package/dist/esm/tools/annotation/SplineROITool.d.ts +1 -3
- package/dist/esm/tools/annotation/SplineROITool.js +9 -6
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.d.ts +5 -7
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +6 -7
- package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +4 -5
- package/dist/esm/tools/annotation/VideoRedactionTool.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +2 -2
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +1 -1
- package/dist/esm/tools/annotation/splines/CardinalSpline.d.ts +1 -1
- package/dist/esm/tools/annotation/splines/CubicSpline.d.ts +1 -1
- package/dist/esm/tools/annotation/splines/QuadraticSpline.d.ts +1 -1
- package/dist/esm/tools/annotation/splines/Spline.d.ts +1 -1
- package/dist/esm/tools/base/AnnotationDisplayTool.d.ts +3 -3
- package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -9
- package/dist/esm/tools/base/AnnotationTool.d.ts +3 -14
- package/dist/esm/tools/base/BaseTool.d.ts +5 -5
- package/dist/esm/tools/base/BaseTool.js +1 -1
- package/dist/esm/tools/base/ContourBaseTool.d.ts +1 -1
- package/dist/esm/tools/base/ContourBaseTool.js +5 -5
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +28 -19
- package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +2 -2
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +9 -7
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +2 -2
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +6 -6
- package/dist/esm/tools/displayTools/Contour/contourHandler/utils.d.ts +1 -1
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +2 -2
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +4 -3
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +3 -10
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +24 -28
- package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.d.ts +2 -2
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +1 -1
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +2 -2
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +10 -7
- package/dist/esm/tools/distancePointToContour.d.ts +1 -1
- package/dist/esm/tools/index.d.ts +2 -1
- package/dist/esm/tools/index.js +2 -1
- package/dist/esm/tools/segmentation/BrushTool.js +11 -9
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.d.ts +20 -15
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +198 -67
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +3 -3
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +10 -3
- package/dist/esm/tools/segmentation/PaintFillTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/PaintFillTool.js +15 -14
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts +20 -10
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +172 -55
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.d.ts +3 -3
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +4 -3
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +8 -5
- package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +3 -3
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +3 -2
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +12 -4
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +4 -5
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +3 -1
- package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +6 -3
- package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/islandRemoval.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/preview.js +6 -6
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +6 -3
- package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js +10 -7
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +1 -1
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +7 -24
- package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +9 -2
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +3 -3
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +0 -3
- package/dist/esm/types/AnnotationGroupSelector.d.ts +1 -1
- package/dist/esm/types/AnnotationRenderContext.d.ts +3 -2
- package/dist/esm/types/AnnotationStyle.d.ts +2 -2
- package/dist/esm/types/AnnotationTypes.d.ts +3 -3
- package/dist/esm/types/BoundsIJK.d.ts +1 -1
- package/dist/esm/types/CINETypes.d.ts +1 -0
- package/dist/esm/types/CalculatorTypes.d.ts +1 -1
- package/dist/esm/types/CardinalSplineProps.d.ts +1 -1
- package/dist/esm/types/ClosestPoint.d.ts +1 -1
- package/dist/esm/types/ContourAnnotation.d.ts +1 -1
- package/dist/esm/types/ContourSegmentationAnnotation.d.ts +2 -2
- package/dist/esm/types/ControlPointInfo.d.ts +1 -1
- package/dist/esm/types/EventTypes.d.ts +13 -12
- package/dist/esm/types/FloodFillTypes.d.ts +2 -2
- package/dist/esm/types/IAnnotationManager.d.ts +3 -3
- package/dist/esm/types/IDistance.d.ts +1 -1
- package/dist/esm/types/IPoints.d.ts +2 -2
- package/dist/esm/types/ISetToolModeOptions.d.ts +2 -2
- package/dist/esm/types/ISpline.d.ts +1 -1
- package/dist/esm/types/ISynchronizerEventHandler.d.ts +3 -3
- package/dist/esm/types/IToolClassReference.d.ts +3 -3
- package/dist/esm/types/IToolGroup.d.ts +8 -8
- package/dist/esm/types/ITouchPoints.d.ts +2 -2
- package/dist/esm/types/InteractionTypes.d.ts +1 -1
- package/dist/esm/types/InternalToolTypes.d.ts +4 -4
- package/dist/esm/types/InterpolationTypes.d.ts +3 -3
- package/dist/esm/types/JumpToSliceOptions.d.ts +1 -1
- package/dist/esm/types/LabelmapToolOperationData.d.ts +3 -2
- package/dist/esm/types/PlanarBoundingBox.d.ts +1 -1
- package/dist/esm/types/SVGDrawingHelper.d.ts +1 -1
- package/dist/esm/types/ScrollOptions.d.ts +1 -1
- package/dist/esm/types/SegmentationStateTypes.d.ts +7 -6
- package/dist/esm/types/SplineCurveSegment.d.ts +1 -1
- package/dist/esm/types/SplineLineSegment.d.ts +1 -1
- package/dist/esm/types/ToolAction.d.ts +1 -1
- package/dist/esm/types/ToolHandle.d.ts +1 -1
- package/dist/esm/types/ToolProps.d.ts +1 -1
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +34 -12
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/utilities/annotationFrameRange.d.ts +1 -1
- package/dist/esm/utilities/annotationHydration.d.ts +3 -2
- package/dist/esm/utilities/annotationHydration.js +1 -1
- package/dist/esm/utilities/cine/playClip.d.ts +6 -2
- package/dist/esm/utilities/cine/playClip.js +53 -6
- package/dist/esm/utilities/cine/state.d.ts +1 -1
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +1 -1
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +1 -1
- package/dist/esm/utilities/contourSegmentation/areSameSegment.d.ts +1 -1
- package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +2 -2
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +1 -1
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +2 -2
- package/dist/esm/utilities/contours/AnnotationToPointData.d.ts +1 -1
- package/dist/esm/utilities/contours/areCoplanarContours.d.ts +1 -1
- package/dist/esm/utilities/contours/findHandlePolylineIndex.d.ts +1 -1
- package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +1 -1
- package/dist/esm/utilities/contours/getContourHolesDataWorld.js +1 -1
- package/dist/esm/utilities/contours/index.d.ts +1 -2
- package/dist/esm/utilities/contours/index.js +1 -2
- package/dist/esm/utilities/contours/interpolation/createPolylineToolData.d.ts +1 -1
- package/dist/esm/utilities/contours/interpolation/getInterpolationData.d.ts +1 -1
- package/dist/esm/utilities/contours/interpolation/interpolate.d.ts +1 -1
- package/dist/esm/utilities/contours/reverseIfAntiClockwise.d.ts +1 -1
- package/dist/esm/utilities/contours/updateContourPolyline.d.ts +1 -1
- package/dist/esm/utilities/contours/updateContourPolyline.js +1 -1
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.d.ts +3 -2
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js +31 -23
- package/dist/esm/utilities/dynamicVolume/getDataInTime.d.ts +1 -1
- package/dist/esm/utilities/dynamicVolume/getDataInTime.js +14 -9
- package/dist/esm/utilities/getAnnotationNearPoint.d.ts +1 -1
- package/dist/esm/utilities/getCalibratedUnits.d.ts +0 -6
- package/dist/esm/utilities/getCalibratedUnits.js +13 -4
- package/dist/esm/utilities/getPixelValueUnits.d.ts +2 -1
- package/dist/esm/utilities/getPixelValueUnits.js +1 -0
- package/dist/esm/utilities/getSphereBoundsInfo.d.ts +1 -1
- package/dist/esm/utilities/getToolsWithModesForElement.d.ts +1 -1
- package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
- package/dist/esm/utilities/getVOIMultipliers.d.ts +1 -1
- package/dist/esm/utilities/index.d.ts +2 -5
- package/dist/esm/utilities/index.js +2 -5
- package/dist/esm/utilities/livewire/LiveWirePath.d.ts +1 -1
- package/dist/esm/utilities/livewire/LivewireScissors.d.ts +1 -1
- package/dist/esm/utilities/math/aabb/distanceToPoint.d.ts +1 -1
- package/dist/esm/utilities/math/aabb/distanceToPointSquared.d.ts +1 -1
- package/dist/esm/utilities/math/aabb/intersectAABB.d.ts +1 -1
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +2 -2
- package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +1 -1
- package/dist/esm/utilities/math/basic/Calculator.d.ts +1 -1
- package/dist/esm/utilities/math/circle/getCanvasCircleCorners.d.ts +1 -1
- package/dist/esm/utilities/math/circle/getCanvasCircleRadius.d.ts +1 -1
- package/dist/esm/utilities/math/line/distanceToPointSquared.d.ts +1 -1
- package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +3 -3
- package/dist/esm/utilities/math/midPoint.d.ts +1 -1
- package/dist/esm/utilities/math/point/mirror.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/combinePolyline.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/getAABB.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/getLinesIntersection.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/getNormal2.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/getNormal3.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/intersectPolyline.d.ts +1 -1
- package/dist/esm/utilities/math/polyline/isClosed.js +2 -2
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +2 -2
- package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +1 -1
- package/dist/esm/utilities/orientation/getOrientationStringLPS.d.ts +1 -1
- package/dist/esm/utilities/planar/filterAnnotationsForDisplay.d.ts +1 -1
- 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 +1 -1
- package/dist/esm/utilities/planar/index.d.ts +3 -1
- package/dist/esm/utilities/planar/index.js +3 -1
- package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.d.ts +1 -1
- package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.d.ts +1 -1
- package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.d.ts +2 -2
- package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +3 -3
- package/dist/esm/utilities/planarFreehandROITool/smoothPoints.d.ts +11 -3
- package/dist/esm/utilities/polyData/utils.d.ts +1 -1
- package/dist/esm/utilities/scroll.d.ts +4 -3
- package/dist/esm/utilities/scroll.js +3 -10
- package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts +1 -1
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +1 -1
- package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +1 -1
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +2 -11
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -1
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +7 -7
- package/dist/esm/utilities/segmentation/floodFill.d.ts +1 -1
- package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
- package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +1 -1
- package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +8 -5
- package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.d.ts +1 -1
- package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +7 -4
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +0 -2
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +7 -27
- package/dist/esm/utilities/segmentation/index.d.ts +3 -3
- package/dist/esm/utilities/segmentation/index.js +3 -3
- package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +1 -4
- package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +1 -1
- package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +1 -1
- package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +5 -3
- package/dist/esm/utilities/segmentation/segmentContourAction.d.ts +1 -1
- package/dist/esm/utilities/segmentation/segmentContourAction.js +9 -9
- package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.d.ts +2 -2
- package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.js +24 -17
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +3 -3
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +21 -12
- package/dist/esm/utilities/segmentation/utilities.d.ts +16 -3
- package/dist/esm/utilities/segmentation/utilities.js +28 -23
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +30 -25
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +3 -8
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +2 -3
- package/dist/esm/utilities/stackPrefetch/state.d.ts +20 -1
- package/dist/esm/utilities/touch/index.d.ts +1 -1
- package/dist/esm/utilities/triggerAnnotationRender.d.ts +0 -20
- package/dist/esm/utilities/triggerAnnotationRender.js +1 -112
- package/dist/esm/utilities/viewport/isViewportPreScaled.d.ts +1 -1
- package/dist/esm/utilities/viewport/isViewportPreScaled.js +2 -5
- package/dist/esm/utilities/viewport/jumpToSlice.d.ts +1 -1
- package/dist/esm/utilities/viewport/jumpToSlice.js +4 -6
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +2 -2
- package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.d.ts +2 -2
- package/dist/esm/utilities/voi/colorbar/ViewportColorbar.d.ts +1 -1
- package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +1 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.d.ts +1 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.d.ts +1 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.d.ts +3 -3
- package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.d.ts +8 -0
- package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.js +4 -10
- package/dist/esm/widgets/types/index.d.ts +2 -2
- package/dist/esm/workers/polySegConverters.js +65 -32
- package/dist/umd/78.index.js +1 -1
- package/dist/umd/78.index.js.map +1 -1
- package/dist/umd/985.index.js +1 -1
- package/dist/umd/985.index.js.map +1 -1
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.LICENSE.txt +6 -0
- package/dist/umd/index.js.map +1 -1
- package/package.json +7 -8
- package/dist/esm/stateManagement/segmentation/addRepresentation.d.ts +0 -3
- package/dist/esm/stateManagement/segmentation/addRepresentations.d.ts +0 -3
- package/dist/esm/stateManagement/segmentation/addRepresentations.js +0 -9
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +0 -17
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +0 -54
- package/dist/esm/stateManagement/segmentation/helpers/getRepresentationRenderingConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/helpers/getRepresentationRenderingConfig.js +0 -11
- package/dist/esm/stateManagement/segmentation/removeRepresentationsFromViewport.d.ts +0 -2
- package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +0 -76
- package/dist/esm/tools/AdvancedMagnifyViewport.js +0 -351
- package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +0 -37
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js +0 -161
- package/dist/esm/utilities/contours/interpolation/index.d.ts +0 -2
- package/dist/esm/utilities/contours/interpolation/index.js +0 -2
- package/dist/esm/utilities/pointInShapeCallback.d.ts +0 -18
- package/dist/esm/utilities/pointInShapeCallback.js +0 -82
- package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +0 -4
- package/dist/esm/utilities/pointInSurroundingSphereCallback.js +0 -63
- package/dist/esm/utilities/segmentation/triggerSegmentationRender.d.ts +0 -3
- package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +0 -6
- package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.d.ts +0 -3
- package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.js +0 -6
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Types } from '@cornerstonejs/core';
|
|
2
|
-
import { PlanarFreehandROIAnnotation } from '../../types/ToolSpecificAnnotationTypes';
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import type { PlanarFreehandROIAnnotation } from '../../types/ToolSpecificAnnotationTypes';
|
|
3
3
|
export default function smoothAnnotation(enabledElement: Types.IEnabledElement, annotation: PlanarFreehandROIAnnotation, knotsRatioPercentage: number): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ToolGroupManager } from '../../store';
|
|
1
|
+
import PlanarFreehandROITool from '../../tools/annotation/PlanarFreehandROITool';
|
|
3
2
|
import interpolateSegmentPoints from './interpolation/interpolateSegmentPoints';
|
|
3
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
4
4
|
function shouldPreventInterpolation(enabledElement, annotation, knotsRatioPercentage) {
|
|
5
5
|
if (!annotation?.data?.polyline || knotsRatioPercentage <= 0) {
|
|
6
6
|
return true;
|
|
@@ -9,7 +9,7 @@ function shouldPreventInterpolation(enabledElement, annotation, knotsRatioPercen
|
|
|
9
9
|
return true;
|
|
10
10
|
}
|
|
11
11
|
const { renderingEngineId, viewportId, FrameOfReferenceUID } = enabledElement;
|
|
12
|
-
const toolGroup =
|
|
12
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
13
13
|
if (annotation.metadata.FrameOfReferenceUID !== FrameOfReferenceUID) {
|
|
14
14
|
return true;
|
|
15
15
|
}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import { Types } from '@cornerstonejs/core';
|
|
2
|
-
export declare function shouldSmooth(configuration: Record<
|
|
3
|
-
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
export declare function shouldSmooth(configuration: Record<string, {
|
|
3
|
+
smoothOnAdd: boolean;
|
|
4
|
+
smoothOnEdit: boolean;
|
|
5
|
+
}>, annotation?: any): boolean;
|
|
6
|
+
export declare function getInterpolatedPoints(configuration: Record<string, {
|
|
7
|
+
smoothOnAdd: boolean;
|
|
8
|
+
smoothOnEdit: boolean;
|
|
9
|
+
knotsRatioPercentageOnAdd: number;
|
|
10
|
+
knotsRatioPercentageOnEdit: number;
|
|
11
|
+
}>, points: Types.Point2[], pointsOfReference?: Types.Point2[]): Types.Point2[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
|
|
1
|
+
import type vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
|
|
2
2
|
import type { Types } from '@cornerstonejs/core';
|
|
3
3
|
export declare function getPoint(points: any, idx: any): Types.Point3;
|
|
4
4
|
export declare function getPolyDataPointIndexes(polyData: vtkPolyData): any[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Types
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { VolumeViewport } from '@cornerstonejs/core';
|
|
3
|
+
import type { ScrollOptions } from '../types';
|
|
4
|
+
export default function scroll(viewport: Types.IViewport | Types.IVideoViewport, options: ScrollOptions): void;
|
|
4
5
|
export declare function scrollVolume(viewport: VolumeViewport, volumeId: string, delta: number, scrollSlabs?: boolean): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StackViewport, VolumeViewport, eventTarget, EVENTS, utilities as csUtils, getEnabledElement,
|
|
1
|
+
import { StackViewport, VolumeViewport, eventTarget, EVENTS, utilities as csUtils, getEnabledElement, } from '@cornerstonejs/core';
|
|
2
2
|
export default function scroll(viewport, options) {
|
|
3
3
|
const enabledElement = getEnabledElement(viewport.element);
|
|
4
4
|
if (!enabledElement) {
|
|
@@ -8,19 +8,12 @@ export default function scroll(viewport, options) {
|
|
|
8
8
|
viewport.getImageIds().length === 0) {
|
|
9
9
|
throw new Error('Scroll::Stack Viewport has no images');
|
|
10
10
|
}
|
|
11
|
-
const { type: viewportType } = viewport;
|
|
12
11
|
const { volumeId, delta, scrollSlabs } = options;
|
|
13
|
-
if (viewport instanceof
|
|
14
|
-
viewport.scroll(delta, options.debounceLoading, options.loop);
|
|
15
|
-
}
|
|
16
|
-
else if (viewport instanceof VolumeViewport) {
|
|
12
|
+
if (viewport instanceof VolumeViewport) {
|
|
17
13
|
scrollVolume(viewport, volumeId, delta, scrollSlabs);
|
|
18
14
|
}
|
|
19
|
-
else if (viewport instanceof VideoViewport) {
|
|
20
|
-
viewport.scroll(delta);
|
|
21
|
-
}
|
|
22
15
|
else {
|
|
23
|
-
|
|
16
|
+
viewport.scroll(delta, options.debounceLoading, options.loop);
|
|
24
17
|
}
|
|
25
18
|
}
|
|
26
19
|
export function scrollVolume(viewport, volumeId, delta, scrollSlabs = false) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnnotationCompletedEventType, AnnotationModifiedEventType, AnnotationRemovedEventType } from '../../../types/EventTypes';
|
|
1
|
+
import type { AnnotationCompletedEventType, AnnotationModifiedEventType, AnnotationRemovedEventType } from '../../../types/EventTypes';
|
|
2
2
|
import type AnnotationGroupSelector from '../../../types/AnnotationGroupSelector';
|
|
3
3
|
import type { AcceptInterpolationSelector } from '../../../types/InterpolationTypes';
|
|
4
4
|
export default class InterpolationManager {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getToolGroup } from '../../store/ToolGroupManager';
|
|
2
2
|
import triggerAnnotationRenderForViewportIds from '../triggerAnnotationRenderForViewportIds';
|
|
3
3
|
import { getRenderingEngine } from '@cornerstonejs/core';
|
|
4
|
-
import { getBrushToolInstances } from './
|
|
4
|
+
import { getBrushToolInstances } from './getBrushToolInstances';
|
|
5
5
|
export function setBrushSizeForToolGroup(toolGroupId, brushSize, toolName) {
|
|
6
6
|
const toolGroup = getToolGroup(toolGroupId);
|
|
7
7
|
if (toolGroup === undefined) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getToolGroup } from '../../store/ToolGroupManager';
|
|
2
2
|
import triggerAnnotationRenderForViewportIds from '../triggerAnnotationRenderForViewportIds';
|
|
3
3
|
import { getRenderingEngine } from '@cornerstonejs/core';
|
|
4
|
-
import { getBrushToolInstances } from './
|
|
4
|
+
import { getBrushToolInstances } from './getBrushToolInstances';
|
|
5
5
|
export function setBrushThresholdForToolGroup(toolGroupId, threshold, otherArgs = { isDynamic: false }) {
|
|
6
6
|
const toolGroup = getToolGroup(toolGroupId);
|
|
7
7
|
if (toolGroup === undefined) {
|
|
@@ -3,16 +3,7 @@ export default function createLabelmapVolumeForViewport(input: {
|
|
|
3
3
|
viewportId: string;
|
|
4
4
|
renderingEngineId: string;
|
|
5
5
|
segmentationId?: string;
|
|
6
|
-
options?: {
|
|
7
|
-
volumeId
|
|
8
|
-
scalarData: Float32Array | Uint8Array | Uint16Array | Int16Array;
|
|
9
|
-
targetBuffer: {
|
|
10
|
-
type: 'Float32Array' | 'Uint8Array' | 'Uint16Array' | 'Int8Array';
|
|
11
|
-
};
|
|
12
|
-
metadata: Types.Metadata;
|
|
13
|
-
dimensions: Types.Point3;
|
|
14
|
-
spacing: Types.Point3;
|
|
15
|
-
origin: Types.Point3;
|
|
16
|
-
direction: Types.Mat3;
|
|
6
|
+
options?: Types.LocalVolumeOptions & {
|
|
7
|
+
volumeId?: string;
|
|
17
8
|
};
|
|
18
9
|
}): Promise<string>;
|
|
@@ -16,7 +16,7 @@ export default async function createLabelmapVolumeForViewport(input) {
|
|
|
16
16
|
}
|
|
17
17
|
if (options) {
|
|
18
18
|
const properties = structuredClone(options);
|
|
19
|
-
await volumeLoader.createLocalVolume(
|
|
19
|
+
await volumeLoader.createLocalVolume(segmentationId, properties);
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
22
|
const { uid: volumeId } = viewport.getDefaultActor();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Types } from '@cornerstonejs/core';
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
2
|
declare function createMergedLabelmapForIndex(labelmaps: Array<Types.IImageVolume>, segmentIndex?: number, volumeId?: string): Types.IImageVolume;
|
|
3
3
|
export default createMergedLabelmapForIndex;
|
|
@@ -9,12 +9,13 @@ function createMergedLabelmapForIndex(labelmaps, segmentIndex = 1, volumeId = 'm
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const labelmap = labelmaps[0];
|
|
12
|
-
const arrayType = labelmap.
|
|
13
|
-
const outputData = new arrayType(labelmap.
|
|
12
|
+
const arrayType = labelmap.voxelManager.getConstructor();
|
|
13
|
+
const outputData = new arrayType(labelmap.voxelManager.getScalarDataLength());
|
|
14
14
|
labelmaps.forEach((labelmap) => {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const voxelManager = labelmap.voxelManager;
|
|
16
|
+
const scalarDataLength = voxelManager.getScalarDataLength();
|
|
17
|
+
for (let i = 0; i < scalarDataLength; i++) {
|
|
18
|
+
if (voxelManager.getAtIndex(i) === segmentIndex) {
|
|
18
19
|
outputData[i] = segmentIndex;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
@@ -27,8 +28,7 @@ function createMergedLabelmapForIndex(labelmaps, segmentIndex = 1, volumeId = 'm
|
|
|
27
28
|
direction: labelmap.direction,
|
|
28
29
|
dimensions: labelmap.dimensions,
|
|
29
30
|
};
|
|
30
|
-
const
|
|
31
|
-
const mergedVolume = volumeLoader.createLocalVolume(options, volumeId, preventCache);
|
|
31
|
+
const mergedVolume = volumeLoader.createLocalVolume(volumeId, options);
|
|
32
32
|
return mergedVolume;
|
|
33
33
|
}
|
|
34
34
|
export default createMergedLabelmapForIndex;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { FloodFillResult, FloodFillGetter, FloodFillOptions } from '../../types';
|
|
2
|
-
import { Types } from '@cornerstonejs/core';
|
|
2
|
+
import type { Types } from '@cornerstonejs/core';
|
|
3
3
|
declare function floodFill(getter: FloodFillGetter, seed: Types.Point2 | Types.Point3, options?: FloodFillOptions): FloodFillResult;
|
|
4
4
|
export default floodFill;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getBrushToolInstances(toolGroupId: string, toolName?: string): any[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getToolGroup } from '../../store/ToolGroupManager';
|
|
2
|
+
import BrushTool from '../../tools/segmentation/BrushTool';
|
|
3
|
+
export function getBrushToolInstances(toolGroupId, toolName) {
|
|
4
|
+
const toolGroup = getToolGroup(toolGroupId);
|
|
5
|
+
if (toolGroup === undefined) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const toolInstances = toolGroup._toolInstances;
|
|
9
|
+
if (!Object.keys(toolInstances).length) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (toolName && toolInstances[toolName]) {
|
|
13
|
+
return [toolInstances[toolName]];
|
|
14
|
+
}
|
|
15
|
+
const brushBasedToolInstances = Object.values(toolInstances).filter((toolInstance) => toolInstance instanceof BrushTool);
|
|
16
|
+
return brushBasedToolInstances;
|
|
17
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Segmentation } from '../../types/SegmentationStateTypes';
|
|
1
|
+
import type { Segmentation } from '../../types/SegmentationStateTypes';
|
|
2
2
|
export default function getDefaultRepresentationConfig(segmentation: Segmentation): import("../../types/LabelmapTypes").LabelmapConfig;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cache, utilities } from '@cornerstonejs/core';
|
|
2
|
-
import { getSegmentation,
|
|
2
|
+
import { getSegmentation, getSegmentationRepresentationsForSegmentation, getCurrentLabelmapImageIdForViewport, } from '../../stateManagement/segmentation/segmentationState';
|
|
3
3
|
import { isVolumeSegmentation } from '../../tools/segmentation/strategies/utils/stackVolumeCheck';
|
|
4
4
|
export function getSegmentIndexAtLabelmapBorder(segmentationId, worldPoint, { viewport, searchRadius }) {
|
|
5
5
|
const segmentation = getSegmentation(segmentationId);
|
|
@@ -16,20 +16,23 @@ export function getSegmentIndexAtLabelmapBorder(segmentationId, worldPoint, { vi
|
|
|
16
16
|
const onEdge = isSegmentOnEdgeCanvas(canvasPoint, segmentIndex, viewport, imageData, searchRadius);
|
|
17
17
|
return onEdge ? segmentIndex : undefined;
|
|
18
18
|
}
|
|
19
|
-
const segmentationImageId =
|
|
19
|
+
const segmentationImageId = getCurrentLabelmapImageIdForViewport(viewport.id, segmentationId);
|
|
20
20
|
const currentImageId = viewport.getCurrentImageId();
|
|
21
21
|
const image = cache.getImage(segmentationImageId);
|
|
22
22
|
if (!image) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
const segmentationRepresentations =
|
|
25
|
+
const segmentationRepresentations = getSegmentationRepresentationsForSegmentation(segmentation.segmentationId);
|
|
26
26
|
const { segmentationRepresentationUID } = segmentationRepresentations[0];
|
|
27
27
|
const segmentationActor = viewport.getActor(segmentationRepresentationUID);
|
|
28
28
|
const imageData = segmentationActor?.actor.getMapper().getInputData();
|
|
29
29
|
const indexIJK = utilities.transformWorldToIndex(imageData, worldPoint);
|
|
30
30
|
const dimensions = imageData.getDimensions();
|
|
31
31
|
const voxelManager = (imageData.voxelManager ||
|
|
32
|
-
utilities.VoxelManager.
|
|
32
|
+
utilities.VoxelManager.createScalarVolumeVoxelManager({
|
|
33
|
+
dimensions,
|
|
34
|
+
scalarData: imageData.getPointData().getScalars().getData(),
|
|
35
|
+
}));
|
|
33
36
|
const segmentIndex = voxelManager.getAtIJKPoint(indexIJK);
|
|
34
37
|
const onEdge = isSegmentOnEdgeIJK(indexIJK, dimensions, voxelManager, segmentIndex);
|
|
35
38
|
return onEdge ? segmentIndex : undefined;
|
|
@@ -58,7 +61,7 @@ function isSegmentOnEdgeIJK(indexIJK, dimensions, voxelManager, segmentIndex, se
|
|
|
58
61
|
indexIJK[1] + deltaJ,
|
|
59
62
|
indexIJK[2] + deltaK,
|
|
60
63
|
];
|
|
61
|
-
return voxelManager.getAtIJK(
|
|
64
|
+
return voxelManager.getAtIJK(neighborIJK[0], neighborIJK[1], neighborIJK[2]);
|
|
62
65
|
};
|
|
63
66
|
return isSegmentOnEdge(getNeighborIndex, segmentIndex, searchRadius);
|
|
64
67
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Types } from '@cornerstonejs/core';
|
|
2
2
|
import { SegmentationRepresentations } from '../../enums';
|
|
3
|
-
import { Segmentation } from '../../types';
|
|
3
|
+
import type { Segmentation } from '../../types';
|
|
4
4
|
type Options = {
|
|
5
5
|
representationType?: SegmentationRepresentations;
|
|
6
6
|
viewport?: Types.IViewport;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cache, utilities } from '@cornerstonejs/core';
|
|
2
2
|
import { SegmentationRepresentations } from '../../enums';
|
|
3
|
-
import { getSegmentation,
|
|
3
|
+
import { getSegmentation, getSegmentationRepresentationsForSegmentation, getCurrentLabelmapImageIdForViewport, } from '../../stateManagement/segmentation/segmentationState';
|
|
4
4
|
import { isVolumeSegmentation } from '../../tools/segmentation/strategies/utils/stackVolumeCheck';
|
|
5
5
|
import { getAnnotation } from '../../stateManagement';
|
|
6
6
|
import { isPointInsidePolyline3D } from '../math/polyline';
|
|
@@ -31,19 +31,22 @@ export function getSegmentIndexAtWorldForLabelmap(segmentation, worldPoint, { vi
|
|
|
31
31
|
const segmentIndex = segmentationVolume.imageData.getScalarValueFromWorld(worldPoint);
|
|
32
32
|
return segmentIndex;
|
|
33
33
|
}
|
|
34
|
-
const segmentationImageId =
|
|
34
|
+
const segmentationImageId = getCurrentLabelmapImageIdForViewport(viewport.id, segmentation.segmentationId);
|
|
35
35
|
const image = cache.getImage(segmentationImageId);
|
|
36
36
|
if (!image) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
const segmentationRepresentations =
|
|
39
|
+
const segmentationRepresentations = getSegmentationRepresentationsForSegmentation(segmentation.segmentationId);
|
|
40
40
|
const { segmentationRepresentationUID } = segmentationRepresentations[0];
|
|
41
41
|
const segmentationActor = viewport.getActor(segmentationRepresentationUID);
|
|
42
42
|
const imageData = segmentationActor?.actor.getMapper().getInputData();
|
|
43
43
|
const indexIJK = utilities.transformWorldToIndex(imageData, worldPoint);
|
|
44
44
|
const dimensions = imageData.getDimensions();
|
|
45
45
|
const voxelManager = (imageData.voxelManager ||
|
|
46
|
-
utilities.VoxelManager.
|
|
46
|
+
utilities.VoxelManager.createScalarVolumeVoxelManager({
|
|
47
|
+
dimensions,
|
|
48
|
+
scalarData: imageData.getPointData().getScalars().getData(),
|
|
49
|
+
}));
|
|
47
50
|
const segmentIndex = voxelManager.getAtIJKPoint(indexIJK);
|
|
48
51
|
return segmentIndex;
|
|
49
52
|
}
|
|
@@ -1,27 +1,8 @@
|
|
|
1
1
|
import { cache } from '@cornerstonejs/core';
|
|
2
|
-
import { getSegmentation } from '../../stateManagement/segmentation/segmentationState';
|
|
3
2
|
import { isVolumeSegmentation } from '../../tools/segmentation/strategies/utils/stackVolumeCheck';
|
|
4
3
|
import { SegmentationRepresentations } from '../../enums';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const cached = segmentIndicesCache.get(segmentationId);
|
|
8
|
-
if (cached) {
|
|
9
|
-
cached.isDirty = true;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
export const setSegmentationClean = (segmentationId) => {
|
|
13
|
-
const cached = segmentIndicesCache.get(segmentationId);
|
|
14
|
-
if (cached) {
|
|
15
|
-
cached.isDirty = false;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
function getCachedSegmentIndices(segmentationId) {
|
|
19
|
-
const cached = segmentIndicesCache.get(segmentationId);
|
|
20
|
-
if (cached && !cached.isDirty) {
|
|
21
|
-
return cached.indices;
|
|
22
|
-
}
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
4
|
+
import { getCachedSegmentIndices, setCachedSegmentIndices } from './utilities';
|
|
5
|
+
import { getSegmentation } from '../../stateManagement/segmentation/getSegmentation';
|
|
25
6
|
function getUniqueSegmentIndices(segmentationId) {
|
|
26
7
|
const cachedResult = getCachedSegmentIndices(segmentationId);
|
|
27
8
|
if (cachedResult) {
|
|
@@ -45,7 +26,7 @@ function getUniqueSegmentIndices(segmentationId) {
|
|
|
45
26
|
default:
|
|
46
27
|
throw new Error(`Unsupported segmentation type: ${segmentation.type}`);
|
|
47
28
|
}
|
|
48
|
-
|
|
29
|
+
setCachedSegmentIndices(segmentationId, indices);
|
|
49
30
|
return indices;
|
|
50
31
|
}
|
|
51
32
|
function handleLabelmapSegmentation(segmentation, segmentationId) {
|
|
@@ -63,17 +44,16 @@ function handleLabelmapSegmentation(segmentation, segmentationId) {
|
|
|
63
44
|
}
|
|
64
45
|
function addVolumeSegmentIndices(keySet, segmentationId) {
|
|
65
46
|
const volume = cache.getVolume(segmentationId);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
keySet.add(segmentIndex);
|
|
47
|
+
volume.voxelManager.forEach(({ value }) => {
|
|
48
|
+
if (value !== 0) {
|
|
49
|
+
keySet.add(value);
|
|
70
50
|
}
|
|
71
51
|
});
|
|
72
52
|
}
|
|
73
53
|
function addImageSegmentIndices(keySet, imageIds) {
|
|
74
54
|
imageIds.forEach((segmentationImageId) => {
|
|
75
55
|
const image = cache.getImage(segmentationImageId);
|
|
76
|
-
const scalarData = image.
|
|
56
|
+
const scalarData = image.voxelManager.getScalarData();
|
|
77
57
|
scalarData.forEach((segmentIndex) => {
|
|
78
58
|
if (segmentIndex !== 0) {
|
|
79
59
|
keySet.add(segmentIndex);
|
|
@@ -4,7 +4,7 @@ import createMergedLabelmapForIndex from './createMergedLabelmapForIndex';
|
|
|
4
4
|
import isValidRepresentationConfig from './isValidRepresentationConfig';
|
|
5
5
|
import getDefaultRepresentationConfig from './getDefaultRepresentationConfig';
|
|
6
6
|
import createLabelmapVolumeForViewport from './createLabelmapVolumeForViewport';
|
|
7
|
-
import { triggerSegmentationRender } from '
|
|
7
|
+
import { triggerSegmentationRender, triggerSegmentationRenderBySegmentationId } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
8
8
|
import floodFill from './floodFill';
|
|
9
9
|
import { getBrushSizeForToolGroup, setBrushSizeForToolGroup } from './brushSizeForToolGroup';
|
|
10
10
|
import { getBrushThresholdForToolGroup, setBrushThresholdForToolGroup } from './brushThresholdForToolGroup';
|
|
@@ -17,5 +17,5 @@ import { getUniqueSegmentIndices } from './getUniqueSegmentIndices';
|
|
|
17
17
|
import { getSegmentIndexAtWorldPoint } from './getSegmentIndexAtWorldPoint';
|
|
18
18
|
import { getSegmentIndexAtLabelmapBorder } from './getSegmentIndexAtLabelmapBorder';
|
|
19
19
|
import { getHoveredContourSegmentationAnnotation } from './getHoveredContourSegmentationAnnotation';
|
|
20
|
-
import { getBrushToolInstances } from './
|
|
21
|
-
export { thresholdVolumeByRange, createMergedLabelmapForIndex, isValidRepresentationConfig, getDefaultRepresentationConfig, createLabelmapVolumeForViewport, rectangleROIThresholdVolumeByRange, triggerSegmentationRender, floodFill, getBrushSizeForToolGroup, setBrushSizeForToolGroup, getBrushThresholdForToolGroup, setBrushThresholdForToolGroup, thresholdSegmentationByRange, contourAndFindLargestBidirectional, createBidirectionalToolData, segmentContourAction, invalidateBrushCursor, getUniqueSegmentIndices, getSegmentIndexAtWorldPoint, getSegmentIndexAtLabelmapBorder, getHoveredContourSegmentationAnnotation, getBrushToolInstances, };
|
|
20
|
+
import { getBrushToolInstances } from './getBrushToolInstances';
|
|
21
|
+
export { thresholdVolumeByRange, createMergedLabelmapForIndex, isValidRepresentationConfig, getDefaultRepresentationConfig, createLabelmapVolumeForViewport, rectangleROIThresholdVolumeByRange, triggerSegmentationRender, triggerSegmentationRenderBySegmentationId, floodFill, getBrushSizeForToolGroup, setBrushSizeForToolGroup, getBrushThresholdForToolGroup, setBrushThresholdForToolGroup, thresholdSegmentationByRange, contourAndFindLargestBidirectional, createBidirectionalToolData, segmentContourAction, invalidateBrushCursor, getUniqueSegmentIndices, getSegmentIndexAtWorldPoint, getSegmentIndexAtLabelmapBorder, getHoveredContourSegmentationAnnotation, getBrushToolInstances, };
|
|
@@ -4,7 +4,7 @@ import createMergedLabelmapForIndex from './createMergedLabelmapForIndex';
|
|
|
4
4
|
import isValidRepresentationConfig from './isValidRepresentationConfig';
|
|
5
5
|
import getDefaultRepresentationConfig from './getDefaultRepresentationConfig';
|
|
6
6
|
import createLabelmapVolumeForViewport from './createLabelmapVolumeForViewport';
|
|
7
|
-
import { triggerSegmentationRender } from '
|
|
7
|
+
import { triggerSegmentationRender, triggerSegmentationRenderBySegmentationId, } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
8
8
|
import floodFill from './floodFill';
|
|
9
9
|
import { getBrushSizeForToolGroup, setBrushSizeForToolGroup, } from './brushSizeForToolGroup';
|
|
10
10
|
import { getBrushThresholdForToolGroup, setBrushThresholdForToolGroup, } from './brushThresholdForToolGroup';
|
|
@@ -17,5 +17,5 @@ import { getUniqueSegmentIndices } from './getUniqueSegmentIndices';
|
|
|
17
17
|
import { getSegmentIndexAtWorldPoint } from './getSegmentIndexAtWorldPoint';
|
|
18
18
|
import { getSegmentIndexAtLabelmapBorder } from './getSegmentIndexAtLabelmapBorder';
|
|
19
19
|
import { getHoveredContourSegmentationAnnotation } from './getHoveredContourSegmentationAnnotation';
|
|
20
|
-
import { getBrushToolInstances } from './
|
|
21
|
-
export { thresholdVolumeByRange, createMergedLabelmapForIndex, isValidRepresentationConfig, getDefaultRepresentationConfig, createLabelmapVolumeForViewport, rectangleROIThresholdVolumeByRange, triggerSegmentationRender, floodFill, getBrushSizeForToolGroup, setBrushSizeForToolGroup, getBrushThresholdForToolGroup, setBrushThresholdForToolGroup, thresholdSegmentationByRange, contourAndFindLargestBidirectional, createBidirectionalToolData, segmentContourAction, invalidateBrushCursor, getUniqueSegmentIndices, getSegmentIndexAtWorldPoint, getSegmentIndexAtLabelmapBorder, getHoveredContourSegmentationAnnotation, getBrushToolInstances, };
|
|
20
|
+
import { getBrushToolInstances } from './getBrushToolInstances';
|
|
21
|
+
export { thresholdVolumeByRange, createMergedLabelmapForIndex, isValidRepresentationConfig, getDefaultRepresentationConfig, createLabelmapVolumeForViewport, rectangleROIThresholdVolumeByRange, triggerSegmentationRender, triggerSegmentationRenderBySegmentationId, floodFill, getBrushSizeForToolGroup, setBrushSizeForToolGroup, getBrushThresholdForToolGroup, setBrushThresholdForToolGroup, thresholdSegmentationByRange, contourAndFindLargestBidirectional, createBidirectionalToolData, segmentContourAction, invalidateBrushCursor, getUniqueSegmentIndices, getSegmentIndexAtWorldPoint, getSegmentIndexAtLabelmapBorder, getHoveredContourSegmentationAnnotation, getBrushToolInstances, };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getToolGroup } from '../../store/ToolGroupManager';
|
|
2
2
|
import triggerAnnotationRenderForViewportIds from '../triggerAnnotationRenderForViewportIds';
|
|
3
|
-
import {
|
|
4
|
-
import { getBrushToolInstances } from './utilities';
|
|
3
|
+
import { getBrushToolInstances } from './getBrushToolInstances';
|
|
5
4
|
export function invalidateBrushCursor(toolGroupId) {
|
|
6
5
|
const toolGroup = getToolGroup(toolGroupId);
|
|
7
6
|
if (toolGroup === undefined) {
|
|
@@ -16,8 +15,6 @@ export function invalidateBrushCursor(toolGroupId) {
|
|
|
16
15
|
if (!viewportsInfoArray.length) {
|
|
17
16
|
return;
|
|
18
17
|
}
|
|
19
|
-
const { renderingEngineId } = viewportsInfoArray[0];
|
|
20
18
|
const viewportIds = toolGroup.getViewportIds();
|
|
21
|
-
const renderingEngine = getRenderingEngine(renderingEngineId);
|
|
22
19
|
triggerAnnotationRenderForViewportIds(viewportIds);
|
|
23
20
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { RepresentationConfig } from '../../types/SegmentationStateTypes';
|
|
1
|
+
import type { RepresentationConfig } from '../../types/SegmentationStateTypes';
|
|
2
2
|
export default function isValidRepresentationConfig(representationType: string, config: RepresentationConfig): boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { state } from '../../stateManagement/annotation';
|
|
2
|
-
import
|
|
2
|
+
import RectangleROIStartEndThresholdTool from '../../tools/segmentation/RectangleROIStartEndThresholdTool';
|
|
3
|
+
import RectangleROIThresholdTool from '../../tools/segmentation/RectangleROIThresholdTool';
|
|
3
4
|
import thresholdVolumeByRange from './thresholdVolumeByRange';
|
|
4
5
|
import getBoundsIJKFromRectangleAnnotations from '../rectangleROITool/getBoundsIJKFromRectangleAnnotations';
|
|
5
6
|
function rectangleROIThresholdVolumeByRange(annotationUIDs, segmentationVolume, thresholdVolumeInformation, options) {
|
|
@@ -9,8 +10,9 @@ function rectangleROIThresholdVolumeByRange(annotationUIDs, segmentationVolume,
|
|
|
9
10
|
_validateAnnotations(annotations);
|
|
10
11
|
let boundsIJK;
|
|
11
12
|
for (let i = 0; i < thresholdVolumeInformation.length; i++) {
|
|
12
|
-
const volumeSize = thresholdVolumeInformation[i].volume.
|
|
13
|
-
if (volumeSize === segmentationVolume.
|
|
13
|
+
const volumeSize = thresholdVolumeInformation[i].volume.voxelManager.getScalarDataLength();
|
|
14
|
+
if (volumeSize === segmentationVolume.voxelManager.getScalarDataLength() ||
|
|
15
|
+
i === 0) {
|
|
14
16
|
boundsIJK = getBoundsIJKFromRectangleAnnotations(annotations, thresholdVolumeInformation[i].volume, options);
|
|
15
17
|
}
|
|
16
18
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { getEnabledElement } from '@cornerstonejs/core';
|
|
2
|
-
import * as segmentation from '../../stateManagement/segmentation';
|
|
3
2
|
import { state as annotationState, config as annotationConfig, } from '../../stateManagement/annotation';
|
|
4
3
|
import { jumpToSlice } from '../viewport';
|
|
5
4
|
import contourAndFindLargestBidirectional from './contourAndFindLargestBidirectional';
|
|
6
5
|
import createBidirectionalToolData from './createBidirectionalToolData';
|
|
7
6
|
import BidirectionalTool from '../../tools/annotation/BidirectionalTool';
|
|
7
|
+
import { getSegmentations } from '../../stateManagement/segmentation/getSegmentations';
|
|
8
|
+
import { getActiveSegmentIndex } from '../../stateManagement/segmentation/getActiveSegmentIndex';
|
|
8
9
|
export default function segmentContourAction(element, configuration) {
|
|
9
10
|
const { data: configurationData } = configuration;
|
|
10
11
|
const enabledElement = getEnabledElement(element);
|
|
@@ -13,21 +14,21 @@ export default function segmentContourAction(element, configuration) {
|
|
|
13
14
|
return;
|
|
14
15
|
}
|
|
15
16
|
const FrameOfReferenceUID = enabledElement.viewport.getFrameOfReferenceUID();
|
|
16
|
-
const segmentationsList =
|
|
17
|
+
const segmentationsList = getSegmentations();
|
|
17
18
|
const { segmentIndex, segmentationId } = segment;
|
|
18
19
|
const bidirectionals = annotationState.getAnnotations(this.toolName || BidirectionalTool.toolName, FrameOfReferenceUID);
|
|
19
20
|
let hasExistingActiveSegment = false;
|
|
20
21
|
const existingLargestBidirectionals = bidirectionals.filter((existingBidirectionalItem) => {
|
|
21
|
-
const
|
|
22
|
+
const segment = existingBidirectionalItem.data.segment;
|
|
22
23
|
if (!segment) {
|
|
23
|
-
return;
|
|
24
|
+
return false;
|
|
24
25
|
}
|
|
25
26
|
if (segment.segmentationId === segmentationId &&
|
|
26
27
|
segment.segmentIndex === segmentIndex) {
|
|
27
28
|
hasExistingActiveSegment = true;
|
|
28
29
|
existingBidirectionalItem.data.segment = segment;
|
|
29
30
|
}
|
|
30
|
-
return
|
|
31
|
+
return true;
|
|
31
32
|
});
|
|
32
33
|
if (!hasExistingActiveSegment) {
|
|
33
34
|
existingLargestBidirectionals.push({
|
|
@@ -37,7 +38,7 @@ export default function segmentContourAction(element, configuration) {
|
|
|
37
38
|
let newBidirectional;
|
|
38
39
|
existingLargestBidirectionals.forEach((existingLargestBidirectional) => {
|
|
39
40
|
const segments = [];
|
|
40
|
-
const
|
|
41
|
+
const updateSegment = existingLargestBidirectional.data.segment;
|
|
41
42
|
const { segmentIndex, segmentationId } = updateSegment;
|
|
42
43
|
segments[segmentIndex] = updateSegment;
|
|
43
44
|
annotationState.removeAnnotation(existingLargestBidirectional.annotationUID);
|
|
@@ -76,13 +77,12 @@ export default function segmentContourAction(element, configuration) {
|
|
|
76
77
|
return newBidirectional;
|
|
77
78
|
}
|
|
78
79
|
export function defaultGetSegment(enabledElement, configuration) {
|
|
79
|
-
const segmentationsList =
|
|
80
|
+
const segmentationsList = getSegmentations();
|
|
80
81
|
if (!segmentationsList.length) {
|
|
81
82
|
return;
|
|
82
83
|
}
|
|
83
84
|
const segmentationId = configuration.segmentationId || segmentationsList[0].segmentationId;
|
|
84
|
-
const segmentIndex = configuration.segmentIndex ??
|
|
85
|
-
segmentation.segmentIndex.getActiveSegmentIndex(segmentationId);
|
|
85
|
+
const segmentIndex = configuration.segmentIndex ?? getActiveSegmentIndex(segmentationId);
|
|
86
86
|
if (!segmentIndex) {
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Types } from '@cornerstonejs/core';
|
|
2
|
-
import { ThresholdInformation } from './utilities';
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import type { ThresholdInformation } from './utilities';
|
|
3
3
|
declare function thresholdSegmentationByRange(segmentationVolume: Types.IImageVolume, segmentationIndex: number, thresholdVolumeInformation: ThresholdInformation[], overlapType: number): Types.IImageVolume;
|
|
4
4
|
export default thresholdSegmentationByRange;
|
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
import { pointInShapeCallback } from '../../utilities';
|
|
2
1
|
import { triggerSegmentationDataModified } from '../../stateManagement/segmentation/triggerSegmentationEvents';
|
|
3
|
-
import { getVoxelOverlap, processVolumes
|
|
2
|
+
import { getVoxelOverlap, processVolumes } from './utilities';
|
|
4
3
|
function thresholdSegmentationByRange(segmentationVolume, segmentationIndex, thresholdVolumeInformation, overlapType) {
|
|
5
|
-
const scalarData = segmentationVolume.getScalarData();
|
|
6
4
|
const { baseVolumeIdx, volumeInfoList } = processVolumes(segmentationVolume, thresholdVolumeInformation);
|
|
5
|
+
const { voxelManager } = volumeInfoList[baseVolumeIdx];
|
|
6
|
+
const refVoxelManager = voxelManager;
|
|
7
|
+
const scalarDataLength = segmentationVolume.voxelManager.getScalarDataLength();
|
|
8
|
+
const segVoxelManager = segmentationVolume.voxelManager;
|
|
7
9
|
volumeInfoList.forEach((volumeInfo) => {
|
|
8
10
|
const { volumeSize } = volumeInfo;
|
|
9
|
-
if (volumeSize ===
|
|
10
|
-
_handleSameSizeVolume(
|
|
11
|
+
if (volumeSize === scalarDataLength) {
|
|
12
|
+
_handleSameSizeVolume(segVoxelManager, refVoxelManager, segmentationIndex, volumeInfo);
|
|
11
13
|
}
|
|
12
14
|
else {
|
|
13
|
-
_handleDifferentSizeVolume(
|
|
15
|
+
_handleDifferentSizeVolume(segVoxelManager, refVoxelManager, segmentationIndex, volumeInfo, volumeInfoList, baseVolumeIdx, overlapType);
|
|
14
16
|
}
|
|
15
17
|
});
|
|
16
18
|
triggerSegmentationDataModified(segmentationVolume.volumeId);
|
|
17
19
|
return segmentationVolume;
|
|
18
20
|
}
|
|
19
|
-
function _handleDifferentSizeVolume(
|
|
21
|
+
function _handleDifferentSizeVolume(segVoxelManager, refVoxelManager, segmentationIndex, volumeInfo, volumeInfoList, baseVolumeIdx, overlapType) {
|
|
20
22
|
const { imageData, lower, upper, dimensions } = volumeInfo;
|
|
21
23
|
let total, overlaps, range;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
const segScalarDataLength = segVoxelManager.getScalarDataLength();
|
|
25
|
+
for (let i = 0; i < segScalarDataLength; i++) {
|
|
26
|
+
if (segScalarDataLength.getAtIndex(i) === segmentationIndex) {
|
|
24
27
|
const overlapBounds = getVoxelOverlap(imageData, dimensions, volumeInfoList[baseVolumeIdx].spacing, volumeInfoList[baseVolumeIdx].imageData.getPoint(i));
|
|
25
28
|
const callbackOverlap = ({ value }) => {
|
|
26
29
|
total = total + 1;
|
|
@@ -32,19 +35,23 @@ function _handleDifferentSizeVolume(scalarData, segmentationIndex, volumeInfo, v
|
|
|
32
35
|
overlaps = 0;
|
|
33
36
|
range = { lower, upper };
|
|
34
37
|
let overlapTest = false;
|
|
35
|
-
|
|
38
|
+
segVoxelManager.forEach(callbackOverlap, {
|
|
39
|
+
imageData,
|
|
40
|
+
boundsIJK: overlapBounds,
|
|
41
|
+
});
|
|
36
42
|
overlapTest = overlapType === 0 ? overlaps > 0 : overlaps === total;
|
|
37
|
-
|
|
43
|
+
segVoxelManager.setAtIndex(i, overlapTest ? segmentationIndex : 0);
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
return { total, range, overlaps };
|
|
41
47
|
}
|
|
42
|
-
function _handleSameSizeVolume(
|
|
43
|
-
const {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
function _handleSameSizeVolume(segVoxelManager, refVoxelManager, segmentationIndex, volumeInfo) {
|
|
49
|
+
const { lower, upper } = volumeInfo;
|
|
50
|
+
const scalarDataLength = segVoxelManager.getScalarDataLength();
|
|
51
|
+
for (let i = 0; i < scalarDataLength; i++) {
|
|
52
|
+
if (segVoxelManager.getAtIndex[i] === segmentationIndex) {
|
|
53
|
+
const value = refVoxelManager.getAtIndex(i);
|
|
54
|
+
segVoxelManager.setAtIndex(i, value >= lower && value <= upper ? segmentationIndex : 0);
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
}
|