@cornerstonejs/tools 2.0.0-beta.26 → 2.0.0-beta.28
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/eventListeners/index.d.ts +2 -2
- package/dist/esm/eventListeners/index.js +2 -2
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +8 -0
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +18 -12
- package/dist/esm/eventListeners/segmentation/index.d.ts +1 -3
- package/dist/esm/eventListeners/segmentation/index.js +1 -3
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +13 -10
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -3
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/init.js +1 -5
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +2 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +6 -5
- package/dist/esm/stateManagement/annotation/annotationState.js +11 -2
- package/dist/esm/stateManagement/index.d.ts +1 -4
- package/dist/esm/stateManagement/index.js +1 -3
- package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +9 -6
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +43 -25
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +207 -162
- package/dist/esm/stateManagement/segmentation/SegmentationStyle.d.ts +42 -0
- package/dist/esm/stateManagement/segmentation/SegmentationStyle.js +162 -0
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -5
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +10 -14
- package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/addColorLUT.js +15 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.d.ts +15 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.js +49 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentations.js +11 -7
- 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.d.ts +4 -4
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +24 -24
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +22 -7
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +29 -29
- package/dist/esm/stateManagement/segmentation/config/styleHelpers.d.ts +39 -0
- package/dist/esm/stateManagement/segmentation/config/styleHelpers.js +48 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/{getGlobalConfig.js → getActiveSegmentation.js} +2 -2
- package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/getGlobalStyle.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/getGlobalStyle.js +4 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +9 -1
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +10 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +5 -1
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +2 -2
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +5 -5
- package/dist/esm/stateManagement/segmentation/getViewportSegmentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/getViewportSegmentations.js +15 -0
- package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.js +31 -0
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -2
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +4 -6
- package/dist/esm/stateManagement/segmentation/{convertVolumeToStackSegmentation.d.ts → helpers/computeStackLabelmapFromVolume.d.ts} +2 -2
- package/dist/esm/stateManagement/segmentation/{convertVolumeToStackSegmentation.js → helpers/computeStackLabelmapFromVolume.js} +8 -5
- package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.js +4 -0
- package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.js +7 -0
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.d.ts +8 -0
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.js +27 -0
- package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +2 -1
- package/dist/esm/stateManagement/segmentation/helpers/index.js +2 -1
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +4 -6
- package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +1 -1
- package/dist/esm/stateManagement/segmentation/index.d.ts +14 -7
- package/dist/esm/stateManagement/segmentation/index.js +14 -7
- package/dist/esm/stateManagement/segmentation/{addRepresentationData.d.ts → internalAddRepresentationData.d.ts} +2 -2
- package/dist/esm/stateManagement/segmentation/{addRepresentationData.js → internalAddRepresentationData.js} +5 -2
- package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.js +18 -58
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +9 -10
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js +8 -5
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +9 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +4 -6
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +4 -4
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +1 -7
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +1 -3
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +9 -8
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +2 -1
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +3 -9
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +7 -5
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +14 -2
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +69 -19
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +6 -18
- package/dist/esm/stateManagement/segmentation/segmentationState.js +9 -18
- package/dist/esm/stateManagement/segmentation/setActiveSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setActiveSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/setGlobalStyle.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/setGlobalStyle.js +8 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +5 -1
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +2 -2
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +1 -3
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +1 -3
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +23 -9
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +3 -3
- package/dist/esm/tools/AdvancedMagnifyTool.js +1 -1
- package/dist/esm/tools/CrosshairsTool.js +1 -2
- package/dist/esm/tools/MIPJumpToClickTool.js +1 -1
- package/dist/esm/tools/ReferenceLinesTool.js +5 -2
- package/dist/esm/tools/StackScrollTool.d.ts +4 -0
- package/dist/esm/tools/StackScrollTool.js +104 -15
- package/dist/esm/tools/WindowLevelTool.js +3 -2
- package/dist/esm/tools/annotation/AngleTool.js +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
- package/dist/esm/tools/annotation/CircleROITool.js +1 -1
- package/dist/esm/tools/annotation/EllipticalROITool.js +1 -1
- package/dist/esm/tools/annotation/HeightTool.js +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +1 -1
- package/dist/esm/tools/annotation/LivewireContourTool.js +3 -3
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -1
- package/dist/esm/tools/annotation/ProbeTool.js +2 -2
- package/dist/esm/tools/annotation/RectangleROITool.js +1 -1
- package/dist/esm/tools/annotation/SplineROITool.js +2 -3
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +1 -1
- package/dist/esm/tools/base/BaseTool.d.ts +1 -2
- package/dist/esm/tools/base/BaseTool.js +5 -18
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +28 -25
- package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +3 -3
- package/dist/esm/tools/displayTools/Contour/contourConfig.js +2 -2
- package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -7
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +26 -57
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +2 -4
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +39 -10
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +3 -5
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +3 -16
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +86 -90
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +3 -2
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +3 -3
- package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.d.ts +2 -2
- package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.js +5 -3
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +3 -3
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +2 -2
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +1 -1
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +7 -8
- package/dist/esm/tools/index.d.ts +1 -2
- package/dist/esm/tools/index.js +1 -2
- package/dist/esm/tools/segmentation/BrushTool.d.ts +0 -4
- package/dist/esm/tools/segmentation/BrushTool.js +23 -22
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +2 -2
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +11 -10
- package/dist/esm/tools/segmentation/PaintFillTool.js +5 -7
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +2 -2
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +0 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +9 -10
- package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +17 -26
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +0 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +6 -9
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +2 -0
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +2 -0
- package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +1 -2
- package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/preview.js +3 -3
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +4 -4
- package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +3 -3
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +3 -3
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -6
- package/dist/esm/types/AnnotationGroupSelector.js +0 -1
- package/dist/esm/types/AnnotationRenderContext.js +0 -1
- package/dist/esm/types/AnnotationStyle.js +0 -1
- package/dist/esm/types/AnnotationTypes.js +0 -1
- package/dist/esm/types/BoundsIJK.js +0 -1
- package/dist/esm/types/CINETypes.js +0 -1
- package/dist/esm/types/CalculatorTypes.js +0 -1
- package/dist/esm/types/CardinalSplineProps.js +0 -1
- package/dist/esm/types/ClosestControlPoint.js +0 -1
- package/dist/esm/types/ClosestPoint.js +0 -1
- package/dist/esm/types/ClosestSplinePoint.js +0 -1
- package/dist/esm/types/ContourSegmentationAnnotation.js +0 -1
- package/dist/esm/types/ContourTypes.d.ts +1 -2
- package/dist/esm/types/ContourTypes.js +0 -1
- package/dist/esm/types/ControlPointInfo.js +0 -1
- package/dist/esm/types/CursorTypes.js +0 -1
- package/dist/esm/types/EventTypes.d.ts +2 -2
- package/dist/esm/types/EventTypes.js +0 -1
- package/dist/esm/types/FloodFillTypes.js +0 -1
- package/dist/esm/types/IAnnotationManager.js +0 -1
- package/dist/esm/types/IBaseTool.js +0 -1
- package/dist/esm/types/IDistance.js +0 -1
- package/dist/esm/types/IPoints.js +0 -1
- package/dist/esm/types/ISculptToolShape.js +0 -1
- package/dist/esm/types/ISetToolModeOptions.js +0 -1
- package/dist/esm/types/ISpline.js +0 -1
- package/dist/esm/types/ISynchronizerEventHandler.js +0 -1
- package/dist/esm/types/IToolClassReference.js +0 -1
- package/dist/esm/types/IToolGroup.js +0 -1
- package/dist/esm/types/ITouchPoints.js +0 -1
- package/dist/esm/types/InteractionTypes.js +0 -1
- package/dist/esm/types/InternalToolTypes.js +0 -1
- package/dist/esm/types/InterpolationTypes.js +0 -1
- package/dist/esm/types/JumpToSliceOptions.js +0 -1
- package/dist/esm/types/LabelmapToolOperationData.d.ts +0 -1
- package/dist/esm/types/LabelmapToolOperationData.js +0 -1
- package/dist/esm/types/LabelmapTypes.d.ts +3 -7
- package/dist/esm/types/LabelmapTypes.js +0 -1
- package/dist/esm/types/PlanarBoundingBox.js +0 -1
- package/dist/esm/types/PolySeg.d.ts +1 -1
- package/dist/esm/types/PolySeg.js +0 -1
- package/dist/esm/types/SVGDrawingHelper.js +0 -1
- package/dist/esm/types/ScrollOptions.js +0 -1
- package/dist/esm/types/SegmentationStateTypes.d.ts +35 -56
- package/dist/esm/types/SegmentationStateTypes.js +0 -1
- package/dist/esm/types/SplineCurveSegment.js +0 -1
- package/dist/esm/types/SplineLineSegment.js +0 -1
- package/dist/esm/types/SplineProps.js +0 -1
- package/dist/esm/types/SurfaceTypes.d.ts +1 -1
- package/dist/esm/types/SurfaceTypes.js +0 -1
- package/dist/esm/types/ToolAction.js +0 -1
- package/dist/esm/types/ToolHandle.js +0 -1
- package/dist/esm/types/ToolProps.js +0 -1
- package/dist/esm/types/ToolSpecificAnnotationTypes.js +0 -1
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/types/index.js +0 -1
- package/dist/esm/utilities/cine/playClip.js +1 -1
- package/dist/esm/utilities/contours/updateContourPolyline.js +3 -0
- package/dist/esm/utilities/index.d.ts +2 -1
- package/dist/esm/utilities/index.js +2 -1
- package/dist/esm/utilities/math/circle/_types.js +0 -1
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js +0 -1
- package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +8 -0
- package/dist/esm/utilities/pointInSurroundingSphereCallback.js +71 -0
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +2 -2
- package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +10 -9
- package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +9 -8
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +14 -16
- package/dist/esm/utilities/segmentation/index.d.ts +1 -3
- package/dist/esm/utilities/segmentation/index.js +1 -3
- package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.js +3 -0
- package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +1 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/index.js +0 -1
- package/dist/esm/widgets/types/WidgetProps.js +0 -1
- package/dist/esm/widgets/types/WidgetSize.js +0 -1
- package/dist/esm/widgets/types/index.js +0 -1
- package/dist/esm/workers/polySegConverters.js +4 -3
- package/package.json +73 -20
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +0 -3
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +0 -14
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +0 -3
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +0 -8
- package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/addSegmentation.js +0 -11
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +0 -10
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +0 -8
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +0 -19
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +0 -14
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +0 -54
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +0 -8
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +0 -8
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +0 -5
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +0 -6
- package/dist/esm/stateManagement/segmentation/getGlobalConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.js +0 -5
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +0 -5
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +0 -7
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +0 -6
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +0 -12
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.js +0 -5
- package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/removeRepresentation.js +0 -9
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +0 -9
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +0 -9
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +0 -9
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +0 -9
- package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +0 -9
- package/dist/esm/tools/VolumeRotateMouseWheelTool.js +0 -52
- package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.d.ts +0 -9
- package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.js +0 -10
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +0 -5
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +0 -13
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +0 -2
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js +0 -11
- package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +0 -2
- package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js +0 -10
- package/dist/umd/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/umd/78.index.js +0 -3
- package/dist/umd/78.index.js.LICENSE.txt +0 -5
- package/dist/umd/78.index.js.map +0 -1
- package/dist/umd/985.index.js +0 -2
- package/dist/umd/985.index.js.map +0 -1
- package/dist/umd/index.js +0 -3
- package/dist/umd/index.js.LICENSE.txt +0 -6
- package/dist/umd/index.js.map +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { SegmentationRepresentations } from '../../enums';
|
|
2
|
+
import getDefaultContourConfig from '../../tools/displayTools/Contour/contourConfig';
|
|
3
|
+
import getDefaultLabelmapConfig from '../../tools/displayTools/Labelmap/labelmapConfig';
|
|
4
|
+
import * as Enums from '../../enums';
|
|
5
|
+
class SegmentationStyle {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.config = {
|
|
8
|
+
global: {},
|
|
9
|
+
segmentations: {},
|
|
10
|
+
viewportsStyle: {},
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
setGlobalStyle(type, styles) {
|
|
14
|
+
this.config.global[type] = styles;
|
|
15
|
+
}
|
|
16
|
+
getGlobalStyle(type) {
|
|
17
|
+
return this.config.global[type];
|
|
18
|
+
}
|
|
19
|
+
setGlobalLabelmapStyle(styles) {
|
|
20
|
+
this.setGlobalStyle(SegmentationRepresentations.Labelmap, styles);
|
|
21
|
+
}
|
|
22
|
+
setGlobalContourStyle(styles) {
|
|
23
|
+
this.setGlobalStyle(SegmentationRepresentations.Contour, styles);
|
|
24
|
+
}
|
|
25
|
+
setGlobalSurfaceStyle(styles) {
|
|
26
|
+
this.setGlobalStyle(SegmentationRepresentations.Surface, styles);
|
|
27
|
+
}
|
|
28
|
+
setSegmentationSpecificStyle(specifier, styles) {
|
|
29
|
+
const { segmentationId, type, segmentIndex } = specifier;
|
|
30
|
+
if (!this.config.segmentations[segmentationId]) {
|
|
31
|
+
this.config.segmentations[segmentationId] = {};
|
|
32
|
+
}
|
|
33
|
+
if (!this.config.segmentations[segmentationId][type]) {
|
|
34
|
+
this.config.segmentations[segmentationId][type] = {};
|
|
35
|
+
}
|
|
36
|
+
if (segmentIndex !== undefined) {
|
|
37
|
+
if (!this.config.segmentations[segmentationId][type].perSegment) {
|
|
38
|
+
this.config.segmentations[segmentationId][type].perSegment = {};
|
|
39
|
+
}
|
|
40
|
+
this.config.segmentations[segmentationId][type].perSegment[segmentIndex] =
|
|
41
|
+
styles;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.config.segmentations[segmentationId][type].allSegments = styles;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
setViewportSpecificStyleForType(specifier, styles) {
|
|
48
|
+
const { viewportId, type } = specifier;
|
|
49
|
+
if (!this.config.viewportsStyle[viewportId]) {
|
|
50
|
+
this.config.viewportsStyle[viewportId] = {
|
|
51
|
+
renderInactiveSegmentations: false,
|
|
52
|
+
representations: {},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const allSegmentationsKey = '__allSegmentations__';
|
|
56
|
+
if (!this.config.viewportsStyle[viewportId].representations[allSegmentationsKey]) {
|
|
57
|
+
this.config.viewportsStyle[viewportId].representations[allSegmentationsKey] = {};
|
|
58
|
+
}
|
|
59
|
+
this.config.viewportsStyle[viewportId].representations[allSegmentationsKey][type] = {
|
|
60
|
+
allSegments: styles,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
setViewportSpecificStyleForSegmentation(specifier, styles) {
|
|
64
|
+
const { viewportId, segmentationId, type, segmentIndex } = specifier;
|
|
65
|
+
if (!this.config.viewportsStyle[viewportId]) {
|
|
66
|
+
this.config.viewportsStyle[viewportId] = {
|
|
67
|
+
renderInactiveSegmentations: false,
|
|
68
|
+
representations: {},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (!this.config.viewportsStyle[viewportId].representations[segmentationId]) {
|
|
72
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId] =
|
|
73
|
+
{};
|
|
74
|
+
}
|
|
75
|
+
if (!this.config.viewportsStyle[viewportId].representations[segmentationId][type]) {
|
|
76
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId][type] = {};
|
|
77
|
+
}
|
|
78
|
+
if (segmentIndex !== undefined) {
|
|
79
|
+
if (!this.config.viewportsStyle[viewportId].representations[segmentationId][type].perSegment) {
|
|
80
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId][type].perSegment = {};
|
|
81
|
+
}
|
|
82
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId][type].perSegment[segmentIndex] = styles;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId][type].allSegments = styles;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
setViewportRenderInactiveSegmentations(viewportId, renderInactiveSegmentations) {
|
|
89
|
+
if (!this.config.viewportsStyle[viewportId]) {
|
|
90
|
+
this.config.viewportsStyle[viewportId] = {
|
|
91
|
+
renderInactiveSegmentations: false,
|
|
92
|
+
representations: {},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
this.config.viewportsStyle[viewportId].renderInactiveSegmentations =
|
|
96
|
+
renderInactiveSegmentations;
|
|
97
|
+
}
|
|
98
|
+
getStyle(specifier) {
|
|
99
|
+
const { viewportId, segmentationId, type, segmentIndex } = specifier;
|
|
100
|
+
let combinedStyle = this.getDefaultStyle(type);
|
|
101
|
+
let renderInactiveSegmentations = false;
|
|
102
|
+
if (this.config.global[type]) {
|
|
103
|
+
combinedStyle = {
|
|
104
|
+
...combinedStyle,
|
|
105
|
+
...this.config.global[type],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (this.config.segmentations[segmentationId]?.[type]) {
|
|
109
|
+
combinedStyle = {
|
|
110
|
+
...combinedStyle,
|
|
111
|
+
...this.config.segmentations[segmentationId][type].allSegments,
|
|
112
|
+
};
|
|
113
|
+
if (segmentIndex !== undefined &&
|
|
114
|
+
this.config.segmentations[segmentationId][type].perSegment?.[segmentIndex]) {
|
|
115
|
+
combinedStyle = {
|
|
116
|
+
...combinedStyle,
|
|
117
|
+
...this.config.segmentations[segmentationId][type].perSegment[segmentIndex],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (viewportId && this.config.viewportsStyle[viewportId]) {
|
|
122
|
+
renderInactiveSegmentations =
|
|
123
|
+
this.config.viewportsStyle[viewportId].renderInactiveSegmentations;
|
|
124
|
+
const allSegmentationsKey = '__allSegmentations__';
|
|
125
|
+
if (this.config.viewportsStyle[viewportId].representations[allSegmentationsKey]?.[type]) {
|
|
126
|
+
combinedStyle = {
|
|
127
|
+
...combinedStyle,
|
|
128
|
+
...this.config.viewportsStyle[viewportId].representations[allSegmentationsKey][type].allSegments,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
if (segmentationId &&
|
|
132
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId]?.[type]) {
|
|
133
|
+
combinedStyle = {
|
|
134
|
+
...combinedStyle,
|
|
135
|
+
...this.config.viewportsStyle[viewportId].representations[segmentationId][type].allSegments,
|
|
136
|
+
};
|
|
137
|
+
if (segmentIndex !== undefined &&
|
|
138
|
+
this.config.viewportsStyle[viewportId].representations[segmentationId][type].perSegment?.[segmentIndex]) {
|
|
139
|
+
combinedStyle = {
|
|
140
|
+
...combinedStyle,
|
|
141
|
+
...this.config.viewportsStyle[viewportId].representations[segmentationId][type].perSegment[segmentIndex],
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return { style: combinedStyle, renderInactiveSegmentations };
|
|
147
|
+
}
|
|
148
|
+
getDefaultStyle(type) {
|
|
149
|
+
switch (type) {
|
|
150
|
+
case Enums.SegmentationRepresentations.Labelmap:
|
|
151
|
+
return getDefaultLabelmapConfig();
|
|
152
|
+
case Enums.SegmentationRepresentations.Contour:
|
|
153
|
+
return getDefaultContourConfig();
|
|
154
|
+
case Enums.SegmentationRepresentations.Surface:
|
|
155
|
+
return {};
|
|
156
|
+
default:
|
|
157
|
+
throw new Error(`Unknown representation type: ${type}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
const segmentationStyle = new SegmentationStyle();
|
|
162
|
+
export { segmentationStyle };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare function
|
|
3
|
-
declare function
|
|
4
|
-
|
|
5
|
-
export { getActiveSegmentationRepresentation, getActiveSegmentation, setActiveSegmentationRepresentation, };
|
|
1
|
+
import type { Segmentation } from '../../types/SegmentationStateTypes';
|
|
2
|
+
declare function getActiveSegmentation(viewportId: string): Segmentation;
|
|
3
|
+
declare function setActiveSegmentation(viewportId: string, segmentationId: string, suppressEvent?: boolean): void;
|
|
4
|
+
export { getActiveSegmentation, setActiveSegmentation, };
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
function getActiveSegmentationRepresentation(viewportId) {
|
|
5
|
-
return _getActiveSegmentationRepresentation(viewportId);
|
|
6
|
-
}
|
|
1
|
+
import { getActiveSegmentation as _getActiveSegmentation } from './getActiveSegmentation';
|
|
2
|
+
import { triggerSegmentationRender } from './SegmentationRenderingEngine';
|
|
3
|
+
import { setActiveSegmentation as _setActiveSegmentation } from './setActiveSegmentation';
|
|
7
4
|
function getActiveSegmentation(viewportId) {
|
|
8
|
-
|
|
9
|
-
if (!activeRepresentation) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
return getSegmentation(activeRepresentation.segmentationId);
|
|
5
|
+
return _getActiveSegmentation(viewportId);
|
|
13
6
|
}
|
|
14
|
-
function
|
|
15
|
-
|
|
7
|
+
function setActiveSegmentation(viewportId, segmentationId, suppressEvent = false) {
|
|
8
|
+
_setActiveSegmentation(viewportId, segmentationId);
|
|
9
|
+
if (!suppressEvent) {
|
|
10
|
+
triggerSegmentationRender(viewportId);
|
|
11
|
+
}
|
|
16
12
|
}
|
|
17
|
-
export {
|
|
13
|
+
export { getActiveSegmentation, setActiveSegmentation, };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare function addColorLUT(colorLUT: Types.ColorLUT, index
|
|
1
|
+
import { type Types } from '@cornerstonejs/core';
|
|
2
|
+
export declare function addColorLUT(colorLUT: Types.ColorLUT, index?: number): number;
|
|
@@ -1,5 +1,19 @@
|
|
|
1
|
+
import { utilities } from '@cornerstonejs/core';
|
|
1
2
|
import { defaultSegmentationStateManager } from './SegmentationStateManager';
|
|
3
|
+
import { getNextColorLUTIndex } from './getNextColorLUTIndex';
|
|
4
|
+
import CORNERSTONE_COLOR_LUT from '../../constants/COLOR_LUT';
|
|
2
5
|
export function addColorLUT(colorLUT, index) {
|
|
3
6
|
const segmentationStateManager = defaultSegmentationStateManager;
|
|
4
|
-
|
|
7
|
+
const indexToUse = index ?? getNextColorLUTIndex();
|
|
8
|
+
let colorLUTToUse = [...colorLUT];
|
|
9
|
+
if (!utilities.isEqual(colorLUTToUse[0], [0, 0, 0, 0])) {
|
|
10
|
+
console.warn('addColorLUT: [0, 0, 0, 0] color is not provided for the background color (segmentIndex =0), automatically adding it');
|
|
11
|
+
colorLUTToUse = [[0, 0, 0, 0], ...colorLUTToUse];
|
|
12
|
+
}
|
|
13
|
+
if (colorLUTToUse.length < 255) {
|
|
14
|
+
const missingColorLUTs = CORNERSTONE_COLOR_LUT.slice(colorLUTToUse.length);
|
|
15
|
+
colorLUTToUse = [...colorLUTToUse, ...missingColorLUTs];
|
|
16
|
+
}
|
|
17
|
+
segmentationStateManager.addColorLUT(colorLUTToUse, indexToUse);
|
|
18
|
+
return indexToUse;
|
|
5
19
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RepresentationPublicInput } from '../../types/SegmentationStateTypes';
|
|
2
|
+
export declare function addSegmentationRepresentations(viewportId: string, segmentationInputArray: RepresentationPublicInput[]): void;
|
|
3
|
+
declare function addContourRepresentationToViewport(viewportId: string, contourInputArray: RepresentationPublicInput[]): void;
|
|
4
|
+
declare function addContourRepresentationToViewportMap(viewportInputMap: {
|
|
5
|
+
[viewportId: string]: RepresentationPublicInput[];
|
|
6
|
+
}): {};
|
|
7
|
+
declare function addLabelmapRepresentationToViewport(viewportId: string, labelmapInputArray: RepresentationPublicInput[]): void;
|
|
8
|
+
declare function addLabelmapRepresentationToViewportMap(viewportInputMap: {
|
|
9
|
+
[viewportId: string]: RepresentationPublicInput[];
|
|
10
|
+
}): void;
|
|
11
|
+
declare function addSurfaceRepresentationToViewport(viewportId: string, surfaceInputArray: RepresentationPublicInput[]): void;
|
|
12
|
+
declare function addSurfaceRepresentationToViewportMap(viewportInputMap: {
|
|
13
|
+
[viewportId: string]: RepresentationPublicInput[];
|
|
14
|
+
}): {};
|
|
15
|
+
export { addContourRepresentationToViewport, addLabelmapRepresentationToViewport, addSurfaceRepresentationToViewport, addContourRepresentationToViewportMap, addLabelmapRepresentationToViewportMap, addSurfaceRepresentationToViewportMap, };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SegmentationRepresentations } from '../../enums';
|
|
2
|
+
import { internalAddSegmentationRepresentation } from './internalAddSegmentationRepresentation';
|
|
3
|
+
export function addSegmentationRepresentations(viewportId, segmentationInputArray) {
|
|
4
|
+
segmentationInputArray.map((segmentationInput) => {
|
|
5
|
+
return internalAddSegmentationRepresentation(viewportId, segmentationInput);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
function addContourRepresentationToViewport(viewportId, contourInputArray) {
|
|
9
|
+
return addSegmentationRepresentations(viewportId, contourInputArray.map((input) => ({
|
|
10
|
+
...input,
|
|
11
|
+
type: SegmentationRepresentations.Contour,
|
|
12
|
+
})));
|
|
13
|
+
}
|
|
14
|
+
function addContourRepresentationToViewportMap(viewportInputMap) {
|
|
15
|
+
const results = {};
|
|
16
|
+
for (const [viewportId, inputArray] of Object.entries(viewportInputMap)) {
|
|
17
|
+
results[viewportId] = addContourRepresentationToViewport(viewportId, inputArray);
|
|
18
|
+
}
|
|
19
|
+
return results;
|
|
20
|
+
}
|
|
21
|
+
function addLabelmapRepresentationToViewport(viewportId, labelmapInputArray) {
|
|
22
|
+
return addSegmentationRepresentations(viewportId, labelmapInputArray.map((input) => ({
|
|
23
|
+
...input,
|
|
24
|
+
type: SegmentationRepresentations.Labelmap,
|
|
25
|
+
})));
|
|
26
|
+
}
|
|
27
|
+
function addLabelmapRepresentationToViewportMap(viewportInputMap) {
|
|
28
|
+
const results = {};
|
|
29
|
+
for (const [viewportId, inputArray] of Object.entries(viewportInputMap)) {
|
|
30
|
+
results[viewportId] = addLabelmapRepresentationToViewport(viewportId, inputArray.map((input) => ({
|
|
31
|
+
...input,
|
|
32
|
+
type: SegmentationRepresentations.Labelmap,
|
|
33
|
+
})));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function addSurfaceRepresentationToViewport(viewportId, surfaceInputArray) {
|
|
37
|
+
return addSegmentationRepresentations(viewportId, surfaceInputArray.map((input) => ({
|
|
38
|
+
...input,
|
|
39
|
+
type: SegmentationRepresentations.Surface,
|
|
40
|
+
})));
|
|
41
|
+
}
|
|
42
|
+
function addSurfaceRepresentationToViewportMap(viewportInputMap) {
|
|
43
|
+
const results = {};
|
|
44
|
+
for (const [viewportId, inputArray] of Object.entries(viewportInputMap)) {
|
|
45
|
+
results[viewportId] = addSurfaceRepresentationToViewport(viewportId, inputArray);
|
|
46
|
+
}
|
|
47
|
+
return results;
|
|
48
|
+
}
|
|
49
|
+
export { addContourRepresentationToViewport, addLabelmapRepresentationToViewport, addSurfaceRepresentationToViewport, addContourRepresentationToViewportMap, addLabelmapRepresentationToViewportMap, addSurfaceRepresentationToViewportMap, };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { SegmentationPublicInput } from '../../types/SegmentationStateTypes';
|
|
2
|
-
declare function addSegmentations(segmentationInputArray: SegmentationPublicInput[]): void;
|
|
2
|
+
export declare function addSegmentations(segmentationInputArray: SegmentationPublicInput[], suppressEvents?: boolean): void;
|
|
3
3
|
export default addSegmentations;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { defaultSegmentationStateManager } from './SegmentationStateManager';
|
|
2
|
+
import { triggerSegmentationModified } from './triggerSegmentationEvents';
|
|
3
|
+
import normalizeSegmentationInput from './helpers/normalizeSegmentationInput';
|
|
4
|
+
export function addSegmentations(segmentationInputArray, suppressEvents) {
|
|
5
|
+
const segmentationStateManager = defaultSegmentationStateManager;
|
|
6
|
+
segmentationInputArray.forEach((segmentationInput) => {
|
|
7
|
+
const segmentation = normalizeSegmentationInput(segmentationInput);
|
|
8
|
+
segmentationStateManager.addSegmentation(segmentation);
|
|
9
|
+
if (!suppressEvents) {
|
|
10
|
+
triggerSegmentationModified(segmentation.segmentationId);
|
|
11
|
+
}
|
|
8
12
|
});
|
|
9
13
|
}
|
|
10
14
|
export default addSegmentations;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as color from './segmentationColor';
|
|
2
2
|
import * as visibility from './segmentationVisibility';
|
|
3
|
-
import
|
|
4
|
-
export { color, visibility,
|
|
3
|
+
import * as style from './styleHelpers';
|
|
4
|
+
export { color, visibility, style };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as color from './segmentationColor';
|
|
2
2
|
import * as visibility from './segmentationVisibility';
|
|
3
|
-
import
|
|
4
|
-
export { color, visibility,
|
|
3
|
+
import * as style from './styleHelpers';
|
|
4
|
+
export { color, visibility, style };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Types } from '@cornerstonejs/core';
|
|
2
|
-
declare function addColorLUT(colorLUT: Types.ColorLUT, colorLUTIndex
|
|
3
|
-
declare function setColorLUT(
|
|
4
|
-
declare function getSegmentIndexColor(
|
|
5
|
-
declare function setSegmentIndexColor(
|
|
2
|
+
declare function addColorLUT(colorLUT: Types.ColorLUT, colorLUTIndex?: number): number;
|
|
3
|
+
declare function setColorLUT(viewportId: string, segmentationId: string, colorLUTsIndex: number): void;
|
|
4
|
+
declare function getSegmentIndexColor(viewportId: string, segmentationId: string, segmentIndex: number): Types.Color;
|
|
5
|
+
declare function setSegmentIndexColor(viewportId: string, segmentationId: string, segmentIndex: number, color: Types.Color): void;
|
|
6
6
|
export { getSegmentIndexColor, addColorLUT, setColorLUT, setSegmentIndexColor };
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { utilities } from '@cornerstonejs/core';
|
|
2
|
-
import { triggerSegmentationRepresentationModified } from '../triggerSegmentationEvents';
|
|
3
1
|
import { addColorLUT as _addColorLUT } from '../addColorLUT';
|
|
4
2
|
import { getColorLUT as _getColorLUT } from '../getColorLUT';
|
|
5
|
-
import {
|
|
3
|
+
import { getSegmentationRepresentations } from '../getSegmentationRepresentation';
|
|
4
|
+
import { triggerSegmentationModified } from '../triggerSegmentationEvents';
|
|
6
5
|
function addColorLUT(colorLUT, colorLUTIndex) {
|
|
7
6
|
if (!colorLUT) {
|
|
8
7
|
throw new Error('addColorLUT: colorLUT is required');
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
console.warn('addColorLUT: [0, 0, 0, 0] color is not provided for the background color (segmentIndex =0), automatically adding it');
|
|
12
|
-
colorLUT.unshift([0, 0, 0, 0]);
|
|
13
|
-
}
|
|
14
|
-
_addColorLUT(colorLUT, colorLUTIndex);
|
|
9
|
+
return _addColorLUT(colorLUT, colorLUTIndex);
|
|
15
10
|
}
|
|
16
|
-
function setColorLUT(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
throw new Error(`setColorLUT: could not find segmentation representation with UID ${segmentationRepresentationUID}`);
|
|
11
|
+
function setColorLUT(viewportId, segmentationId, colorLUTsIndex) {
|
|
12
|
+
if (!_getColorLUT(colorLUTsIndex)) {
|
|
13
|
+
throw new Error(`setColorLUT: could not find colorLUT with index ${colorLUTsIndex}`);
|
|
20
14
|
}
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
const segmentationRepresentations = getSegmentationRepresentations(viewportId, { segmentationId });
|
|
16
|
+
if (!segmentationRepresentations) {
|
|
17
|
+
throw new Error(`viewport specific state for viewport ${viewportId} does not exist`);
|
|
23
18
|
}
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
segmentationRepresentations.forEach((segmentationRepresentation) => {
|
|
20
|
+
segmentationRepresentation.config.colorLUTIndex = colorLUTsIndex;
|
|
21
|
+
});
|
|
22
|
+
triggerSegmentationModified(segmentationId);
|
|
26
23
|
}
|
|
27
|
-
function getSegmentIndexColor(
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
function getSegmentIndexColor(viewportId, segmentationId, segmentIndex) {
|
|
25
|
+
const representations = getSegmentationRepresentations(viewportId, {
|
|
26
|
+
segmentationId,
|
|
27
|
+
});
|
|
28
|
+
if (!representations) {
|
|
29
|
+
throw new Error(`segmentation representation with segmentationId ${segmentationId} does not exist`);
|
|
31
30
|
}
|
|
32
|
-
const
|
|
31
|
+
const representation = representations[0];
|
|
32
|
+
const { colorLUTIndex } = representation.config;
|
|
33
33
|
const colorLUT = _getColorLUT(colorLUTIndex);
|
|
34
34
|
let colorValue = colorLUT[segmentIndex];
|
|
35
35
|
if (!colorValue) {
|
|
@@ -40,11 +40,11 @@ function getSegmentIndexColor(segmentationRepresentationUID, segmentIndex) {
|
|
|
40
40
|
}
|
|
41
41
|
return colorValue;
|
|
42
42
|
}
|
|
43
|
-
function setSegmentIndexColor(
|
|
44
|
-
const colorReference = getSegmentIndexColor(
|
|
43
|
+
function setSegmentIndexColor(viewportId, segmentationId, segmentIndex, color) {
|
|
44
|
+
const colorReference = getSegmentIndexColor(viewportId, segmentationId, segmentIndex);
|
|
45
45
|
for (let i = 0; i < color.length; i++) {
|
|
46
46
|
colorReference[i] = color[i];
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
triggerSegmentationModified(segmentationId);
|
|
49
49
|
}
|
|
50
50
|
export { getSegmentIndexColor, addColorLUT, setColorLUT, setSegmentIndexColor };
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
declare function
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
declare function
|
|
7
|
-
|
|
1
|
+
import type { SegmentationRepresentations } from '../../../enums';
|
|
2
|
+
declare function setSegmentationRepresentationVisibility(viewportId: string, specifier: {
|
|
3
|
+
segmentationId: string;
|
|
4
|
+
type?: SegmentationRepresentations;
|
|
5
|
+
}, visibility: boolean): void;
|
|
6
|
+
declare function getSegmentationRepresentationVisibility(viewportId: string, specifier: {
|
|
7
|
+
segmentationId: string;
|
|
8
|
+
type: SegmentationRepresentations;
|
|
9
|
+
}): boolean | undefined;
|
|
10
|
+
declare function setSegmentIndexVisibility(viewportId: string, specifier: {
|
|
11
|
+
segmentationId: string;
|
|
12
|
+
type?: SegmentationRepresentations;
|
|
13
|
+
}, segmentIndex: number, visibility: boolean): void;
|
|
14
|
+
declare function getSegmentIndexVisibility(viewportId: string, specifier: {
|
|
15
|
+
segmentationId: string;
|
|
16
|
+
type: SegmentationRepresentations;
|
|
17
|
+
}, segmentIndex: number): boolean;
|
|
18
|
+
declare function getHiddenSegmentIndices(viewportId: string, specifier: {
|
|
19
|
+
segmentationId: string;
|
|
20
|
+
type: SegmentationRepresentations;
|
|
21
|
+
}): Set<number>;
|
|
22
|
+
export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getHiddenSegmentIndices, };
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { getSegmentationRepresentation } from '../getSegmentationRepresentation';
|
|
2
|
-
import { triggerSegmentationRepresentationModified } from '../triggerSegmentationEvents';
|
|
1
|
+
import { getSegmentationRepresentation, getSegmentationRepresentations, } from '../getSegmentationRepresentation';
|
|
3
2
|
import { setSegmentationRepresentationVisibility as _setSegmentationRepresentationVisibility } from '../setSegmentationRepresentationVisibility';
|
|
4
3
|
import { getSegmentationRepresentationVisibility as _getSegmentationRepresentationVisibility } from '../getSegmentationRepresentationVisibility';
|
|
5
|
-
import {
|
|
6
|
-
function setSegmentationRepresentationVisibility(viewportId,
|
|
7
|
-
const
|
|
8
|
-
if (!
|
|
4
|
+
import { triggerSegmentationModified } from '../triggerSegmentationEvents';
|
|
5
|
+
function setSegmentationRepresentationVisibility(viewportId, specifier, visibility) {
|
|
6
|
+
const representations = getSegmentationRepresentations(viewportId, specifier);
|
|
7
|
+
if (!representations) {
|
|
9
8
|
return;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
representations.forEach((representation) => {
|
|
11
|
+
_setSegmentationRepresentationVisibility(viewportId, {
|
|
12
|
+
segmentationId: representation.segmentationId,
|
|
13
|
+
type: representation.type,
|
|
14
|
+
}, visibility);
|
|
15
|
+
});
|
|
16
|
+
triggerSegmentationModified(specifier.segmentationId);
|
|
13
17
|
}
|
|
14
|
-
function getSegmentationRepresentationVisibility(viewportId,
|
|
15
|
-
return _getSegmentationRepresentationVisibility(viewportId,
|
|
18
|
+
function getSegmentationRepresentationVisibility(viewportId, specifier) {
|
|
19
|
+
return _getSegmentationRepresentationVisibility(viewportId, specifier);
|
|
16
20
|
}
|
|
17
|
-
function
|
|
18
|
-
const
|
|
19
|
-
|
|
21
|
+
function setSegmentIndexVisibility(viewportId, specifier, segmentIndex, visibility) {
|
|
22
|
+
const representations = getSegmentationRepresentations(viewportId, specifier);
|
|
23
|
+
if (!representations) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
representations.forEach((representation) => {
|
|
27
|
+
const hiddenSegments = representation.segmentsHidden ?? new Set();
|
|
20
28
|
visibility
|
|
21
29
|
? hiddenSegments.delete(segmentIndex)
|
|
22
30
|
: hiddenSegments.add(segmentIndex);
|
|
23
31
|
});
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
function setSegmentIndexVisibility(viewportId, segmentationRepresentationUID, segmentIndex, visibility) {
|
|
27
|
-
const hiddenSegments = getHiddenSegmentIndices(viewportId, segmentationRepresentationUID);
|
|
28
|
-
visibility
|
|
29
|
-
? hiddenSegments.delete(segmentIndex)
|
|
30
|
-
: hiddenSegments.add(segmentIndex);
|
|
31
|
-
triggerSegmentationRepresentationModified(segmentationRepresentationUID);
|
|
32
|
+
triggerSegmentationModified(specifier.segmentationId);
|
|
32
33
|
}
|
|
33
|
-
function getSegmentIndexVisibility(viewportId,
|
|
34
|
-
const hiddenSegments = getHiddenSegmentIndices(viewportId,
|
|
34
|
+
function getSegmentIndexVisibility(viewportId, specifier, segmentIndex) {
|
|
35
|
+
const hiddenSegments = getHiddenSegmentIndices(viewportId, specifier);
|
|
35
36
|
return !hiddenSegments.has(segmentIndex);
|
|
36
37
|
}
|
|
37
|
-
function getHiddenSegmentIndices(viewportId,
|
|
38
|
-
const
|
|
39
|
-
if (!
|
|
38
|
+
function getHiddenSegmentIndices(viewportId, specifier) {
|
|
39
|
+
const representation = getSegmentationRepresentation(viewportId, specifier);
|
|
40
|
+
if (!representation) {
|
|
40
41
|
return new Set();
|
|
41
42
|
}
|
|
42
|
-
return
|
|
43
|
-
new Set());
|
|
43
|
+
return representation.segmentsHidden ?? new Set();
|
|
44
44
|
}
|
|
45
|
-
export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility,
|
|
45
|
+
export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getHiddenSegmentIndices, };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
|
|
2
|
+
import type { ContourStyle } from '../../../types/ContourTypes';
|
|
3
|
+
import type { LabelmapStyle } from '../../../types/LabelmapTypes';
|
|
4
|
+
import type { SurfaceStyle } from '../../../types/SurfaceTypes';
|
|
5
|
+
import type { RepresentationStyle } from '../SegmentationStyle';
|
|
6
|
+
declare function getStyle(specifier: {
|
|
7
|
+
viewportId?: string;
|
|
8
|
+
segmentationId?: string;
|
|
9
|
+
type?: SegmentationRepresentations;
|
|
10
|
+
segmentIndex?: number;
|
|
11
|
+
}): {
|
|
12
|
+
style: RepresentationStyle;
|
|
13
|
+
renderInactiveSegmentations: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare function getGlobalStyle(type: SegmentationRepresentations): RepresentationStyle;
|
|
16
|
+
declare function setGlobalStyle(type: SegmentationRepresentations, style: RepresentationStyle): void;
|
|
17
|
+
declare function setGlobalLabelmapStyle(style: LabelmapStyle): void;
|
|
18
|
+
declare function setGlobalContourStyle(style: ContourStyle): void;
|
|
19
|
+
declare function setGlobalSurfaceStyle(style: SurfaceStyle): void;
|
|
20
|
+
declare function setSegmentationSpecificStyle(specifier: {
|
|
21
|
+
segmentationId: string;
|
|
22
|
+
type: SegmentationRepresentations;
|
|
23
|
+
segmentIndex?: number;
|
|
24
|
+
}, style: RepresentationStyle): void;
|
|
25
|
+
declare function setLabelmapStyle(specifier: {
|
|
26
|
+
segmentationId: string;
|
|
27
|
+
}, style: LabelmapStyle): void;
|
|
28
|
+
declare function setViewportSpecificStyleForType(specifier: {
|
|
29
|
+
viewportId: string;
|
|
30
|
+
type: SegmentationRepresentations;
|
|
31
|
+
}, style: RepresentationStyle): void;
|
|
32
|
+
declare function setViewportSpecificStyleForSegmentation(specifier: {
|
|
33
|
+
viewportId: string;
|
|
34
|
+
segmentationId: string;
|
|
35
|
+
type: SegmentationRepresentations;
|
|
36
|
+
segmentIndex?: number;
|
|
37
|
+
}, style: RepresentationStyle): void;
|
|
38
|
+
declare function setViewportRenderInactiveSegmentations(viewportId: string, renderInactiveSegmentations: boolean): void;
|
|
39
|
+
export { getStyle, getGlobalStyle, setGlobalStyle, setGlobalLabelmapStyle, setGlobalContourStyle, setGlobalSurfaceStyle, setSegmentationSpecificStyle, setLabelmapStyle, setViewportSpecificStyleForType, setViewportSpecificStyleForSegmentation, setViewportRenderInactiveSegmentations, };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
|
|
2
|
+
import { triggerSegmentationRender } from '../SegmentationRenderingEngine';
|
|
3
|
+
import { segmentationStyle } from '../SegmentationStyle';
|
|
4
|
+
function getStyle(specifier) {
|
|
5
|
+
return segmentationStyle.getStyle(specifier);
|
|
6
|
+
}
|
|
7
|
+
function getGlobalStyle(type) {
|
|
8
|
+
return segmentationStyle.getGlobalStyle(type);
|
|
9
|
+
}
|
|
10
|
+
function setGlobalStyle(type, style) {
|
|
11
|
+
segmentationStyle.setGlobalStyle(type, style);
|
|
12
|
+
triggerSegmentationRender();
|
|
13
|
+
}
|
|
14
|
+
function setGlobalLabelmapStyle(style) {
|
|
15
|
+
segmentationStyle.setGlobalLabelmapStyle(style);
|
|
16
|
+
triggerSegmentationRender();
|
|
17
|
+
}
|
|
18
|
+
function setGlobalContourStyle(style) {
|
|
19
|
+
segmentationStyle.setGlobalContourStyle(style);
|
|
20
|
+
triggerSegmentationRender();
|
|
21
|
+
}
|
|
22
|
+
function setGlobalSurfaceStyle(style) {
|
|
23
|
+
segmentationStyle.setGlobalSurfaceStyle(style);
|
|
24
|
+
triggerSegmentationRender();
|
|
25
|
+
}
|
|
26
|
+
function setSegmentationSpecificStyle(specifier, style) {
|
|
27
|
+
segmentationStyle.setSegmentationSpecificStyle(specifier, style);
|
|
28
|
+
triggerSegmentationRender();
|
|
29
|
+
}
|
|
30
|
+
function setLabelmapStyle(specifier, style) {
|
|
31
|
+
setSegmentationSpecificStyle({
|
|
32
|
+
...specifier,
|
|
33
|
+
type: SegmentationRepresentations.Labelmap,
|
|
34
|
+
}, style);
|
|
35
|
+
}
|
|
36
|
+
function setViewportSpecificStyleForType(specifier, style) {
|
|
37
|
+
segmentationStyle.setViewportSpecificStyleForType(specifier, style);
|
|
38
|
+
triggerSegmentationRender(specifier.viewportId);
|
|
39
|
+
}
|
|
40
|
+
function setViewportSpecificStyleForSegmentation(specifier, style) {
|
|
41
|
+
segmentationStyle.setViewportSpecificStyleForSegmentation(specifier, style);
|
|
42
|
+
triggerSegmentationRender(specifier.viewportId);
|
|
43
|
+
}
|
|
44
|
+
function setViewportRenderInactiveSegmentations(viewportId, renderInactiveSegmentations) {
|
|
45
|
+
segmentationStyle.setViewportRenderInactiveSegmentations(viewportId, renderInactiveSegmentations);
|
|
46
|
+
triggerSegmentationRender(viewportId);
|
|
47
|
+
}
|
|
48
|
+
export { getStyle, getGlobalStyle, setGlobalStyle, setGlobalLabelmapStyle, setGlobalContourStyle, setGlobalSurfaceStyle, setSegmentationSpecificStyle, setLabelmapStyle, setViewportSpecificStyleForType, setViewportSpecificStyleForSegmentation, setViewportRenderInactiveSegmentations, };
|
package/dist/esm/stateManagement/segmentation/{getGlobalConfig.js → getActiveSegmentation.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultSegmentationStateManager } from './SegmentationStateManager';
|
|
2
|
-
export function
|
|
2
|
+
export function getActiveSegmentation(viewportId) {
|
|
3
3
|
const segmentationStateManager = defaultSegmentationStateManager;
|
|
4
|
-
return segmentationStateManager.
|
|
4
|
+
return segmentationStateManager.getActiveSegmentation(viewportId);
|
|
5
5
|
}
|