@cornerstonejs/tools 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.d.ts +0 -0
- package/dist/cjs/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.js +0 -0
- package/dist/{esm/stateManagement/segmentation/helpers → cjs/constants}/COLOR_LUT.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +2 -0
- package/dist/cjs/constants/index.js +9 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/enums/Events.d.ts +3 -2
- package/dist/cjs/enums/Events.js +3 -2
- package/dist/cjs/enums/Events.js.map +1 -1
- package/dist/cjs/eventListeners/index.d.ts +2 -2
- package/dist/cjs/eventListeners/index.js +4 -2
- package/dist/cjs/eventListeners/index.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/index.d.ts +4 -2
- package/dist/cjs/eventListeners/segmentation/index.js +7 -3
- package/dist/cjs/eventListeners/segmentation/index.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +7 -12
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +3 -0
- package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.js +18 -0
- package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.js.map +1 -0
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +3 -0
- package/dist/cjs/eventListeners/segmentation/{segmentationStateModifiedEventListener.js → segmentationRepresentationModifiedEventListener.js} +3 -3
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js.map +1 -0
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +3 -0
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +12 -0
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/init.js +14 -18
- package/dist/cjs/init.js.map +1 -1
- package/dist/cjs/stateManagement/index.d.ts +2 -2
- package/dist/cjs/stateManagement/index.js +2 -2
- package/dist/cjs/stateManagement/index.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +15 -18
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +87 -120
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.d.ts +4 -7
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +15 -15
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.js +41 -0
- package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/addSegmentations.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/addSegmentations.js +17 -0
- package/dist/cjs/stateManagement/segmentation/addSegmentations.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js +5 -5
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/index.d.ts +2 -4
- package/dist/cjs/stateManagement/segmentation/helpers/index.js +3 -7
- package/dist/cjs/stateManagement/segmentation/helpers/index.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +18 -0
- package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js +45 -0
- package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/index.d.ts +3 -2
- package/dist/cjs/stateManagement/segmentation/index.js +5 -3
- package/dist/cjs/stateManagement/segmentation/index.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +21 -16
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js +22 -22
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +3 -3
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js +26 -26
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +3 -3
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js +5 -5
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +8 -12
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +16 -42
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +16 -19
- package/dist/cjs/stateManagement/segmentation/segmentationState.js +80 -97
- package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +12 -10
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -4
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +36 -21
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroy.js +2 -2
- package/dist/cjs/store/ToolGroupManager/destroy.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupById.d.ts +2 -0
- package/dist/cjs/store/ToolGroupManager/{destroyToolGroupByToolGroupId.js → destroyToolGroupById.js} +3 -3
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupById.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupById.d.ts +3 -0
- package/dist/cjs/store/ToolGroupManager/{getToolGroupByToolGroupId.js → getToolGroupById.js} +3 -3
- package/dist/cjs/store/ToolGroupManager/getToolGroupById.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/index.d.ts +3 -3
- package/dist/cjs/store/ToolGroupManager/index.js +5 -5
- package/dist/cjs/store/ToolGroupManager/index.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -0
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +29 -0
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -0
- package/dist/cjs/tools/displayTools/Labelmap/index.d.ts +3 -3
- package/dist/cjs/tools/displayTools/Labelmap/index.js +5 -5
- package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.d.ts +5 -0
- package/dist/cjs/tools/displayTools/Labelmap/{LabelmapConfig.js → labelmapConfig.js} +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -0
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.d.ts +11 -0
- package/dist/cjs/tools/displayTools/Labelmap/{LabelmapDisplay.js → labelmapDisplay.js} +68 -59
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -0
- package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +2 -0
- package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js +12 -0
- package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -0
- package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.d.ts +3 -0
- package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +18 -0
- package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -0
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +20 -19
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js +11 -9
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +11 -9
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js +11 -9
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -2
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -2
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -2
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -2
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/cjs/types/EventTypes.d.ts +13 -8
- package/dist/cjs/types/LabelmapTypes.d.ts +19 -0
- package/dist/cjs/types/{SegmentationRepresentationTypes.js → LabelmapTypes.js} +1 -1
- package/dist/cjs/types/LabelmapTypes.js.map +1 -0
- package/dist/cjs/types/SegmentationStateTypes.d.ts +41 -32
- package/dist/cjs/types/index.d.ts +2 -3
- package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.d.ts +2 -1
- package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.js +4 -3
- package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.js.map +1 -1
- package/dist/cjs/utilities/segmentation/index.d.ts +1 -2
- package/dist/cjs/utilities/segmentation/index.js +1 -3
- package/dist/cjs/utilities/segmentation/index.js.map +1 -1
- package/dist/cjs/utilities/segmentation/isValidRepresentationConfig.js +2 -2
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +2 -2
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +10 -9
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/cjs/utilities/triggerSegmentationRender.js +1 -1
- package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/esm/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.d.ts +0 -0
- package/dist/esm/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.js +0 -0
- package/dist/esm/constants/COLOR_LUT.js.map +1 -0
- package/dist/esm/constants/index.d.ts +2 -0
- package/dist/esm/constants/index.js +3 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/enums/Events.d.ts +3 -2
- package/dist/esm/enums/Events.js +3 -2
- package/dist/esm/enums/Events.js.map +1 -1
- package/dist/esm/eventListeners/index.d.ts +2 -2
- package/dist/esm/eventListeners/index.js +2 -2
- package/dist/esm/eventListeners/index.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/index.d.ts +4 -2
- package/dist/esm/eventListeners/segmentation/index.js +4 -2
- package/dist/esm/eventListeners/segmentation/index.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +7 -12
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +16 -0
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js.map +1 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +7 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js.map +1 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +3 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +7 -0
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js.map +1 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +15 -19
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/stateManagement/index.d.ts +2 -2
- package/dist/esm/stateManagement/index.js +2 -2
- package/dist/esm/stateManagement/index.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +15 -18
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +87 -122
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -7
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +14 -14
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +23 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.js +12 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js +6 -6
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +2 -4
- package/dist/esm/stateManagement/segmentation/helpers/index.js +2 -4
- package/dist/esm/stateManagement/segmentation/helpers/index.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +18 -0
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +21 -0
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/index.d.ts +3 -2
- package/dist/esm/stateManagement/segmentation/index.js +3 -2
- package/dist/esm/stateManagement/segmentation/index.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +23 -18
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +25 -25
- package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +29 -29
- package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/segmentationColor.js +5 -5
- package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +8 -12
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js +12 -46
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +16 -19
- package/dist/esm/stateManagement/segmentation/segmentationState.js +68 -91
- package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +14 -12
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -4
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +34 -20
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroy.js +2 -2
- package/dist/esm/store/ToolGroupManager/destroy.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroupById.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/{destroyToolGroupByToolGroupId.js → destroyToolGroupById.js} +3 -3
- package/dist/esm/store/ToolGroupManager/destroyToolGroupById.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupById.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupById.js +6 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupById.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/index.d.ts +3 -3
- package/dist/esm/store/ToolGroupManager/index.js +3 -3
- package/dist/esm/store/ToolGroupManager/index.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -0
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +16 -0
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -0
- package/dist/esm/tools/displayTools/Labelmap/index.d.ts +3 -3
- package/dist/esm/tools/displayTools/Labelmap/index.js +3 -3
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +5 -0
- package/dist/esm/tools/displayTools/Labelmap/{LabelmapConfig.js → labelmapConfig.js} +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -0
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +11 -0
- package/dist/esm/tools/displayTools/Labelmap/{LabelmapDisplay.js → labelmapDisplay.js} +70 -61
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -0
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +2 -0
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +10 -0
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -0
- package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.d.ts +3 -0
- package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +16 -0
- package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -0
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +24 -23
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +11 -9
- package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +11 -9
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +11 -9
- package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -2
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -2
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -2
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -2
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/esm/types/EventTypes.d.ts +13 -8
- package/dist/esm/types/LabelmapTypes.d.ts +19 -0
- package/dist/esm/types/LabelmapTypes.js +2 -0
- package/dist/esm/types/LabelmapTypes.js.map +1 -0
- package/dist/esm/types/SegmentationStateTypes.d.ts +41 -32
- package/dist/esm/types/index.d.ts +2 -3
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +2 -1
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js +3 -2
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js.map +1 -1
- package/dist/esm/utilities/segmentation/index.d.ts +1 -2
- package/dist/esm/utilities/segmentation/index.js +1 -2
- package/dist/esm/utilities/segmentation/index.js.map +1 -1
- package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +2 -2
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +10 -9
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/esm/utilities/triggerSegmentationRender.js +2 -2
- package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/tools.d.ts +221 -216
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.d.ts +0 -3
- package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +0 -1
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +0 -3
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js +0 -59
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +0 -1
- package/dist/cjs/stateManagement/segmentation/helpers/COLOR_LUT.js.map +0 -1
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.d.ts +0 -3
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +0 -14
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +0 -1
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.d.ts +0 -3
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +0 -43
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +0 -1
- package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.d.ts +0 -3
- package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js +0 -23
- package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js.map +0 -1
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +0 -2
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +0 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +0 -3
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +0 -1
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.d.ts +0 -13
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.js.map +0 -1
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +0 -11
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js.map +0 -1
- package/dist/cjs/types/SegmentationRepresentationTypes.d.ts +0 -11
- package/dist/cjs/types/SegmentationRepresentationTypes.js.map +0 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +0 -11
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js +0 -111
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js.map +0 -1
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.d.ts +0 -3
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js +0 -7
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +0 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +0 -3
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js +0 -40
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +0 -1
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.d.ts +0 -3
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +0 -12
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +0 -1
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.d.ts +0 -3
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +0 -27
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +0 -1
- package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.d.ts +0 -3
- package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js +0 -18
- package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js.map +0 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +0 -2
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +0 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +0 -3
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js +0 -6
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +0 -1
- package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.d.ts +0 -13
- package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.js.map +0 -1
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +0 -11
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js.map +0 -1
- package/dist/esm/types/SegmentationRepresentationTypes.d.ts +0 -11
- package/dist/esm/types/SegmentationRepresentationTypes.js +0 -2
- package/dist/esm/types/SegmentationRepresentationTypes.js.map +0 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +0 -11
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js +0 -86
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js.map +0 -1
|
@@ -14,6 +14,7 @@ const drawingSvg_1 = require("../../drawingSvg");
|
|
|
14
14
|
const elementCursor_1 = require("../../cursors/elementCursor");
|
|
15
15
|
const triggerAnnotationRenderForViewportIds_1 = __importDefault(require("../../utilities/triggerAnnotationRenderForViewportIds"));
|
|
16
16
|
const segmentation_1 = require("../../stateManagement/segmentation");
|
|
17
|
+
const segmentationState_1 = require("../../stateManagement/segmentation/segmentationState");
|
|
17
18
|
class RectangleScissorsTool extends base_1.BaseTool {
|
|
18
19
|
constructor(toolProps = {}, defaultToolProps = {
|
|
19
20
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
@@ -37,14 +38,16 @@ class RectangleScissorsTool extends base_1.BaseTool {
|
|
|
37
38
|
const camera = viewport.getCamera();
|
|
38
39
|
const { viewPlaneNormal, viewUp } = camera;
|
|
39
40
|
const toolGroupId = this.toolGroupId;
|
|
40
|
-
const
|
|
41
|
-
if (!
|
|
41
|
+
const activeSegmentationRepresentation = segmentation_1.activeSegmentation.getActiveSegmentationRepresentation(toolGroupId);
|
|
42
|
+
if (!activeSegmentationRepresentation) {
|
|
42
43
|
throw new Error('No active segmentation detected, create one before using scissors tool');
|
|
43
44
|
}
|
|
44
|
-
const {
|
|
45
|
+
const { segmentationRepresentationUID, segmentationId, type } = activeSegmentationRepresentation;
|
|
45
46
|
const segmentIndex = segmentation_1.segmentIndex.getActiveSegmentIndex(toolGroupId);
|
|
46
|
-
const segmentsLocked = segmentation_1.segmentLocking.getSegmentsLockedForSegmentation(
|
|
47
|
-
const segmentColor = segmentation_1.segmentationColor.getColorForSegmentIndex(toolGroupId,
|
|
47
|
+
const segmentsLocked = segmentation_1.segmentLocking.getSegmentsLockedForSegmentation(segmentationId);
|
|
48
|
+
const segmentColor = segmentation_1.segmentationColor.getColorForSegmentIndex(toolGroupId, segmentationRepresentationUID, segmentIndex);
|
|
49
|
+
const { representations } = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
50
|
+
const { volumeId } = representations[type];
|
|
48
51
|
const segmentation = core_1.cache.getVolume(volumeId);
|
|
49
52
|
const annotation = {
|
|
50
53
|
highlighted: true,
|
|
@@ -77,7 +80,7 @@ class RectangleScissorsTool extends base_1.BaseTool {
|
|
|
77
80
|
segmentIndex,
|
|
78
81
|
segmentsLocked,
|
|
79
82
|
segmentColor,
|
|
80
|
-
|
|
83
|
+
segmentationId,
|
|
81
84
|
viewportIdsToRender,
|
|
82
85
|
handleIndex: 3,
|
|
83
86
|
movingTextBox: false,
|
|
@@ -144,7 +147,7 @@ class RectangleScissorsTool extends base_1.BaseTool {
|
|
|
144
147
|
this._mouseUpCallback = (evt) => {
|
|
145
148
|
const eventDetail = evt.detail;
|
|
146
149
|
const { element } = eventDetail;
|
|
147
|
-
const { annotation, newAnnotation, hasMoved, segmentation,
|
|
150
|
+
const { annotation, newAnnotation, hasMoved, segmentation, segmentationId, segmentIndex, segmentsLocked, } = this.editData;
|
|
148
151
|
const { data } = annotation;
|
|
149
152
|
if (newAnnotation && !hasMoved) {
|
|
150
153
|
return;
|
|
@@ -163,10 +166,9 @@ class RectangleScissorsTool extends base_1.BaseTool {
|
|
|
163
166
|
const operationData = {
|
|
164
167
|
points: data.handles.points,
|
|
165
168
|
volume: segmentation,
|
|
166
|
-
|
|
169
|
+
segmentationId,
|
|
167
170
|
segmentIndex,
|
|
168
171
|
segmentsLocked,
|
|
169
|
-
toolGroupId: this.toolGroupId,
|
|
170
172
|
};
|
|
171
173
|
this.applyActiveStrategy(enabledElement, operationData);
|
|
172
174
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RectangleScissorsTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/RectangleScissorsTool.ts"],"names":[],"mappings":";;;;;AAAA,8CAK4B;AAG5B,kCAAkC;AAElC,8DAAgE;AAChE,gEAAkE;AAClE,qEAAgF;AAEhF,uCAAoC;AACpC,sFAA6D;AAC7D,iDAA0D;AAC1D,+DAGoC;AAEpC,kIAAyG;AACzG,qEAK2C;
|
|
1
|
+
{"version":3,"file":"RectangleScissorsTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/RectangleScissorsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export default class SphereScissorsTool extends BaseTool {
|
|
|
8
8
|
segmentation: any;
|
|
9
9
|
segmentIndex: number;
|
|
10
10
|
segmentsLocked: number[];
|
|
11
|
-
|
|
11
|
+
segmentationId: string;
|
|
12
12
|
toolGroupId: string;
|
|
13
13
|
segmentColor: [number, number, number, number];
|
|
14
14
|
viewportIdsToRender: string[];
|
|
@@ -11,6 +11,7 @@ const drawingSvg_1 = require("../../drawingSvg");
|
|
|
11
11
|
const elementCursor_1 = require("../../cursors/elementCursor");
|
|
12
12
|
const triggerAnnotationRenderForViewportIds_1 = __importDefault(require("../../utilities/triggerAnnotationRenderForViewportIds"));
|
|
13
13
|
const segmentation_1 = require("../../stateManagement/segmentation");
|
|
14
|
+
const segmentationState_1 = require("../../stateManagement/segmentation/segmentationState");
|
|
14
15
|
class SphereScissorsTool extends base_1.BaseTool {
|
|
15
16
|
constructor(toolProps = {}, defaultToolProps = {
|
|
16
17
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
@@ -34,14 +35,16 @@ class SphereScissorsTool extends base_1.BaseTool {
|
|
|
34
35
|
const camera = viewport.getCamera();
|
|
35
36
|
const { viewPlaneNormal, viewUp } = camera;
|
|
36
37
|
const toolGroupId = this.toolGroupId;
|
|
37
|
-
const
|
|
38
|
-
if (!
|
|
38
|
+
const activeSegmentationRepresentation = segmentation_1.activeSegmentation.getActiveSegmentationRepresentation(toolGroupId);
|
|
39
|
+
if (!activeSegmentationRepresentation) {
|
|
39
40
|
throw new Error('No active segmentation detected, create one before using scissors tool');
|
|
40
41
|
}
|
|
41
|
-
const {
|
|
42
|
+
const { segmentationRepresentationUID, segmentationId, type } = activeSegmentationRepresentation;
|
|
42
43
|
const segmentIndex = segmentation_1.segmentIndex.getActiveSegmentIndex(toolGroupId);
|
|
43
|
-
const segmentsLocked = segmentation_1.segmentLocking.getSegmentsLockedForSegmentation(
|
|
44
|
-
const segmentColor = segmentation_1.segmentationColor.getColorForSegmentIndex(toolGroupId,
|
|
44
|
+
const segmentsLocked = segmentation_1.segmentLocking.getSegmentsLockedForSegmentation(segmentationId);
|
|
45
|
+
const segmentColor = segmentation_1.segmentationColor.getColorForSegmentIndex(toolGroupId, segmentationRepresentationUID, segmentIndex);
|
|
46
|
+
const { representations } = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
47
|
+
const { volumeId } = representations[type];
|
|
45
48
|
const segmentation = core_1.cache.getVolume(volumeId);
|
|
46
49
|
this.isDrawing = true;
|
|
47
50
|
const annotation = {
|
|
@@ -71,7 +74,7 @@ class SphereScissorsTool extends base_1.BaseTool {
|
|
|
71
74
|
segmentIndex,
|
|
72
75
|
segmentsLocked,
|
|
73
76
|
segmentColor,
|
|
74
|
-
|
|
77
|
+
segmentationId,
|
|
75
78
|
toolGroupId,
|
|
76
79
|
viewportIdsToRender,
|
|
77
80
|
handleIndex: 3,
|
|
@@ -121,7 +124,7 @@ class SphereScissorsTool extends base_1.BaseTool {
|
|
|
121
124
|
this._mouseUpCallback = (evt) => {
|
|
122
125
|
const eventDetail = evt.detail;
|
|
123
126
|
const { element } = eventDetail;
|
|
124
|
-
const { annotation, newAnnotation, hasMoved, segmentation, segmentIndex, segmentsLocked,
|
|
127
|
+
const { annotation, newAnnotation, hasMoved, segmentation, segmentIndex, segmentsLocked, segmentationId, } = this.editData;
|
|
125
128
|
const { data } = annotation;
|
|
126
129
|
const { viewPlaneNormal, viewUp } = annotation.metadata;
|
|
127
130
|
if (newAnnotation && !hasMoved) {
|
|
@@ -143,8 +146,7 @@ class SphereScissorsTool extends base_1.BaseTool {
|
|
|
143
146
|
volume: segmentation,
|
|
144
147
|
segmentIndex,
|
|
145
148
|
segmentsLocked,
|
|
146
|
-
|
|
147
|
-
toolGroupId: this.toolGroupId,
|
|
149
|
+
segmentationId,
|
|
148
150
|
viewPlaneNormal,
|
|
149
151
|
viewUp,
|
|
150
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SphereScissorsTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/SphereScissorsTool.ts"],"names":[],"mappings":";;;;;AAAA,8CAA6E;AAG7E,kCAAkC;AAGlC,wDAA0D;AAC1D,uCAAoC;AACpC,iDAA8D;AAC9D,+DAGoC;AAEpC,kIAAyG;AACzG,qEAK2C;
|
|
1
|
+
{"version":3,"file":"SphereScissorsTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/SphereScissorsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ImageVolume } from '@cornerstonejs/core';
|
|
2
2
|
import type { Types } from '@cornerstonejs/core';
|
|
3
3
|
declare type EraseOperationData = {
|
|
4
|
-
|
|
5
|
-
segmentationDataUID: string;
|
|
4
|
+
segmentationId: string;
|
|
6
5
|
points: [Types.Point3, Types.Point3, Types.Point3, Types.Point3];
|
|
7
6
|
volume: ImageVolume;
|
|
8
7
|
constraintFn: (x: [number, number, number]) => boolean;
|
|
@@ -9,7 +9,7 @@ const transformPhysicalToIndex_1 = __importDefault(require("../../../utilities/t
|
|
|
9
9
|
const triggerSegmentationEvents_1 = require("../../../stateManagement/segmentation/triggerSegmentationEvents");
|
|
10
10
|
const utilities_1 = require("../../../utilities");
|
|
11
11
|
function eraseRectangle(enabledElement, operationData, inside = true) {
|
|
12
|
-
const { volume: segmentation, points, segmentsLocked,
|
|
12
|
+
const { volume: segmentation, points, segmentsLocked, segmentationId, } = operationData;
|
|
13
13
|
const { imageData, dimensions, scalarData } = segmentation;
|
|
14
14
|
const rectangleCornersIJK = points.map((world) => {
|
|
15
15
|
return (0, transformPhysicalToIndex_1.default)(imageData, world);
|
|
@@ -26,7 +26,7 @@ function eraseRectangle(enabledElement, operationData, inside = true) {
|
|
|
26
26
|
scalarData[index] = 0;
|
|
27
27
|
};
|
|
28
28
|
(0, utilities_1.pointInShapeCallback)(imageData, pointInShape, callback, boundsIJK);
|
|
29
|
-
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(
|
|
29
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId);
|
|
30
30
|
}
|
|
31
31
|
function eraseInsideRectangle(enabledElement, operationData) {
|
|
32
32
|
eraseRectangle(enabledElement, operationData, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eraseRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/eraseRectangle.ts"],"names":[],"mappings":";;;;;;AAGA,kEAA2E;AAC3E,2GAAkF;AAClF,+GAAiH;AACjH,kDAAyD;
|
|
1
|
+
{"version":3,"file":"eraseRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/eraseRectangle.ts"],"names":[],"mappings":";;;;;;AAGA,kEAA2E;AAC3E,2GAAkF;AAClF,+GAAiH;AACjH,kDAAyD;AAUzD,SAAS,cAAc,CACrB,cAAqC,EACrC,aAAiC,EACjC,MAAM,GAAG,IAAI;IAEb,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,cAAc,EACd,cAAc,GACf,GAAG,aAAa,CAAA;IACjB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,YAAY,CAAA;IAE1D,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,OAAO,IAAA,kCAAwB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAA,wCAAyB,EAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;IAE5E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAGD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;IAE/B,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAM;SACP;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,IAAA,gCAAoB,EAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAElE,IAAA,2DAA+B,EAAC,cAAc,CAAC,CAAA;AACjD,CAAC;AAQD,SAAgB,oBAAoB,CAClC,cAAqC,EACrC,aAAiC;IAEjC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;AACrD,CAAC;AALD,oDAKC;AAQD,SAAgB,qBAAqB,CACnC,cAAqC,EACrC,aAAiC;IAEjC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AALD,sDAKC"}
|
|
@@ -11,7 +11,7 @@ const transformPhysicalToIndex_1 = __importDefault(require("../../../utilities/t
|
|
|
11
11
|
const triggerSegmentationEvents_1 = require("../../../stateManagement/segmentation/triggerSegmentationEvents");
|
|
12
12
|
const utilities_1 = require("../../../utilities");
|
|
13
13
|
function fillCircle(enabledElement, operationData, inside = true) {
|
|
14
|
-
const { volume: segmentationVolume, points, segmentsLocked, segmentIndex,
|
|
14
|
+
const { volume: segmentationVolume, points, segmentsLocked, segmentIndex, segmentationId, } = operationData;
|
|
15
15
|
const { imageData, dimensions, scalarData } = segmentationVolume;
|
|
16
16
|
const { viewport } = enabledElement;
|
|
17
17
|
const center = gl_matrix_1.vec3.fromValues(0, 0, 0);
|
|
@@ -44,7 +44,7 @@ function fillCircle(enabledElement, operationData, inside = true) {
|
|
|
44
44
|
scalarData[index] = segmentIndex;
|
|
45
45
|
};
|
|
46
46
|
(0, utilities_1.pointInShapeCallback)(imageData, (pointLPS, pointIJK) => (0, ellipse_1.pointInEllipse)(ellipseObj, pointLPS), callback, boundsIJK);
|
|
47
|
-
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(
|
|
47
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId);
|
|
48
48
|
}
|
|
49
49
|
function fillInsideCircle(enabledElement, operationData) {
|
|
50
50
|
fillCircle(enabledElement, operationData, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fillCircle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillCircle.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAgC;AAGhC,6DAGwC;AACxC,kEAA2E;AAC3E,2GAAkF;AAClF,+GAAiH;AACjH,kDAAyD;
|
|
1
|
+
{"version":3,"file":"fillCircle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillCircle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ImageVolume } from '@cornerstonejs/core';
|
|
2
2
|
import type { Types } from '@cornerstonejs/core';
|
|
3
3
|
declare type OperationData = {
|
|
4
|
-
|
|
5
|
-
segmentationDataUID: string;
|
|
4
|
+
segmentationId: string;
|
|
6
5
|
points: [Types.Point3, Types.Point3, Types.Point3, Types.Point3];
|
|
7
6
|
volume: ImageVolume;
|
|
8
7
|
constraintFn: (x: [number, number, number]) => boolean;
|
|
@@ -9,7 +9,7 @@ const utilities_1 = require("../../../utilities");
|
|
|
9
9
|
const transformPhysicalToIndex_1 = __importDefault(require("../../../utilities/transformPhysicalToIndex"));
|
|
10
10
|
const triggerSegmentationEvents_1 = require("../../../stateManagement/segmentation/triggerSegmentationEvents");
|
|
11
11
|
function fillRectangle(enabledElement, operationData, inside = true) {
|
|
12
|
-
const { volume: segmentation, points, segmentsLocked, segmentIndex,
|
|
12
|
+
const { volume: segmentation, points, segmentsLocked, segmentIndex, segmentationId, constraintFn, } = operationData;
|
|
13
13
|
const { imageData, dimensions, scalarData } = segmentation;
|
|
14
14
|
let rectangleCornersIJK = points.map((world) => {
|
|
15
15
|
return (0, transformPhysicalToIndex_1.default)(imageData, world);
|
|
@@ -37,7 +37,7 @@ function fillRectangle(enabledElement, operationData, inside = true) {
|
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
(0, utilities_1.pointInShapeCallback)(imageData, pointInRectangle, callback, boundsIJK);
|
|
40
|
-
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(
|
|
40
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId);
|
|
41
41
|
}
|
|
42
42
|
function fillInsideRectangle(enabledElement, operationData) {
|
|
43
43
|
fillRectangle(enabledElement, operationData, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fillRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillRectangle.ts"],"names":[],"mappings":";;;;;;AAGA,kEAA2E;AAC3E,kDAAyD;AACzD,2GAAkF;AAClF,+GAAiH;
|
|
1
|
+
{"version":3,"file":"fillRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillRectangle.ts"],"names":[],"mappings":";;;;;;AAGA,kEAA2E;AAC3E,kDAAyD;AACzD,2GAAkF;AAClF,+GAAiH;AAoBjH,SAAS,aAAa,CACpB,cAAqC,EACrC,aAA4B,EAC5B,MAAM,GAAG,IAAI;IAEb,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,GACb,GAAG,aAAa,CAAA;IACjB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,YAAY,CAAA;IAE1D,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,OAAO,IAAA,kCAAwB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAGF,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAA,wCAAyB,EAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;IAE5E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAGD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;IAEnC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAM;SACP;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAA;YAChC,OAAM;SACP;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAA;SACjC;IACH,CAAC,CAAA;IAED,IAAA,gCAAoB,EAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAEtE,IAAA,2DAA+B,EAAC,cAAc,CAAC,CAAA;AACjD,CAAC;AASD,SAAgB,mBAAmB,CACjC,cAAqC,EACrC,aAA4B;IAE5B,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;AACpD,CAAC;AALD,kDAKC;AASD,SAAgB,oBAAoB,CAClC,cAAqC,EACrC,aAA4B;IAE5B,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;AACrD,CAAC;AALD,oDAKC"}
|
|
@@ -2,9 +2,8 @@ import type { Types } from '@cornerstonejs/core';
|
|
|
2
2
|
declare type OperationData = {
|
|
3
3
|
points: [Types.Point3, Types.Point3, Types.Point3, Types.Point3];
|
|
4
4
|
volume: Types.IImageVolume;
|
|
5
|
-
toolGroupId: string;
|
|
6
5
|
segmentIndex: number;
|
|
7
|
-
|
|
6
|
+
segmentationId: string;
|
|
8
7
|
segmentsLocked: number[];
|
|
9
8
|
viewPlaneNormal: Types.Point3;
|
|
10
9
|
viewUp: Types.Point3;
|
|
@@ -5,7 +5,7 @@ const triggerSegmentationEvents_1 = require("../../../stateManagement/segmentati
|
|
|
5
5
|
const utilities_1 = require("../../../utilities");
|
|
6
6
|
function fillSphere(enabledElement, operationData, _inside = true) {
|
|
7
7
|
const { viewport } = enabledElement;
|
|
8
|
-
const { volume: segmentation, segmentsLocked, segmentIndex,
|
|
8
|
+
const { volume: segmentation, segmentsLocked, segmentIndex, segmentationId, points, } = operationData;
|
|
9
9
|
const { scalarData, imageData } = segmentation;
|
|
10
10
|
const callback = ({ index, value }) => {
|
|
11
11
|
if (segmentsLocked.includes(value)) {
|
|
@@ -14,7 +14,7 @@ function fillSphere(enabledElement, operationData, _inside = true) {
|
|
|
14
14
|
scalarData[index] = segmentIndex;
|
|
15
15
|
};
|
|
16
16
|
(0, utilities_1.pointInSurroundingSphereCallback)(viewport, imageData, [points[0], points[1]], callback);
|
|
17
|
-
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(
|
|
17
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId);
|
|
18
18
|
}
|
|
19
19
|
function fillInsideSphere(enabledElement, operationData) {
|
|
20
20
|
fillSphere(enabledElement, operationData, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":";;;AAEA,+GAAiH;AACjH,kDAAqE;
|
|
1
|
+
{"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":";;;AAEA,+GAAiH;AACjH,kDAAqE;AAarE,SAAS,UAAU,CACjB,cAAqC,EACrC,aAA4B,EAC5B,OAAO,GAAG,IAAI;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;IACnC,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,GACP,GAAG,aAAa,CAAA;IAEjB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,YAAY,CAAA;IAE9C,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAM;SACP;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAA;IAClC,CAAC,CAAA;IAED,IAAA,4CAAgC,EAC9B,QAAiC,EACjC,SAAS,EACT,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACtB,QAAQ,CACT,CAAA;IAED,IAAA,2DAA+B,EAAC,cAAc,CAAC,CAAA;AACjD,CAAC;AAQD,SAAgB,gBAAgB,CAC9B,cAAqC,EACrC,aAA4B;IAE5B,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;AACjD,CAAC;AALD,4CAKC;AAQD,SAAgB,iBAAiB,CAC/B,cAAqC,EACrC,aAA4B;IAE5B,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC;AALD,8CAKC"}
|
|
@@ -40,18 +40,22 @@ declare type AnnotationRenderedEventDetail = {
|
|
|
40
40
|
renderingEngineId: string;
|
|
41
41
|
};
|
|
42
42
|
declare type SegmentationDataModifiedEventDetail = {
|
|
43
|
-
|
|
44
|
-
segmentationDataUID: string;
|
|
43
|
+
segmentationId: string;
|
|
45
44
|
};
|
|
46
45
|
declare type SegmentationRenderedEventDetail = {
|
|
47
46
|
viewportId: string;
|
|
48
47
|
toolGroupId: string;
|
|
49
48
|
};
|
|
50
|
-
declare type
|
|
49
|
+
declare type SegmentationRepresentationModifiedEventDetail = {
|
|
50
|
+
toolGroupId: string;
|
|
51
|
+
segmentationRepresentationUID: string;
|
|
52
|
+
};
|
|
53
|
+
declare type SegmentationRepresentationRemovedEventDetail = {
|
|
51
54
|
toolGroupId: string;
|
|
55
|
+
segmentationRepresentationUID: string;
|
|
52
56
|
};
|
|
53
|
-
declare type
|
|
54
|
-
|
|
57
|
+
declare type SegmentationModifiedEventDetail = {
|
|
58
|
+
segmentationId: string;
|
|
55
59
|
};
|
|
56
60
|
declare type KeyDownEventDetail = {
|
|
57
61
|
element: HTMLElement;
|
|
@@ -124,9 +128,10 @@ declare type AnnotationSelectionChangeEventType = Types.CustomEventType<Annotati
|
|
|
124
128
|
declare type AnnotationRenderedEventType = Types.CustomEventType<AnnotationRenderedEventDetail>;
|
|
125
129
|
declare type AnnotationLockChangeEventType = Types.CustomEventType<AnnotationLockChangeEventDetail>;
|
|
126
130
|
declare type SegmentationDataModifiedEventType = Types.CustomEventType<SegmentationDataModifiedEventDetail>;
|
|
127
|
-
declare type
|
|
131
|
+
declare type SegmentationRepresentationModifiedEventType = Types.CustomEventType<SegmentationRepresentationModifiedEventDetail>;
|
|
132
|
+
declare type SegmentationRepresentationRemovedEventType = Types.CustomEventType<SegmentationRepresentationRemovedEventDetail>;
|
|
128
133
|
declare type SegmentationRenderedEventType = Types.CustomEventType<SegmentationRenderedEventDetail>;
|
|
129
|
-
declare type
|
|
134
|
+
declare type SegmentationModifiedEventType = Types.CustomEventType<SegmentationModifiedEventDetail>;
|
|
130
135
|
declare type KeyDownEventType = Types.CustomEventType<KeyDownEventDetail>;
|
|
131
136
|
declare type KeyUpEventType = Types.CustomEventType<KeyUpEventDetail>;
|
|
132
137
|
declare type MouseDownEventType = Types.CustomEventType<MouseDownEventDetail>;
|
|
@@ -137,4 +142,4 @@ declare type MouseClickEventType = Types.CustomEventType<MouseClickEventDetail>;
|
|
|
137
142
|
declare type MouseMoveEventType = Types.CustomEventType<MouseMoveEventDetail>;
|
|
138
143
|
declare type MouseDoubleClickEventType = Types.CustomEventType<MouseDoubleClickEventDetail>;
|
|
139
144
|
declare type MouseWheelEventType = Types.CustomEventType<MouseWheelEventDetail>;
|
|
140
|
-
export { NormalizedMouseEventDetail, NormalizedMouseEventType, AnnotationAddedEventDetail, AnnotationAddedEventType, AnnotationModifiedEventDetail, AnnotationModifiedEventType, AnnotationRemovedEventDetail, AnnotationRemovedEventType, AnnotationSelectionChangeEventDetail, AnnotationSelectionChangeEventType, AnnotationRenderedEventDetail, AnnotationRenderedEventType, AnnotationLockChangeEventDetail, AnnotationLockChangeEventType, SegmentationDataModifiedEventType,
|
|
145
|
+
export { NormalizedMouseEventDetail, NormalizedMouseEventType, AnnotationAddedEventDetail, AnnotationAddedEventType, AnnotationModifiedEventDetail, AnnotationModifiedEventType, AnnotationRemovedEventDetail, AnnotationRemovedEventType, AnnotationSelectionChangeEventDetail, AnnotationSelectionChangeEventType, AnnotationRenderedEventDetail, AnnotationRenderedEventType, AnnotationLockChangeEventDetail, AnnotationLockChangeEventType, SegmentationDataModifiedEventType, SegmentationRepresentationModifiedEventDetail, SegmentationRepresentationModifiedEventType, SegmentationRepresentationRemovedEventDetail, SegmentationRepresentationRemovedEventType, SegmentationDataModifiedEventDetail, SegmentationRenderedEventType, SegmentationRenderedEventDetail, SegmentationModifiedEventType, SegmentationModifiedEventDetail, KeyDownEventDetail, KeyDownEventType, KeyUpEventDetail, KeyUpEventType, MouseDownEventDetail, MouseDownEventType, MouseDownActivateEventDetail, MouseDownActivateEventType, MouseDragEventDetail, MouseDragEventType, MouseUpEventDetail, MouseUpEventType, MouseClickEventDetail, MouseClickEventType, MouseMoveEventDetail, MouseMoveEventType, MouseDoubleClickEventDetail, MouseDoubleClickEventType, MouseWheelEventDetail, MouseWheelEventType, };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { vtkColorTransferFunction } from 'vtk.js/Sources/Rendering/Core/ColorTransferFunction';
|
|
2
|
+
import type { vtkPiecewiseFunction } from 'vtk.js/Sources/Common/DataModel/PiecewiseFunction';
|
|
3
|
+
export declare type labelmapConfig = {
|
|
4
|
+
renderOutline?: boolean;
|
|
5
|
+
outlineWidth?: number;
|
|
6
|
+
outlineWidthActive?: number;
|
|
7
|
+
outlineWidthInactive?: number;
|
|
8
|
+
renderFill?: boolean;
|
|
9
|
+
fillAlpha?: number;
|
|
10
|
+
fillAlphaInactive?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare type LabelmapRenderingConfig = {
|
|
13
|
+
cfun?: vtkColorTransferFunction;
|
|
14
|
+
ofun?: vtkPiecewiseFunction;
|
|
15
|
+
};
|
|
16
|
+
export declare type LabelmapRepresentationData = {
|
|
17
|
+
volumeId: string;
|
|
18
|
+
referencedVolumeId?: string;
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelmapTypes.js","sourceRoot":"","sources":["../../../src/types/LabelmapTypes.ts"],"names":[],"mappings":""}
|
|
@@ -1,51 +1,60 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import * as Enums from '../enums';
|
|
2
|
+
import type { labelmapConfig, LabelmapRepresentationData, LabelmapRenderingConfig } from './LabelmapTypes';
|
|
3
3
|
export declare type Color = [number, number, number, number];
|
|
4
|
-
export declare type
|
|
5
|
-
export declare type RepresentationConfig =
|
|
6
|
-
|
|
4
|
+
export declare type ColorLut = Array<Color>;
|
|
5
|
+
export declare type RepresentationConfig = {
|
|
6
|
+
LABELMAP?: labelmapConfig;
|
|
7
|
+
};
|
|
8
|
+
export declare type SegmentationRepresentationConfig = {
|
|
7
9
|
renderInactiveSegmentations: boolean;
|
|
8
|
-
representations:
|
|
9
|
-
LABELMAP?: LabelmapConfig;
|
|
10
|
-
};
|
|
10
|
+
representations: RepresentationConfig;
|
|
11
11
|
};
|
|
12
|
-
export declare type
|
|
13
|
-
|
|
12
|
+
export declare type SegmentationRepresentationData = {
|
|
13
|
+
LABELMAP?: LabelmapRepresentationData;
|
|
14
|
+
};
|
|
15
|
+
export declare type Segmentation = {
|
|
16
|
+
segmentationId: string;
|
|
17
|
+
type: Enums.SegmentationRepresentations;
|
|
14
18
|
label: string;
|
|
15
|
-
referenceVolumeId?: string;
|
|
16
|
-
referenceImageId?: string;
|
|
17
19
|
activeSegmentIndex: number;
|
|
18
20
|
segmentsLocked: Set<number>;
|
|
19
21
|
cachedStats: {
|
|
20
22
|
[key: string]: number;
|
|
21
23
|
};
|
|
24
|
+
representations: SegmentationRepresentationData;
|
|
22
25
|
};
|
|
23
|
-
export declare type
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
28
|
-
export declare type ToolGroupSpecificSegmentationData = {
|
|
29
|
-
volumeId: string;
|
|
30
|
-
segmentationDataUID: string;
|
|
26
|
+
export declare type ToolGroupSpecificRepresentationState = {
|
|
27
|
+
segmentationRepresentationUID: string;
|
|
28
|
+
segmentationId: string;
|
|
29
|
+
type: Enums.SegmentationRepresentations;
|
|
31
30
|
active: boolean;
|
|
32
31
|
segmentsHidden: Set<number>;
|
|
33
32
|
visibility: boolean;
|
|
34
33
|
colorLUTIndex: number;
|
|
35
|
-
representation: SegmentationRepresentation;
|
|
36
34
|
};
|
|
37
|
-
export declare type
|
|
38
|
-
|
|
39
|
-
segmentations: ToolGroupSpecificSegmentationState;
|
|
40
|
-
config: SegmentationConfig;
|
|
35
|
+
export declare type ToolGroupSpecificLabelmapRepresentation = ToolGroupSpecificRepresentationState & {
|
|
36
|
+
config: LabelmapRenderingConfig;
|
|
41
37
|
};
|
|
42
|
-
export
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
export declare type ToolGroupSpecificRepresentation = ToolGroupSpecificLabelmapRepresentation;
|
|
39
|
+
export declare type SegmentationState = {
|
|
40
|
+
colorLut: ColorLut[];
|
|
41
|
+
segmentations: Segmentation[];
|
|
42
|
+
globalConfig: SegmentationRepresentationConfig;
|
|
45
43
|
toolGroups: {
|
|
46
|
-
[key: string]:
|
|
44
|
+
[key: string]: {
|
|
45
|
+
segmentationRepresentations: ToolGroupSpecificRepresentation[];
|
|
46
|
+
config: SegmentationRepresentationConfig;
|
|
47
|
+
};
|
|
47
48
|
};
|
|
48
|
-
}
|
|
49
|
-
export declare type
|
|
50
|
-
|
|
49
|
+
};
|
|
50
|
+
export declare type SegmentationPublicInput = {
|
|
51
|
+
segmentationId: string;
|
|
52
|
+
representation: {
|
|
53
|
+
type: Enums.SegmentationRepresentations;
|
|
54
|
+
data: LabelmapRepresentationData;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export declare type RepresentationPublicInput = {
|
|
58
|
+
segmentationId: string;
|
|
59
|
+
type: Enums.SegmentationRepresentations;
|
|
51
60
|
};
|
|
@@ -9,6 +9,5 @@ import type { AnnotationHandle, TextBoxHandle } from './ToolHandle';
|
|
|
9
9
|
import type InteractionTypes from './InteractionTypes';
|
|
10
10
|
import type { ToolProps, PublicToolProps } from './ToolProps';
|
|
11
11
|
import type { SVGCursorDescriptor, SVGPoint } from './CursorTypes';
|
|
12
|
-
import type {
|
|
13
|
-
|
|
14
|
-
export type { Annotation, Annotations, FrameOfReferenceSpecificAnnotations, AnnotationState, PlanarBoundingBox, ToolProps, PublicToolProps, EventTypes, IPoints, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, IToolGroup, ToolHandle, AnnotationHandle, TextBoxHandle, SegmentationRepresentation, LabelmapRepresentation, Color, ColorLUT, RepresentationConfig, SegmentationConfig, GlobalSegmentationData, GlobalSegmentationState, GlobalSegmentationStateWithConfig, ToolGroupSpecificSegmentationData, ToolGroupSpecificSegmentationStateWithConfig, ToolGroupSpecificSegmentationState, SVGCursorDescriptor, SVGPoint, };
|
|
12
|
+
import type { Color, ColorLut, RepresentationConfig, SegmentationRepresentationConfig, SegmentationRepresentationData, Segmentation, ToolGroupSpecificRepresentationState, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, SegmentationState } from './SegmentationStateTypes';
|
|
13
|
+
export type { Annotation, Annotations, FrameOfReferenceSpecificAnnotations, AnnotationState, PlanarBoundingBox, ToolProps, PublicToolProps, EventTypes, IPoints, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, IToolGroup, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, Color, ColorLut, SVGCursorDescriptor, SVGPoint, };
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Segmentation } from '../../types/SegmentationStateTypes';
|
|
2
|
+
export default function getDefaultRepresentationConfig(segmentation: Segmentation): import("../../types/LabelmapTypes").labelmapConfig;
|
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const labelmapConfig_1 = __importDefault(require("../../tools/displayTools/Labelmap/labelmapConfig"));
|
|
7
7
|
const SegmentationRepresentations_1 = __importDefault(require("../../enums/SegmentationRepresentations"));
|
|
8
|
-
function getDefaultRepresentationConfig(
|
|
8
|
+
function getDefaultRepresentationConfig(segmentation) {
|
|
9
|
+
const { type: representationType } = segmentation;
|
|
9
10
|
switch (representationType) {
|
|
10
11
|
case SegmentationRepresentations_1.default.Labelmap:
|
|
11
|
-
return (0,
|
|
12
|
+
return (0, labelmapConfig_1.default)();
|
|
12
13
|
default:
|
|
13
14
|
throw new Error(`Unknown representation type: ${representationType}`);
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDefaultRepresentationConfig.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getDefaultRepresentationConfig.ts"],"names":[],"mappings":";;;;;AAAA,sGAAuF;AACvF,0GAAgF;
|
|
1
|
+
{"version":3,"file":"getDefaultRepresentationConfig.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getDefaultRepresentationConfig.ts"],"names":[],"mappings":";;;;;AAAA,sGAAuF;AACvF,0GAAgF;AAQhF,SAAwB,8BAA8B,CACpD,YAA0B;IAE1B,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,YAAY,CAAA;IACjD,QAAQ,kBAAkB,EAAE;QAC1B,KAAK,qCAA0B,CAAC,QAAQ;YACtC,OAAO,IAAA,wBAAwB,GAAE,CAAA;QACnC;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,kBAAkB,EAAE,CAAC,CAAA;KACxE;AACH,CAAC;AAVD,iDAUC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getBoundingBoxAroundShape, extend2DBoundingBoxInViewAxis } from './getBoundingBoxUtils';
|
|
2
2
|
import thresholdVolumeByRange from './thresholdVolumeByRange';
|
|
3
|
-
import thresholdVolumeByRoiStats from './thresholdVolumeByRoiStats';
|
|
4
3
|
import createMergedLabelmapForIndex from './createMergedLabelmapForIndex';
|
|
5
4
|
import isValidRepresentationConfig from './isValidRepresentationConfig';
|
|
6
5
|
import getDefaultRepresentationConfig from './getDefaultRepresentationConfig';
|
|
7
|
-
export { getBoundingBoxAroundShape, extend2DBoundingBoxInViewAxis, thresholdVolumeByRange,
|
|
6
|
+
export { getBoundingBoxAroundShape, extend2DBoundingBoxInViewAxis, thresholdVolumeByRange, createMergedLabelmapForIndex, isValidRepresentationConfig, getDefaultRepresentationConfig, };
|