@cornerstonejs/tools 2.0.0-beta.20 → 2.0.0-beta.21
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/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 +1 -1
- 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/keyUp.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +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/getActiveToolForKeyboardEvent.d.ts +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +3 -4
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.d.ts +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.d.ts +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +4 -3
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +3 -3
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +2 -2
- package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.d.ts +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.d.ts +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.d.ts +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/contourSegmentation/contourSegmentationCompleted.d.ts +3 -3
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +1 -1
- 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 +6 -6
- 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 +2 -2
- package/dist/esm/index.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/annotationLocking.d.ts +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/annotationVisibility.d.ts +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/helpers/state.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/utilities/defineProperties.d.ts +1 -1
- package/dist/esm/stateManagement/index.d.ts +3 -3
- package/dist/esm/stateManagement/index.js +2 -2
- package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.d.ts +3 -3
- package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.js +14 -17
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +12 -12
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +27 -19
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +5 -4
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +12 -5
- package/dist/esm/stateManagement/segmentation/addRepresentationData.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/{addRepresentation.js → addSegmentationRepresentation.js} +6 -6
- 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 +2 -2
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +5 -5
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +5 -5
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +5 -5
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +12 -12
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +3 -7
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +8 -53
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/helpers/{getRepresentationRenderingConfig.js → getSegmentationRepresentationRenderingConfig.js} +2 -2
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/index.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/index.js +3 -3
- 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 +3 -3
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts +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 +12 -21
- 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 +8 -13
- 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 +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +4 -3
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/{removeRepresentationsFromViewport.js → removeSegmentationRepresentations.js} +9 -6
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +2 -2
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +2 -2
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +16 -16
- package/dist/esm/stateManagement/segmentation/segmentationState.js +30 -30
- 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 +1 -1
- package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +3 -3
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +5 -2
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +1 -0
- package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +1 -1
- package/dist/esm/store/addEnabledElement.d.ts +1 -1
- package/dist/esm/store/addEnabledElement.js +1 -1
- package/dist/esm/store/addTool.js +0 -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/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 +4 -6
- package/dist/esm/tools/AdvancedMagnifyViewport.js +1 -1
- package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +3 -2
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js +1 -1
- package/dist/esm/tools/AnnotationEraserTool.d.ts +1 -1
- package/dist/esm/tools/CrosshairsTool.d.ts +5 -5
- package/dist/esm/tools/CrosshairsTool.js +4 -3
- 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/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/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 +1 -3
- 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/ArrowAnnotateTool.d.ts +5 -7
- package/dist/esm/tools/annotation/BidirectionalTool.d.ts +5 -7
- package/dist/esm/tools/annotation/CircleROITool.d.ts +5 -7
- package/dist/esm/tools/annotation/CircleROITool.js +8 -5
- package/dist/esm/tools/annotation/CobbAngleTool.d.ts +5 -7
- 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 +8 -3
- package/dist/esm/tools/annotation/HeightTool.d.ts +36 -0
- package/dist/esm/tools/annotation/HeightTool.js +435 -0
- package/dist/esm/tools/annotation/KeyImageTool.d.ts +4 -6
- package/dist/esm/tools/annotation/LengthTool.d.ts +5 -7
- package/dist/esm/tools/annotation/LengthTool.js +7 -5
- package/dist/esm/tools/annotation/LivewireContourTool.d.ts +3 -4
- package/dist/esm/tools/annotation/LivewireContourTool.js +2 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +21 -4
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +155 -113
- package/dist/esm/tools/annotation/ProbeTool.d.ts +4 -6
- package/dist/esm/tools/annotation/ProbeTool.js +14 -29
- package/dist/esm/tools/annotation/RectangleROITool.d.ts +5 -5
- package/dist/esm/tools/annotation/RectangleROITool.js +7 -3
- 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 +2 -2
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.d.ts +5 -7
- package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +4 -5
- package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +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 +3 -3
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +10 -10
- 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 +2 -1
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +2 -2
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +4 -4
- 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 +3 -3
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +5 -5
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +10 -8
- 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/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 +5 -5
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.d.ts +20 -15
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +199 -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 +174 -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 +2 -2
- 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 +2 -2
- 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/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/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/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/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/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/getVOIMultipliers.d.ts +1 -1
- package/dist/esm/utilities/index.d.ts +1 -3
- package/dist/esm/utilities/index.js +1 -3
- 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/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/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/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/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/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.js +4 -5
- package/dist/esm/utilities/segmentation/index.d.ts +2 -2
- package/dist/esm/utilities/segmentation/index.js +2 -2
- 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 +3 -2
- package/dist/esm/utilities/segmentation/segmentContourAction.d.ts +1 -1
- package/dist/esm/utilities/segmentation/segmentContourAction.js +4 -4
- 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/triggerSegmentationRender.d.ts +3 -3
- package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +7 -5
- package/dist/esm/utilities/segmentation/utilities.d.ts +12 -2
- package/dist/esm/utilities/segmentation/utilities.js +5 -6
- 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/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 +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -7
- 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/helpers/getRepresentationRenderingConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/removeRepresentationsFromViewport.d.ts +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/triggerSegmentationRenderForViewports.d.ts +0 -3
- package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.js +0 -6
|
@@ -59,15 +59,15 @@ export default class SegmentationStateManager {
|
|
|
59
59
|
removeSegmentation(segmentationId) {
|
|
60
60
|
this.state.segmentations = this.state.segmentations.filter((segmentation) => segmentation.segmentationId !== segmentationId);
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
getSegmentationRepresentation(segmentationRepresentationUID) {
|
|
63
63
|
return this.state.representations[segmentationRepresentationUID];
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
addSegmentationRepresentationState(segmentationRepresentation) {
|
|
66
66
|
const { segmentationRepresentationUID } = segmentationRepresentation;
|
|
67
67
|
this.state.representations[segmentationRepresentationUID] =
|
|
68
68
|
segmentationRepresentation;
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
addSegmentationRepresentationToViewport(viewportId, segmentationRepresentationUID) {
|
|
71
71
|
const enabledElement = getEnabledElementByViewportId(viewportId);
|
|
72
72
|
if (!enabledElement) {
|
|
73
73
|
return;
|
|
@@ -75,20 +75,25 @@ export default class SegmentationStateManager {
|
|
|
75
75
|
if (!this.state.viewports[viewportId]) {
|
|
76
76
|
this.state.viewports[viewportId] = {};
|
|
77
77
|
}
|
|
78
|
-
const representation = this.
|
|
78
|
+
const representation = this.getSegmentationRepresentation(segmentationRepresentationUID);
|
|
79
79
|
if (representation.type !== SegmentationRepresentations.Labelmap) {
|
|
80
|
-
this.
|
|
80
|
+
this.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
const volumeViewport = enabledElement.viewport instanceof BaseVolumeViewport;
|
|
84
84
|
const segmentation = this.getSegmentation(representation.segmentationId);
|
|
85
85
|
const { representationData } = segmentation;
|
|
86
|
+
const isLabelmap = representationData.LABELMAP;
|
|
87
|
+
if (!isLabelmap) {
|
|
88
|
+
this.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
86
91
|
const isBaseVolumeSegmentation = 'volumeId' in representationData.LABELMAP;
|
|
87
92
|
if (!volumeViewport) {
|
|
88
93
|
if (isBaseVolumeSegmentation) {
|
|
89
94
|
}
|
|
90
95
|
else {
|
|
91
|
-
this.
|
|
96
|
+
this.updateLabelmapSegmentationImageReferences(viewportId, segmentation.segmentationId);
|
|
92
97
|
}
|
|
93
98
|
}
|
|
94
99
|
else {
|
|
@@ -104,9 +109,9 @@ export default class SegmentationStateManager {
|
|
|
104
109
|
else {
|
|
105
110
|
}
|
|
106
111
|
}
|
|
107
|
-
this.
|
|
112
|
+
this.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
|
|
108
113
|
}
|
|
109
|
-
|
|
114
|
+
updateLabelmapSegmentationImageReferences(viewportId, segmentationId) {
|
|
110
115
|
const segmentation = this.getSegmentation(segmentationId);
|
|
111
116
|
if (!segmentation) {
|
|
112
117
|
return;
|
|
@@ -115,6 +120,9 @@ export default class SegmentationStateManager {
|
|
|
115
120
|
this._stackLabelmapImageIdReferenceMap.set(segmentationId, new Map());
|
|
116
121
|
}
|
|
117
122
|
const { representationData } = segmentation;
|
|
123
|
+
if (!representationData.LABELMAP) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
118
126
|
const labelmapImageIds = this.getLabelmapImageIds(representationData);
|
|
119
127
|
const enabledElement = getEnabledElementByViewportId(viewportId);
|
|
120
128
|
const stackViewport = enabledElement.viewport;
|
|
@@ -147,7 +155,7 @@ export default class SegmentationStateManager {
|
|
|
147
155
|
}
|
|
148
156
|
return labelmapImageIds;
|
|
149
157
|
}
|
|
150
|
-
|
|
158
|
+
getCurrentLabelmapImageIdForViewport(viewportId, segmentationId) {
|
|
151
159
|
const enabledElement = getEnabledElementByViewportId(viewportId);
|
|
152
160
|
if (!enabledElement) {
|
|
153
161
|
return;
|
|
@@ -160,13 +168,13 @@ export default class SegmentationStateManager {
|
|
|
160
168
|
const imageIdReferenceMap = this._stackLabelmapImageIdReferenceMap.get(segmentationId);
|
|
161
169
|
return imageIdReferenceMap.get(currentImageId);
|
|
162
170
|
}
|
|
163
|
-
|
|
171
|
+
getSegmentationRepresentations(viewportId) {
|
|
164
172
|
const viewport = this.state.viewports[viewportId];
|
|
165
173
|
if (!viewport) {
|
|
166
174
|
return [];
|
|
167
175
|
}
|
|
168
176
|
return Object.keys(viewport).map((segRepUID) => {
|
|
169
|
-
return this.
|
|
177
|
+
return this.getSegmentationRepresentation(segRepUID);
|
|
170
178
|
});
|
|
171
179
|
}
|
|
172
180
|
removeRepresentation(segmentationRepresentationUID) {
|
|
@@ -175,7 +183,7 @@ export default class SegmentationStateManager {
|
|
|
175
183
|
delete this.state.viewports[viewportId][segmentationRepresentationUID];
|
|
176
184
|
});
|
|
177
185
|
}
|
|
178
|
-
|
|
186
|
+
setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID) {
|
|
179
187
|
Object.keys(this.state.viewports[viewportId]).forEach((segRepUID) => {
|
|
180
188
|
this.state.viewports[viewportId][segRepUID].active = false;
|
|
181
189
|
});
|
|
@@ -192,7 +200,7 @@ export default class SegmentationStateManager {
|
|
|
192
200
|
this.state.viewports[viewportId][segmentationRepresentationUID].active =
|
|
193
201
|
true;
|
|
194
202
|
}
|
|
195
|
-
|
|
203
|
+
getActiveSegmentationRepresentation(viewportId) {
|
|
196
204
|
if (!this.state.viewports?.[viewportId]) {
|
|
197
205
|
return;
|
|
198
206
|
}
|
|
@@ -200,7 +208,7 @@ export default class SegmentationStateManager {
|
|
|
200
208
|
if (!activeSegRep) {
|
|
201
209
|
return;
|
|
202
210
|
}
|
|
203
|
-
return this.
|
|
211
|
+
return this.getSegmentationRepresentation(activeSegRep[0]);
|
|
204
212
|
}
|
|
205
213
|
getGlobalConfig() {
|
|
206
214
|
return this.state.globalConfig;
|
|
@@ -209,13 +217,13 @@ export default class SegmentationStateManager {
|
|
|
209
217
|
this.state.globalConfig = config;
|
|
210
218
|
}
|
|
211
219
|
_getRepresentationConfig(segmentationRepresentationUID) {
|
|
212
|
-
const segmentationRepresentation = this.
|
|
220
|
+
const segmentationRepresentation = this.getSegmentationRepresentation(segmentationRepresentationUID);
|
|
213
221
|
if (!segmentationRepresentation) {
|
|
214
222
|
return;
|
|
215
223
|
}
|
|
216
224
|
return segmentationRepresentation.config;
|
|
217
225
|
}
|
|
218
|
-
|
|
226
|
+
getSegmentationRepresentationConfig(segmentationRepresentationUID) {
|
|
219
227
|
const config = this._getRepresentationConfig(segmentationRepresentationUID);
|
|
220
228
|
if (!config) {
|
|
221
229
|
return;
|
|
@@ -229,7 +237,7 @@ export default class SegmentationStateManager {
|
|
|
229
237
|
}
|
|
230
238
|
return config.perSegment;
|
|
231
239
|
}
|
|
232
|
-
|
|
240
|
+
setSegmentationRepresentationConfig(segmentationRepresentationUID, config) {
|
|
233
241
|
const _config = this._getRepresentationConfig(segmentationRepresentationUID);
|
|
234
242
|
if (!_config) {
|
|
235
243
|
return;
|
|
@@ -243,11 +251,11 @@ export default class SegmentationStateManager {
|
|
|
243
251
|
}
|
|
244
252
|
_config.perSegment = config;
|
|
245
253
|
}
|
|
246
|
-
|
|
254
|
+
getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID) {
|
|
247
255
|
const viewport = this.state.viewports[viewportId];
|
|
248
256
|
return viewport && viewport[segmentationRepresentationUID]?.visible;
|
|
249
257
|
}
|
|
250
|
-
|
|
258
|
+
setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visible) {
|
|
251
259
|
if (!this.state.viewports[viewportId]) {
|
|
252
260
|
this.state.viewports[viewportId] = {};
|
|
253
261
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SegmentationRepresentation } from '../../types/SegmentationStateTypes';
|
|
2
|
-
declare function
|
|
3
|
-
declare function
|
|
4
|
-
|
|
1
|
+
import type { SegmentationRepresentation, Segmentation } from '../../types/SegmentationStateTypes';
|
|
2
|
+
declare function getActiveSegmentationRepresentation(viewportId: any): SegmentationRepresentation;
|
|
3
|
+
declare function getActiveSegmentation(viewportId: any): Segmentation;
|
|
4
|
+
declare function setActiveSegmentationRepresentation(viewportId: any, segmentationRepresentationUID: any, suppressEvent?: boolean): void;
|
|
5
|
+
export { getActiveSegmentationRepresentation, getActiveSegmentation, setActiveSegmentationRepresentation, };
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import * as SegmentationState from './segmentationState';
|
|
2
|
-
function
|
|
3
|
-
return SegmentationState.
|
|
2
|
+
function getActiveSegmentationRepresentation(viewportId) {
|
|
3
|
+
return SegmentationState.getActiveSegmentationRepresentation(viewportId);
|
|
4
4
|
}
|
|
5
|
-
function
|
|
6
|
-
|
|
5
|
+
function getActiveSegmentation(viewportId) {
|
|
6
|
+
const activeRepresentation = getActiveSegmentationRepresentation(viewportId);
|
|
7
|
+
if (!activeRepresentation) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return SegmentationState.getSegmentation(activeRepresentation.segmentationId);
|
|
7
11
|
}
|
|
8
|
-
|
|
12
|
+
function setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID, suppressEvent = false) {
|
|
13
|
+
SegmentationState.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID, suppressEvent);
|
|
14
|
+
}
|
|
15
|
+
export { getActiveSegmentationRepresentation, getActiveSegmentation, setActiveSegmentationRepresentation, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LabelmapSegmentationData } from '../../types/LabelmapTypes';
|
|
2
|
-
import { ContourSegmentationData } from '../../types/ContourTypes';
|
|
3
|
-
import { SurfaceSegmentationData } from '../../types/SurfaceTypes';
|
|
1
|
+
import type { LabelmapSegmentationData } from '../../types/LabelmapTypes';
|
|
2
|
+
import type { ContourSegmentationData } from '../../types/ContourTypes';
|
|
3
|
+
import type { SurfaceSegmentationData } from '../../types/SurfaceTypes';
|
|
4
4
|
import SegmentationRepresentations from '../../enums/SegmentationRepresentations';
|
|
5
5
|
type SegmentationData = LabelmapSegmentationData | ContourSegmentationData | SurfaceSegmentationData;
|
|
6
6
|
type AddRepresentationData = {
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SegmentationRepresentationConfig, RepresentationPublicInput } from '../../types/SegmentationStateTypes';
|
|
2
|
+
declare function addSegmentationRepresentation(viewportId: string, representationInput: RepresentationPublicInput, initialConfig?: SegmentationRepresentationConfig): Promise<string>;
|
|
3
|
+
export { addSegmentationRepresentation };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { utilities } from '@cornerstonejs/core';
|
|
2
2
|
import * as SegmentationState from './segmentationState';
|
|
3
|
-
import {
|
|
3
|
+
import { getSegmentationRepresentationRenderingConfig } from './helpers/getSegmentationRepresentationRenderingConfig';
|
|
4
4
|
import CORNERSTONE_COLOR_LUT from '../../constants/COLOR_LUT';
|
|
5
5
|
import { triggerAnnotationRenderForViewportIds } from '../../utilities';
|
|
6
6
|
import { SegmentationRepresentations } from '../../enums';
|
|
7
7
|
import { triggerSegmentationModified } from './triggerSegmentationEvents';
|
|
8
|
-
async function
|
|
8
|
+
async function addSegmentationRepresentation(viewportId, representationInput, initialConfig) {
|
|
9
9
|
const { segmentationId, options = {} } = representationInput;
|
|
10
10
|
const segmentationRepresentationUID = representationInput.options?.segmentationRepresentationUID ||
|
|
11
11
|
utilities.uuidv4();
|
|
@@ -15,16 +15,16 @@ async function addRepresentation(viewportId, representationInput, initialConfig)
|
|
|
15
15
|
segmentationRepresentationUID,
|
|
16
16
|
type: representationInput.type,
|
|
17
17
|
colorLUTIndex: colorLUTIndexToUse,
|
|
18
|
-
rendering:
|
|
18
|
+
rendering: getSegmentationRepresentationRenderingConfig(representationInput),
|
|
19
19
|
polySeg: options.polySeg,
|
|
20
20
|
config: {
|
|
21
21
|
allSegments: {},
|
|
22
22
|
perSegment: {},
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
|
-
SegmentationState.
|
|
25
|
+
SegmentationState.addSegmentationRepresentation(viewportId, representation);
|
|
26
26
|
if (initialConfig) {
|
|
27
|
-
SegmentationState.
|
|
27
|
+
SegmentationState.setSegmentationRepresentationConfig(segmentationRepresentationUID, initialConfig.representations);
|
|
28
28
|
}
|
|
29
29
|
if (representationInput.type === SegmentationRepresentations.Contour) {
|
|
30
30
|
triggerAnnotationRenderForViewportIds([viewportId]);
|
|
@@ -48,4 +48,4 @@ function getColorLUTIndex(options = {}) {
|
|
|
48
48
|
}
|
|
49
49
|
return colorLUTIndexToUse;
|
|
50
50
|
}
|
|
51
|
-
export {
|
|
51
|
+
export { addSegmentationRepresentation };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SegmentationRepresentationConfig, RepresentationPublicInput } from '../../types/SegmentationStateTypes';
|
|
2
|
+
declare function addSegmentationRepresentations(viewportId: string, representationInputArray: RepresentationPublicInput[], segmentationRepresentationConfig?: SegmentationRepresentationConfig): Promise<string[]>;
|
|
3
|
+
export default addSegmentationRepresentations;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { addSegmentationRepresentation } from './addSegmentationRepresentation';
|
|
2
|
+
async function addSegmentationRepresentations(viewportId, representationInputArray, segmentationRepresentationConfig) {
|
|
3
|
+
const promises = representationInputArray.map((representationInput) => {
|
|
4
|
+
return addSegmentationRepresentation(viewportId, representationInput, segmentationRepresentationConfig);
|
|
5
|
+
});
|
|
6
|
+
const segmentationRepresentationUIDs = await Promise.all(promises);
|
|
7
|
+
return segmentationRepresentationUIDs;
|
|
8
|
+
}
|
|
9
|
+
export default addSegmentationRepresentations;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SegmentationPublicInput } from '../../types/SegmentationStateTypes';
|
|
1
|
+
import type { SegmentationPublicInput } from '../../types/SegmentationStateTypes';
|
|
2
2
|
declare function addSegmentations(segmentationInputArray: SegmentationPublicInput[]): void;
|
|
3
3
|
export default addSegmentations;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as color from './segmentationColor';
|
|
2
2
|
import * as visibility from './segmentationVisibility';
|
|
3
|
-
import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig,
|
|
4
|
-
export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig,
|
|
3
|
+
import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig } from './segmentationConfig';
|
|
4
|
+
export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as color from './segmentationColor';
|
|
2
2
|
import * as visibility from './segmentationVisibility';
|
|
3
|
-
import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig,
|
|
4
|
-
export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig,
|
|
3
|
+
import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig, } from './segmentationConfig';
|
|
4
|
+
export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig, };
|
|
@@ -12,7 +12,7 @@ function addColorLUT(colorLUT, colorLUTIndex) {
|
|
|
12
12
|
SegmentationState.addColorLUT(colorLUT, colorLUTIndex);
|
|
13
13
|
}
|
|
14
14
|
function setColorLUT(segmentationRepresentationUID, colorLUTIndex) {
|
|
15
|
-
const segRepresentation = SegmentationState.
|
|
15
|
+
const segRepresentation = SegmentationState.getSegmentationRepresentation(segmentationRepresentationUID);
|
|
16
16
|
if (!segRepresentation) {
|
|
17
17
|
throw new Error(`setColorLUT: could not find segmentation representation with UID ${segmentationRepresentationUID}`);
|
|
18
18
|
}
|
|
@@ -23,7 +23,7 @@ function setColorLUT(segmentationRepresentationUID, colorLUTIndex) {
|
|
|
23
23
|
triggerSegmentationRepresentationModified(segmentationRepresentationUID);
|
|
24
24
|
}
|
|
25
25
|
function getSegmentIndexColor(segmentationRepresentationUID, segmentIndex) {
|
|
26
|
-
const segmentationRepresentation = SegmentationState.
|
|
26
|
+
const segmentationRepresentation = SegmentationState.getSegmentationRepresentation(segmentationRepresentationUID);
|
|
27
27
|
if (!segmentationRepresentation) {
|
|
28
28
|
throw new Error(`segmentation representation with UID ${segmentationRepresentationUID} does not exist`);
|
|
29
29
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
|
|
2
|
-
import { RepresentationConfig, SegmentationRepresentationConfig, SegmentRepresentationConfig } from '../../../types/SegmentationStateTypes';
|
|
1
|
+
import type SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
|
|
2
|
+
import type { RepresentationConfig, SegmentationRepresentationConfig, SegmentRepresentationConfig } from '../../../types/SegmentationStateTypes';
|
|
3
3
|
declare function getGlobalConfig(): SegmentationRepresentationConfig;
|
|
4
4
|
declare function setGlobalConfig(segmentationConfig: SegmentationRepresentationConfig): void;
|
|
5
5
|
declare function getGlobalRepresentationConfig(representationType: SegmentationRepresentations): RepresentationConfig['LABELMAP'];
|
|
6
6
|
declare function setGlobalRepresentationConfig(representationType: SegmentationRepresentations, config: RepresentationConfig['LABELMAP']): void;
|
|
7
|
-
declare function
|
|
8
|
-
declare function
|
|
7
|
+
declare function getSegmentationRepresentationConfig(segmentationRepresentationUID: string): RepresentationConfig;
|
|
8
|
+
declare function setSegmentationRepresentationConfig(segmentationRepresentationUID: string, config: RepresentationConfig): void;
|
|
9
9
|
declare function setPerSegmentConfig(segmentationRepresentationUID: string, config: SegmentRepresentationConfig): void;
|
|
10
10
|
declare function getPerSegmentConfig(segmentationRepresentationUID: string): SegmentRepresentationConfig;
|
|
11
11
|
declare function setSegmentIndexConfig(segmentationRepresentationUID: string, segmentIndex: number, config: RepresentationConfig, suppressEvent?: boolean): void;
|
|
12
12
|
declare function getSegmentIndexConfig(segmentationRepresentationUID: string, segmentIndex: number): RepresentationConfig;
|
|
13
|
-
export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig,
|
|
13
|
+
export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, getPerSegmentConfig, setSegmentIndexConfig, getSegmentIndexConfig, };
|
|
@@ -23,11 +23,11 @@ function setGlobalRepresentationConfig(representationType, config) {
|
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
return SegmentationState.
|
|
26
|
+
function getSegmentationRepresentationConfig(segmentationRepresentationUID) {
|
|
27
|
+
return SegmentationState.getSegmentationRepresentationConfig(segmentationRepresentationUID);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
SegmentationState.
|
|
29
|
+
function setSegmentationRepresentationConfig(segmentationRepresentationUID, config) {
|
|
30
|
+
SegmentationState.setSegmentationRepresentationConfig(segmentationRepresentationUID, config);
|
|
31
31
|
}
|
|
32
32
|
function setPerSegmentConfig(segmentationRepresentationUID, config) {
|
|
33
33
|
SegmentationState.setPerSegmentConfig(segmentationRepresentationUID, config);
|
|
@@ -46,4 +46,4 @@ function getSegmentIndexConfig(segmentationRepresentationUID, segmentIndex) {
|
|
|
46
46
|
const perSegment = SegmentationState.getPerSegmentConfig(segmentationRepresentationUID);
|
|
47
47
|
return perSegment?.[segmentIndex];
|
|
48
48
|
}
|
|
49
|
-
export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig,
|
|
49
|
+
export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, getPerSegmentConfig, setSegmentIndexConfig, getSegmentIndexConfig, };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
declare function
|
|
2
|
-
declare function
|
|
3
|
-
declare function
|
|
1
|
+
declare function setSegmentationRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string, visibility: boolean): void;
|
|
2
|
+
declare function getSegmentationRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string): boolean | undefined;
|
|
3
|
+
declare function setSegmentIndicesVisibility(viewport: string, segmentationRepresentationUID: string, segmentIndices: number[], visibility: boolean): void;
|
|
4
4
|
declare function setSegmentIndexVisibility(viewportId: string, segmentationRepresentationUID: string, segmentIndex: number, visibility: boolean): void;
|
|
5
5
|
declare function getSegmentIndexVisibility(viewportId: string, segmentationRepresentationUID: string, segmentIndex: number): boolean;
|
|
6
|
-
declare function
|
|
7
|
-
export {
|
|
6
|
+
declare function getHiddenSegmentIndices(viewportId: string, segmentationRepresentationUID: string): Set<number>;
|
|
7
|
+
export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility, setSegmentIndicesVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getHiddenSegmentIndices, };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as SegmentationState from '../../../stateManagement/segmentation/segmentationState';
|
|
2
2
|
import { triggerSegmentationRepresentationModified } from '../triggerSegmentationEvents';
|
|
3
|
-
function
|
|
4
|
-
const representation = SegmentationState.
|
|
3
|
+
function setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visibility) {
|
|
4
|
+
const representation = SegmentationState.getSegmentationRepresentation(segmentationRepresentationUID);
|
|
5
5
|
if (!representation) {
|
|
6
6
|
return;
|
|
7
7
|
}
|
|
8
|
-
SegmentationState.
|
|
8
|
+
SegmentationState.setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visibility);
|
|
9
9
|
triggerSegmentationRepresentationModified(segmentationRepresentationUID);
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
return SegmentationState.
|
|
11
|
+
function getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID) {
|
|
12
|
+
return SegmentationState.getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID);
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const hiddenSegments =
|
|
14
|
+
function setSegmentIndicesVisibility(viewport, segmentationRepresentationUID, segmentIndices, visibility) {
|
|
15
|
+
const hiddenSegments = getHiddenSegmentIndices(viewport, segmentationRepresentationUID);
|
|
16
16
|
segmentIndices.forEach((segmentIndex) => {
|
|
17
17
|
visibility
|
|
18
18
|
? hiddenSegments.delete(segmentIndex)
|
|
@@ -21,22 +21,22 @@ function setSegmentsVisibility(viewport, segmentationRepresentationUID, segmentI
|
|
|
21
21
|
triggerSegmentationRepresentationModified(segmentationRepresentationUID);
|
|
22
22
|
}
|
|
23
23
|
function setSegmentIndexVisibility(viewportId, segmentationRepresentationUID, segmentIndex, visibility) {
|
|
24
|
-
const hiddenSegments =
|
|
24
|
+
const hiddenSegments = getHiddenSegmentIndices(viewportId, segmentationRepresentationUID);
|
|
25
25
|
visibility
|
|
26
26
|
? hiddenSegments.delete(segmentIndex)
|
|
27
27
|
: hiddenSegments.add(segmentIndex);
|
|
28
28
|
triggerSegmentationRepresentationModified(segmentationRepresentationUID);
|
|
29
29
|
}
|
|
30
30
|
function getSegmentIndexVisibility(viewportId, segmentationRepresentationUID, segmentIndex) {
|
|
31
|
-
const hiddenSegments =
|
|
31
|
+
const hiddenSegments = getHiddenSegmentIndices(viewportId, segmentationRepresentationUID);
|
|
32
32
|
return !hiddenSegments.has(segmentIndex);
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
const viewportRenderingState = SegmentationState.
|
|
34
|
+
function getHiddenSegmentIndices(viewportId, segmentationRepresentationUID) {
|
|
35
|
+
const viewportRenderingState = SegmentationState.getSegmentationRepresentationViewportStates(viewportId);
|
|
36
36
|
if (!viewportRenderingState) {
|
|
37
37
|
return new Set();
|
|
38
38
|
}
|
|
39
39
|
return (viewportRenderingState[segmentationRepresentationUID]?.segmentsHidden ??
|
|
40
40
|
new Set());
|
|
41
41
|
}
|
|
42
|
-
export {
|
|
42
|
+
export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility, setSegmentIndicesVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getHiddenSegmentIndices, };
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { volumeLoader, utilities as csUtils, eventTarget, cache, } from '@cornerstonejs/core';
|
|
2
|
-
import { Events } from '../../enums';
|
|
2
|
+
import { Events, SegmentationRepresentations } from '../../enums';
|
|
3
|
+
import addSegmentationRepresentations from './addSegmentationRepresentations';
|
|
3
4
|
import { triggerSegmentationRender } from '../../utilities/segmentation';
|
|
4
5
|
import { getSegmentation } from './segmentationState';
|
|
5
6
|
import { triggerSegmentationDataModified } from './triggerSegmentationEvents';
|
|
6
7
|
async function computeVolumeSegmentationFromStack({ imageIds, options, }) {
|
|
7
8
|
const segmentationImageIds = imageIds;
|
|
8
|
-
const additionalDetails = {
|
|
9
|
-
imageIds,
|
|
10
|
-
};
|
|
11
9
|
const volumeId = options?.volumeId ?? csUtils.uuidv4();
|
|
12
|
-
await volumeLoader.createAndCacheVolumeFromImages(volumeId, segmentationImageIds
|
|
13
|
-
additionalDetails,
|
|
14
|
-
});
|
|
10
|
+
await volumeLoader.createAndCacheVolumeFromImages(volumeId, segmentationImageIds);
|
|
15
11
|
return { volumeId };
|
|
16
12
|
}
|
|
17
13
|
async function convertStackToVolumeSegmentation({ segmentationId, options, }) {
|
|
@@ -1,35 +1,22 @@
|
|
|
1
|
-
import { cache, eventTarget
|
|
1
|
+
import { cache, eventTarget } from '@cornerstonejs/core';
|
|
2
2
|
import { Events, SegmentationRepresentations } from '../../enums';
|
|
3
|
-
import
|
|
3
|
+
import addSegmentationRepresentations from './addSegmentationRepresentations';
|
|
4
4
|
import { triggerSegmentationRender } from '../../utilities/segmentation';
|
|
5
5
|
import { getSegmentation } from './segmentationState';
|
|
6
6
|
import { triggerSegmentationDataModified } from './triggerSegmentationEvents';
|
|
7
7
|
export async function computeStackSegmentationFromVolume({ volumeId, }) {
|
|
8
8
|
const segmentationVolume = cache.getVolume(volumeId);
|
|
9
|
-
|
|
10
|
-
let isAllImagesCached = false;
|
|
11
|
-
if (hasCachedImages) {
|
|
12
|
-
isAllImagesCached = segmentationVolume.imageIds.every((imageId) => cache.getImage(imageId));
|
|
13
|
-
}
|
|
14
|
-
const renderingEngine = getRenderingEngines()[0];
|
|
15
|
-
const volumeUsedInOtherViewports = renderingEngine
|
|
16
|
-
.getVolumeViewports()
|
|
17
|
-
.find((vp) => vp.hasVolumeId(volumeId));
|
|
18
|
-
segmentationVolume.decache(!volumeUsedInOtherViewports && isAllImagesCached);
|
|
19
|
-
const imageIds = _getLabelmapImageIdsForViewportForStackSegmentation(segmentationVolume);
|
|
20
|
-
return { imageIds };
|
|
9
|
+
return { imageIds: segmentationVolume.imageIds };
|
|
21
10
|
}
|
|
22
11
|
export async function convertVolumeToStackSegmentation({ segmentationId, options, }) {
|
|
23
12
|
const segmentation = getSegmentation(segmentationId);
|
|
24
|
-
const
|
|
13
|
+
const { volumeId } = segmentation.representationData
|
|
25
14
|
.LABELMAP;
|
|
26
|
-
const
|
|
27
|
-
volumeId: data.volumeId,
|
|
28
|
-
});
|
|
15
|
+
const segmentationVolume = cache.getVolume(volumeId);
|
|
29
16
|
await updateStackSegmentationState({
|
|
30
17
|
segmentationId,
|
|
31
18
|
viewportId: options.viewportId,
|
|
32
|
-
imageIds,
|
|
19
|
+
imageIds: segmentationVolume.imageIds,
|
|
33
20
|
options,
|
|
34
21
|
});
|
|
35
22
|
}
|
|
@@ -51,44 +38,12 @@ export async function updateStackSegmentationState({ segmentationId, viewportId,
|
|
|
51
38
|
imageIds,
|
|
52
39
|
};
|
|
53
40
|
}
|
|
54
|
-
await
|
|
41
|
+
await addSegmentationRepresentations(viewportId, [
|
|
55
42
|
{
|
|
56
43
|
segmentationId,
|
|
57
44
|
type: SegmentationRepresentations.Labelmap,
|
|
58
45
|
},
|
|
59
46
|
]);
|
|
60
|
-
triggerSegmentationRender();
|
|
47
|
+
triggerSegmentationRender(viewportId);
|
|
61
48
|
eventTarget.addEventListenerOnce(Events.SEGMENTATION_RENDERED, () => triggerSegmentationDataModified(segmentationId));
|
|
62
49
|
}
|
|
63
|
-
function _getLabelmapImageIdsForViewportForStackSegmentation(segmentationVolume) {
|
|
64
|
-
if (segmentationVolume.additionalDetails?.imageIds) {
|
|
65
|
-
return segmentationVolume.additionalDetails.imageIds;
|
|
66
|
-
}
|
|
67
|
-
else if (segmentationVolume.referencedImageIds?.length &&
|
|
68
|
-
!segmentationVolume.referencedImageIds[0].startsWith('derived')) {
|
|
69
|
-
const segmentationImageIds = segmentationVolume.imageIds;
|
|
70
|
-
return [...segmentationImageIds].reverse();
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
const referencedVolumeId = segmentationVolume.referencedVolumeId;
|
|
74
|
-
const referencedVolume = cache.getVolume(referencedVolumeId);
|
|
75
|
-
if (!referencedVolume) {
|
|
76
|
-
throw new Error('Cannot convert volumetric segmentation without referenced volume to stack segmentation yet');
|
|
77
|
-
}
|
|
78
|
-
if (!referencedVolume?.imageIds?.length) {
|
|
79
|
-
throw new Error('Cannot convert volumetric segmentation without imageIds to stack segmentation yet');
|
|
80
|
-
}
|
|
81
|
-
if (referencedVolume.imageIds?.[0].startsWith('derived')) {
|
|
82
|
-
throw new Error(`Cannot convert volume segmentation that is derived from another segmentation
|
|
83
|
-
to stack segmentation yet, include the additionalDetails.imageIds
|
|
84
|
-
in the volume segmentation in case you need it for the conversion`);
|
|
85
|
-
}
|
|
86
|
-
const referencedImageIds = referencedVolume.imageIds;
|
|
87
|
-
let segmentationImageIdsToUse = segmentationVolume.imageIds;
|
|
88
|
-
if (!segmentationImageIdsToUse?.length) {
|
|
89
|
-
segmentationImageIdsToUse =
|
|
90
|
-
segmentationVolume.convertToImageSlicesAndCache();
|
|
91
|
-
}
|
|
92
|
-
return [...segmentationImageIdsToUse].reverse();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
|
|
2
|
-
import {
|
|
3
|
-
export function
|
|
2
|
+
import { getSegmentationRepresentationRenderingConfig as getLabelmapRenderingConfig } from '../../../tools/displayTools/Labelmap/labelmapDisplay';
|
|
3
|
+
export function getSegmentationRepresentationRenderingConfig(representationInput) {
|
|
4
4
|
const { type } = representationInput;
|
|
5
5
|
if (type === SegmentationRepresentations.Labelmap) {
|
|
6
6
|
return getLabelmapRenderingConfig();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SegmentationPublicInput, Segmentation } from '../../../types/SegmentationStateTypes';
|
|
1
|
+
import type { SegmentationPublicInput, Segmentation } from '../../../types/SegmentationStateTypes';
|
|
2
2
|
declare function normalizeSegmentationInput(segmentationInput: SegmentationPublicInput): Segmentation;
|
|
3
3
|
export default normalizeSegmentationInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SegmentationPublicInput } from '../../../types/SegmentationStateTypes';
|
|
1
|
+
import type { SegmentationPublicInput } from '../../../types/SegmentationStateTypes';
|
|
2
2
|
declare function validateSegmentationInput(segmentationInputArray: SegmentationPublicInput[]): void;
|
|
3
3
|
export default validateSegmentationInput;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import removeSegmentationRepresentations from './removeSegmentationRepresentations';
|
|
2
2
|
import addSegmentations from './addSegmentations';
|
|
3
|
-
import
|
|
3
|
+
import addSegmentationRepresentations from './addSegmentationRepresentations';
|
|
4
4
|
import addRepresentationData from './addRepresentationData';
|
|
5
5
|
import { convertStackToVolumeSegmentation } from './convertStackToVolumeSegmentation';
|
|
6
6
|
import { convertVolumeToStackSegmentation } from './convertVolumeToStackSegmentation';
|
|
@@ -11,4 +11,4 @@ import * as config from './config';
|
|
|
11
11
|
import * as segmentIndex from './segmentIndex';
|
|
12
12
|
import * as triggerSegmentationEvents from './triggerSegmentationEvents';
|
|
13
13
|
import * as polySegManager from './polySeg';
|
|
14
|
-
export { addSegmentations,
|
|
14
|
+
export { addSegmentations, addSegmentationRepresentations, removeSegmentationRepresentations, addRepresentationData, state, activeSegmentation, segmentLocking, config, segmentIndex, triggerSegmentationEvents, convertStackToVolumeSegmentation, convertVolumeToStackSegmentation, polySegManager as polySeg, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import removeSegmentationRepresentations from './removeSegmentationRepresentations';
|
|
2
2
|
import addSegmentations from './addSegmentations';
|
|
3
|
-
import
|
|
3
|
+
import addSegmentationRepresentations from './addSegmentationRepresentations';
|
|
4
4
|
import addRepresentationData from './addRepresentationData';
|
|
5
5
|
import { convertStackToVolumeSegmentation } from './convertStackToVolumeSegmentation';
|
|
6
6
|
import { convertVolumeToStackSegmentation } from './convertVolumeToStackSegmentation';
|
|
@@ -11,4 +11,4 @@ import * as config from './config';
|
|
|
11
11
|
import * as segmentIndex from './segmentIndex';
|
|
12
12
|
import * as triggerSegmentationEvents from './triggerSegmentationEvents';
|
|
13
13
|
import * as polySegManager from './polySeg';
|
|
14
|
-
export { addSegmentations,
|
|
14
|
+
export { addSegmentations, addSegmentationRepresentations, removeSegmentationRepresentations, addRepresentationData, state, activeSegmentation, segmentLocking, config, segmentIndex, triggerSegmentationEvents, convertStackToVolumeSegmentation, convertVolumeToStackSegmentation, polySegManager as polySeg, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PolySegConversionOptions } from '../../../../types';
|
|
1
|
+
import type { PolySegConversionOptions } from '../../../../types';
|
|
2
2
|
export declare function computeAndAddContourRepresentation(segmentationId: string, options?: PolySegConversionOptions): Promise<{
|
|
3
3
|
annotationUIDsMap: Map<number, Set<string>>;
|
|
4
4
|
}>;
|
package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PolySegConversionOptions } from '../../../../types';
|
|
2
|
-
import { SurfaceClipResult } from '../../helpers/clipAndCacheSurfacesForViewport';
|
|
1
|
+
import type { PolySegConversionOptions } from '../../../../types';
|
|
2
|
+
import type { SurfaceClipResult } from '../../helpers/clipAndCacheSurfacesForViewport';
|
|
3
3
|
export type RawContourData = Map<number, SurfaceClipResult[]>;
|
|
4
4
|
export declare function computeContourData(segmentationId: string, options?: PolySegConversionOptions): Promise<{
|
|
5
5
|
annotationUIDsMap: Map<number, Set<string>>;
|