@cornerstonejs/tools 0.1.4 → 0.4.2
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/cursors/SVGCursorDescriptor.js +5 -5
- 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/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.js +9 -0
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js +1 -1
- package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +1 -1
- package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.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 +16 -15
- 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 +3 -2
- package/dist/cjs/index.js +8 -5
- 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 +37 -21
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/destroySynchronizer.d.ts +2 -0
- package/dist/cjs/store/SynchronizerManager/{destroySynchronizerById.js → destroySynchronizer.js} +3 -3
- package/dist/cjs/store/SynchronizerManager/destroySynchronizer.js.map +1 -0
- package/dist/cjs/store/SynchronizerManager/getSynchronizer.d.ts +3 -0
- package/dist/cjs/store/SynchronizerManager/{getSynchronizerById.js → getSynchronizer.js} +3 -3
- package/dist/cjs/store/SynchronizerManager/getSynchronizer.js.map +1 -0
- package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.d.ts +3 -0
- package/dist/cjs/store/SynchronizerManager/{getSynchronizers.js → getSynchronizersForViewport.js} +3 -3
- package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -0
- package/dist/cjs/store/SynchronizerManager/index.d.ts +4 -4
- package/dist/cjs/store/SynchronizerManager/index.js +7 -7
- package/dist/cjs/store/SynchronizerManager/index.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/destroyToolGroup.d.ts +2 -0
- package/dist/cjs/store/ToolGroupManager/{destroyToolGroupByToolGroupId.js → destroyToolGroup.js} +3 -3
- package/dist/cjs/store/ToolGroupManager/destroyToolGroup.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroup.js +2 -11
- package/dist/cjs/store/ToolGroupManager/getToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.d.ts +3 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.js +17 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.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/store/removeEnabledElement.js +4 -4
- package/dist/cjs/store/removeEnabledElement.js.map +1 -1
- package/dist/{esm/tools/annotation/EllipticalRoiTool.d.ts → cjs/tools/annotation/EllipticalROITool.d.ts} +6 -6
- package/dist/cjs/tools/annotation/{EllipticalRoiTool.js → EllipticalROITool.js} +14 -14
- package/dist/cjs/tools/annotation/{EllipticalRoiTool.js.map → EllipticalROITool.js.map} +1 -1
- package/dist/{esm/tools/annotation/RectangleRoiTool.d.ts → cjs/tools/annotation/RectangleROITool.d.ts} +8 -8
- package/dist/cjs/tools/annotation/{RectangleRoiTool.js → RectangleROITool.js} +14 -14
- package/dist/cjs/tools/annotation/{RectangleRoiTool.js.map → RectangleROITool.js.map} +1 -1
- package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js +3 -0
- package/dist/cjs/tools/base/AnnotationTool.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/index.d.ts +6 -5
- package/dist/cjs/tools/index.js +11 -9
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/tools/segmentation/BrushTool.d.ts +17 -0
- package/dist/cjs/tools/segmentation/BrushTool.js +285 -0
- package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -0
- package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +2 -2
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js +13 -10
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/{RectangleRoiStartEndThresholdTool.d.ts → RectangleROIStartEndThresholdTool.d.ts} +4 -4
- package/dist/cjs/tools/segmentation/{RectangleRoiStartEndThresholdTool.js → RectangleROIStartEndThresholdTool.js} +12 -12
- package/dist/cjs/tools/segmentation/{RectangleRoiStartEndThresholdTool.js.map → RectangleROIStartEndThresholdTool.js.map} +1 -1
- package/dist/cjs/tools/segmentation/{RectangleRoiThresholdTool.d.ts → RectangleROIThresholdTool.d.ts} +4 -4
- package/dist/cjs/tools/segmentation/{RectangleRoiThresholdTool.js → RectangleROIThresholdTool.js} +13 -13
- package/dist/cjs/tools/segmentation/{RectangleRoiThresholdTool.js.map → RectangleROIThresholdTool.js.map} +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +2 -2
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +16 -13
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +2 -2
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js +13 -10
- 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 +6 -3
- 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 +14 -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/getAnnotationNearPoint.js +1 -1
- package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -1
- package/dist/cjs/utilities/getToolsWithModesForElement.js +1 -1
- package/dist/cjs/utilities/getToolsWithModesForElement.js.map +1 -1
- package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.js +3 -3
- package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.js.map +1 -1
- 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 +2 -2
- package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.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/cursors/SVGCursorDescriptor.js +5 -5
- 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/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +9 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +1 -1
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.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 +16 -15
- 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 +3 -2
- package/dist/esm/index.js +3 -2
- 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 +35 -20
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/destroySynchronizer.d.ts +2 -0
- package/dist/esm/store/SynchronizerManager/{destroySynchronizerById.js → destroySynchronizer.js} +3 -3
- package/dist/esm/store/SynchronizerManager/destroySynchronizer.js.map +1 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +3 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizer.js +6 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizer.js.map +1 -0
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +3 -0
- package/dist/esm/store/SynchronizerManager/{getSynchronizers.js → getSynchronizersForViewport.js} +3 -3
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -0
- package/dist/esm/store/SynchronizerManager/index.d.ts +4 -4
- package/dist/esm/store/SynchronizerManager/index.js +4 -4
- package/dist/esm/store/SynchronizerManager/index.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/destroyToolGroup.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/{destroyToolGroupByToolGroupId.js → destroyToolGroup.js} +3 -3
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.js +2 -11
- package/dist/esm/store/ToolGroupManager/getToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +15 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.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/store/removeEnabledElement.js +4 -4
- package/dist/esm/store/removeEnabledElement.js.map +1 -1
- package/dist/{cjs/tools/annotation/EllipticalRoiTool.d.ts → esm/tools/annotation/EllipticalROITool.d.ts} +6 -6
- package/dist/esm/tools/annotation/{EllipticalRoiTool.js → EllipticalROITool.js} +13 -13
- package/dist/esm/tools/annotation/{EllipticalRoiTool.js.map → EllipticalROITool.js.map} +1 -1
- package/dist/{cjs/tools/annotation/RectangleRoiTool.d.ts → esm/tools/annotation/RectangleROITool.d.ts} +8 -8
- package/dist/esm/tools/annotation/{RectangleRoiTool.js → RectangleROITool.js} +13 -13
- package/dist/esm/tools/annotation/{RectangleRoiTool.js.map → RectangleROITool.js.map} +1 -1
- package/dist/esm/tools/base/AnnotationTool.d.ts +1 -1
- package/dist/esm/tools/base/AnnotationTool.js +3 -0
- package/dist/esm/tools/base/AnnotationTool.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/index.d.ts +6 -5
- package/dist/esm/tools/index.js +6 -5
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/tools/segmentation/BrushTool.d.ts +17 -0
- package/dist/esm/tools/segmentation/BrushTool.js +279 -0
- package/dist/esm/tools/segmentation/BrushTool.js.map +1 -0
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +13 -10
- package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/{RectangleRoiStartEndThresholdTool.d.ts → RectangleROIStartEndThresholdTool.d.ts} +4 -4
- package/dist/esm/tools/segmentation/{RectangleRoiStartEndThresholdTool.js → RectangleROIStartEndThresholdTool.js} +11 -11
- package/dist/esm/tools/segmentation/{RectangleRoiStartEndThresholdTool.js.map → RectangleROIStartEndThresholdTool.js.map} +1 -1
- package/dist/esm/tools/segmentation/{RectangleRoiThresholdTool.d.ts → RectangleROIThresholdTool.d.ts} +4 -4
- package/dist/esm/tools/segmentation/{RectangleRoiThresholdTool.js → RectangleROIThresholdTool.js} +12 -12
- package/dist/esm/tools/segmentation/{RectangleRoiThresholdTool.js.map → RectangleROIThresholdTool.js.map} +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +16 -13
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +13 -10
- 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 +6 -3
- 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 +14 -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/getAnnotationNearPoint.js +1 -1
- package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -1
- package/dist/esm/utilities/getToolsWithModesForElement.js +1 -1
- package/dist/esm/utilities/getToolsWithModesForElement.js.map +1 -1
- package/dist/esm/utilities/segmentation/getBoundingBoxUtils.js +3 -3
- package/dist/esm/utilities/segmentation/getBoundingBoxUtils.js.map +1 -1
- 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 +3 -3
- package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +7 -6
- 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/SynchronizerManager/destroySynchronizerById.d.ts +0 -2
- package/dist/cjs/store/SynchronizerManager/destroySynchronizerById.js.map +0 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizerById.d.ts +0 -3
- package/dist/cjs/store/SynchronizerManager/getSynchronizerById.js.map +0 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.d.ts +0 -3
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.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 +0 -8
- 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/SynchronizerManager/destroySynchronizerById.d.ts +0 -2
- package/dist/esm/store/SynchronizerManager/destroySynchronizerById.js.map +0 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizerById.d.ts +0 -3
- package/dist/esm/store/SynchronizerManager/getSynchronizerById.js +0 -6
- package/dist/esm/store/SynchronizerManager/getSynchronizerById.js.map +0 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizers.d.ts +0 -3
- package/dist/esm/store/SynchronizerManager/getSynchronizers.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/tsdoc-metadata.json +0 -11
- 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
- package/dist/tools.d.ts +0 -3887
|
@@ -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);
|
|
@@ -37,14 +37,17 @@ function fillCircle(enabledElement, operationData, inside = true) {
|
|
|
37
37
|
yRadius: Math.abs(topLeftWorld[1] - bottomRightWorld[1]) / 2,
|
|
38
38
|
zRadius: Math.abs(topLeftWorld[2] - bottomRightWorld[2]) / 2,
|
|
39
39
|
};
|
|
40
|
-
const
|
|
40
|
+
const modifiedSlicesToUse = new Set();
|
|
41
|
+
const callback = ({ value, index, pointIJK }) => {
|
|
41
42
|
if (segmentsLocked.includes(value)) {
|
|
42
43
|
return;
|
|
43
44
|
}
|
|
44
45
|
scalarData[index] = segmentIndex;
|
|
46
|
+
modifiedSlicesToUse.add(pointIJK[2]);
|
|
45
47
|
};
|
|
46
48
|
(0, utilities_1.pointInShapeCallback)(imageData, (pointLPS, pointIJK) => (0, ellipse_1.pointInEllipse)(ellipseObj, pointLPS), callback, boundsIJK);
|
|
47
|
-
|
|
49
|
+
const arrayOfSlices = Array.from(modifiedSlicesToUse);
|
|
50
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId, arrayOfSlices);
|
|
48
51
|
}
|
|
49
52
|
function fillInsideCircle(enabledElement, operationData) {
|
|
50
53
|
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,23 @@ declare type AnnotationRenderedEventDetail = {
|
|
|
40
40
|
renderingEngineId: string;
|
|
41
41
|
};
|
|
42
42
|
declare type SegmentationDataModifiedEventDetail = {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
segmentationId: string;
|
|
44
|
+
modifiedSlicesToUse?: number[];
|
|
45
45
|
};
|
|
46
46
|
declare type SegmentationRenderedEventDetail = {
|
|
47
47
|
viewportId: string;
|
|
48
48
|
toolGroupId: string;
|
|
49
49
|
};
|
|
50
|
-
declare type
|
|
50
|
+
declare type SegmentationRepresentationModifiedEventDetail = {
|
|
51
|
+
toolGroupId: string;
|
|
52
|
+
segmentationRepresentationUID: string;
|
|
53
|
+
};
|
|
54
|
+
declare type SegmentationRepresentationRemovedEventDetail = {
|
|
51
55
|
toolGroupId: string;
|
|
56
|
+
segmentationRepresentationUID: string;
|
|
52
57
|
};
|
|
53
|
-
declare type
|
|
54
|
-
|
|
58
|
+
declare type SegmentationModifiedEventDetail = {
|
|
59
|
+
segmentationId: string;
|
|
55
60
|
};
|
|
56
61
|
declare type KeyDownEventDetail = {
|
|
57
62
|
element: HTMLElement;
|
|
@@ -124,9 +129,10 @@ declare type AnnotationSelectionChangeEventType = Types.CustomEventType<Annotati
|
|
|
124
129
|
declare type AnnotationRenderedEventType = Types.CustomEventType<AnnotationRenderedEventDetail>;
|
|
125
130
|
declare type AnnotationLockChangeEventType = Types.CustomEventType<AnnotationLockChangeEventDetail>;
|
|
126
131
|
declare type SegmentationDataModifiedEventType = Types.CustomEventType<SegmentationDataModifiedEventDetail>;
|
|
127
|
-
declare type
|
|
132
|
+
declare type SegmentationRepresentationModifiedEventType = Types.CustomEventType<SegmentationRepresentationModifiedEventDetail>;
|
|
133
|
+
declare type SegmentationRepresentationRemovedEventType = Types.CustomEventType<SegmentationRepresentationRemovedEventDetail>;
|
|
128
134
|
declare type SegmentationRenderedEventType = Types.CustomEventType<SegmentationRenderedEventDetail>;
|
|
129
|
-
declare type
|
|
135
|
+
declare type SegmentationModifiedEventType = Types.CustomEventType<SegmentationModifiedEventDetail>;
|
|
130
136
|
declare type KeyDownEventType = Types.CustomEventType<KeyDownEventDetail>;
|
|
131
137
|
declare type KeyUpEventType = Types.CustomEventType<KeyUpEventDetail>;
|
|
132
138
|
declare type MouseDownEventType = Types.CustomEventType<MouseDownEventDetail>;
|
|
@@ -137,4 +143,4 @@ declare type MouseClickEventType = Types.CustomEventType<MouseClickEventDetail>;
|
|
|
137
143
|
declare type MouseMoveEventType = Types.CustomEventType<MouseMoveEventDetail>;
|
|
138
144
|
declare type MouseDoubleClickEventType = Types.CustomEventType<MouseDoubleClickEventDetail>;
|
|
139
145
|
declare type MouseWheelEventType = Types.CustomEventType<MouseWheelEventDetail>;
|
|
140
|
-
export { NormalizedMouseEventDetail, NormalizedMouseEventType, AnnotationAddedEventDetail, AnnotationAddedEventType, AnnotationModifiedEventDetail, AnnotationModifiedEventType, AnnotationRemovedEventDetail, AnnotationRemovedEventType, AnnotationSelectionChangeEventDetail, AnnotationSelectionChangeEventType, AnnotationRenderedEventDetail, AnnotationRenderedEventType, AnnotationLockChangeEventDetail, AnnotationLockChangeEventType, SegmentationDataModifiedEventType,
|
|
146
|
+
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, };
|
|
@@ -33,7 +33,7 @@ function getAnnotationNearPoint(element, canvasPoint, proximity = 5) {
|
|
|
33
33
|
exports.getAnnotationNearPoint = getAnnotationNearPoint;
|
|
34
34
|
function getAnnotationNearPointOnEnabledElement(enabledElement, point, proximity) {
|
|
35
35
|
const { renderingEngineId, viewportId } = enabledElement;
|
|
36
|
-
const toolGroup = ToolGroupManager.
|
|
36
|
+
const toolGroup = ToolGroupManager.getToolGroupForViewport(viewportId, renderingEngineId);
|
|
37
37
|
if (!toolGroup) {
|
|
38
38
|
return null;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAnnotationNearPoint.js","sourceRoot":"","sources":["../../../src/utilities/getAnnotationNearPoint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuD;AAKvD,mFAA8E;AAC9E,4EAA6D;AAW7D,SAAS,sBAAsB,CAC7B,OAAoB,EACpB,WAAyB,EACzB,SAAS,GAAG,CAAC;IAIb,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAA;IACjD,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,OAAO,sCAAsC,CAC3C,cAAc,EACd,WAAW,EACX,SAAS,CACV,CAAA;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"getAnnotationNearPoint.js","sourceRoot":"","sources":["../../../src/utilities/getAnnotationNearPoint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuD;AAKvD,mFAA8E;AAC9E,4EAA6D;AAW7D,SAAS,sBAAsB,CAC7B,OAAoB,EACpB,WAAyB,EACzB,SAAS,GAAG,CAAC;IAIb,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAA;IACjD,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,OAAO,sCAAsC,CAC3C,cAAc,EACd,WAAW,EACX,SAAS,CACV,CAAA;AACH,CAAC;AAoFQ,wDAAsB;AAxE/B,SAAS,sCAAsC,CAC7C,cAAqC,EACrC,KAAmB,EACnB,SAAiB;IAIjB,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,cAAc,CAAA;IACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC,uBAAuB,CACxD,UAAU,EACV,iBAAiB,CAClB,CAAA;IAED,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,KAAK,GAAG,6BAA6B,CACzC,KAAK,CAAC,IAAI,CAAC,EACX,cAAc,EACd,KAAK,EACL,SAAS,CACV,CAAA;QACD,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAyCgC,wFAAsC;AA3BvE,SAAS,6BAA6B,CACpC,IAAoB,EACpB,cAAqC,EACrC,KAAmB,EACnB,SAAiB;IAKjB,MAAM,WAAW,GAAG,IAAA,gCAAc,EAChC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAC9B,IAAI,CAAC,WAA+B,CAAC,QAAQ,CAC/C,CAAA;IACD,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE;QACvB,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAA;QAC3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,IACE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC/D,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EACnE;gBACA,OAAO,UAAU,CAAA;aAClB;SACF;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -5,7 +5,7 @@ const core_1 = require("@cornerstonejs/core");
|
|
|
5
5
|
function getToolsWithModesForElement(element, modesFilter) {
|
|
6
6
|
const enabledElement = (0, core_1.getEnabledElement)(element);
|
|
7
7
|
const { renderingEngineId, viewportId } = enabledElement;
|
|
8
|
-
const toolGroup = store_1.ToolGroupManager.
|
|
8
|
+
const toolGroup = store_1.ToolGroupManager.getToolGroupForViewport(viewportId, renderingEngineId);
|
|
9
9
|
if (!toolGroup) {
|
|
10
10
|
return [];
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getToolsWithModesForElement.js","sourceRoot":"","sources":["../../../src/utilities/getToolsWithModesForElement.ts"],"names":[],"mappings":";;AAAA,oCAA2C;AAE3C,8CAAuD;AAavD,SAAwB,2BAA2B,CACjD,OAAoB,EACpB,WAAwB;IAExB,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAA;IACjD,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,cAAc,CAAA;IAExD,MAAM,SAAS,GAAG,wBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"getToolsWithModesForElement.js","sourceRoot":"","sources":["../../../src/utilities/getToolsWithModesForElement.ts"],"names":[],"mappings":";;AAAA,oCAA2C;AAE3C,8CAAuD;AAavD,SAAwB,2BAA2B,CACjD,OAAoB,EACpB,WAAwB;IAExB,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAA;IACjD,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,cAAc,CAAA;IAExD,MAAM,SAAS,GAAG,wBAAgB,CAAC,uBAAuB,CACxD,UAAU,EACV,iBAAiB,CAClB,CAAA;IAED,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAA;KACV;IAED,MAAM,YAAY,GAAG,EAAE,CAAA;IAEvB,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAGnD,IAAI,CAAC,WAAW,EAAE;YAChB,SAAQ;SACT;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;YACxD,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;SAChC;KACF;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AApCD,8CAoCC"}
|
|
@@ -25,11 +25,11 @@ function getBoundingBoxAroundShape(vertices, dimensions) {
|
|
|
25
25
|
if (dimensions) {
|
|
26
26
|
const [width, height, depth] = dimensions;
|
|
27
27
|
xMin = Math.max(0, xMin);
|
|
28
|
-
xMax = Math.min(width, xMax);
|
|
28
|
+
xMax = Math.min(width - 1, xMax);
|
|
29
29
|
yMin = Math.max(0, yMin);
|
|
30
|
-
yMax = Math.min(height, yMax);
|
|
30
|
+
yMax = Math.min(height - 1, yMax);
|
|
31
31
|
zMin = Math.max(0, zMin);
|
|
32
|
-
zMax = Math.min(depth, zMax);
|
|
32
|
+
zMax = Math.min(depth - 1, zMax);
|
|
33
33
|
}
|
|
34
34
|
return [
|
|
35
35
|
[xMin, xMax],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBoundingBoxUtils.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getBoundingBoxUtils.ts"],"names":[],"mappings":";;;AAWA,SAAS,yBAAyB,CAChC,QAAwB,EACxB,UAAyB;IAEzB,IAAI,IAAI,GAAG,QAAQ,CAAA;IACnB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,IAAI,GAAG,QAAQ,CAAA;IACnB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,IAAI,GAAG,QAAQ,CAAA;IACnB,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEvB,IAAI,UAAU,EAAE;QACd,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,UAAU,CAAA;QACzC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACxB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"getBoundingBoxUtils.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getBoundingBoxUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -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, };
|
|
@@ -3,14 +3,12 @@ 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
|
-
exports.getDefaultRepresentationConfig = exports.isValidRepresentationConfig = exports.createMergedLabelmapForIndex = exports.
|
|
6
|
+
exports.getDefaultRepresentationConfig = exports.isValidRepresentationConfig = exports.createMergedLabelmapForIndex = exports.thresholdVolumeByRange = exports.extend2DBoundingBoxInViewAxis = exports.getBoundingBoxAroundShape = void 0;
|
|
7
7
|
const getBoundingBoxUtils_1 = require("./getBoundingBoxUtils");
|
|
8
8
|
Object.defineProperty(exports, "getBoundingBoxAroundShape", { enumerable: true, get: function () { return getBoundingBoxUtils_1.getBoundingBoxAroundShape; } });
|
|
9
9
|
Object.defineProperty(exports, "extend2DBoundingBoxInViewAxis", { enumerable: true, get: function () { return getBoundingBoxUtils_1.extend2DBoundingBoxInViewAxis; } });
|
|
10
10
|
const thresholdVolumeByRange_1 = __importDefault(require("./thresholdVolumeByRange"));
|
|
11
11
|
exports.thresholdVolumeByRange = thresholdVolumeByRange_1.default;
|
|
12
|
-
const thresholdVolumeByRoiStats_1 = __importDefault(require("./thresholdVolumeByRoiStats"));
|
|
13
|
-
exports.thresholdVolumeByRoiStats = thresholdVolumeByRoiStats_1.default;
|
|
14
12
|
const createMergedLabelmapForIndex_1 = __importDefault(require("./createMergedLabelmapForIndex"));
|
|
15
13
|
exports.createMergedLabelmapForIndex = createMergedLabelmapForIndex_1.default;
|
|
16
14
|
const isValidRepresentationConfig_1 = __importDefault(require("./isValidRepresentationConfig"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/index.ts"],"names":[],"mappings":";;;;;;AACA,+DAG8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/index.ts"],"names":[],"mappings":";;;;;;AACA,+DAG8B;AAO5B,0GATA,+CAAyB,OASA;AACzB,8GATA,mDAA6B,OASA;AAP/B,sFAA6D;AAS3D,iCATK,gCAAsB,CASL;AARxB,kGAAyE;AASvE,uCATK,sCAA4B,CASL;AAR9B,gGAAuE;AASrE,sCATK,qCAA2B,CASL;AAR7B,sGAA6E;AAS3E,yCATK,wCAA8B,CASL"}
|
|
@@ -3,12 +3,12 @@ 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 = require("../../tools/displayTools/Labelmap/labelmapConfig");
|
|
7
7
|
const SegmentationRepresentations_1 = __importDefault(require("../../enums/SegmentationRepresentations"));
|
|
8
8
|
function isValidRepresentationConfig(representationType, config) {
|
|
9
9
|
switch (representationType) {
|
|
10
10
|
case SegmentationRepresentations_1.default.Labelmap:
|
|
11
|
-
return (0,
|
|
11
|
+
return (0, labelmapConfig_1.isValidLabelmapConfig)(config);
|
|
12
12
|
default:
|
|
13
13
|
throw new Error(`Unknown representation type: ${representationType}`);
|
|
14
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Types } from '@cornerstonejs/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ToolGroupSpecificRepresentation } from '../../types/SegmentationStateTypes';
|
|
3
3
|
export declare type ThresholdRangeOptions = {
|
|
4
4
|
higherThreshold: number;
|
|
5
5
|
lowerThreshold: number;
|
|
@@ -19,6 +19,6 @@ export declare type AnnotationForThresholding = {
|
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
-
declare function thresholdVolumeByRange(
|
|
22
|
+
declare function thresholdVolumeByRange(annotations: AnnotationForThresholding[], referenceVolumes: Types.IImageVolume[], segmentationRepresentation: ToolGroupSpecificRepresentation, options: ThresholdRangeOptions): Types.IImageVolume;
|
|
23
23
|
export declare function extendBoundingBoxInSliceAxisIfNecessary(boundsIJK: [Types.Point2, Types.Point2, Types.Point2], numSlicesToProject: number): [Types.Point2, Types.Point2, Types.Point2];
|
|
24
24
|
export default thresholdVolumeByRange;
|
|
@@ -29,18 +29,19 @@ const utilities_1 = require("../../utilities");
|
|
|
29
29
|
const triggerSegmentationEvents_1 = require("../../stateManagement/segmentation/triggerSegmentationEvents");
|
|
30
30
|
const transformPhysicalToIndex_1 = __importDefault(require("../transformPhysicalToIndex"));
|
|
31
31
|
const SegmentationState = __importStar(require("../../stateManagement/segmentation/segmentationState"));
|
|
32
|
-
function thresholdVolumeByRange(
|
|
32
|
+
function thresholdVolumeByRange(annotations, referenceVolumes, segmentationRepresentation, options) {
|
|
33
33
|
if (referenceVolumes.length > 1) {
|
|
34
34
|
throw new Error('thresholding more than one volumes is not supported yet');
|
|
35
35
|
}
|
|
36
|
-
const
|
|
37
|
-
|
|
36
|
+
const segmentation = SegmentationState.getSegmentation(segmentationRepresentation.segmentationId);
|
|
37
|
+
const { segmentationId } = segmentationRepresentation;
|
|
38
|
+
if (!segmentation) {
|
|
38
39
|
throw new Error('No Segmentation Found');
|
|
39
40
|
}
|
|
40
|
-
const {
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const { scalarData, imageData: segmentationImageData } =
|
|
41
|
+
const { type, representations } = segmentation;
|
|
42
|
+
const { volumeId } = representations[type];
|
|
43
|
+
const segmentationVolume = core_1.cache.getVolume(volumeId);
|
|
44
|
+
const { scalarData, imageData: segmentationImageData } = segmentationVolume;
|
|
44
45
|
const { lowerThreshold, higherThreshold, numSlicesToProject, overwrite } = options;
|
|
45
46
|
if (overwrite) {
|
|
46
47
|
for (let i = 0; i < scalarData.length; i++) {
|
|
@@ -74,8 +75,8 @@ function thresholdVolumeByRange(toolGroupId, annotations, referenceVolumes, segm
|
|
|
74
75
|
};
|
|
75
76
|
(0, utilities_1.pointInShapeCallback)(segmentationImageData, () => true, callback, boundsIJK);
|
|
76
77
|
});
|
|
77
|
-
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(
|
|
78
|
-
return
|
|
78
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId);
|
|
79
|
+
return segmentationVolume;
|
|
79
80
|
}
|
|
80
81
|
function extendBoundingBoxInSliceAxisIfNecessary(boundsIJK, numSlicesToProject) {
|
|
81
82
|
const extendedBoundsIJK = (0, segmentation_1.extend2DBoundingBoxInViewAxis)(boundsIJK, numSlicesToProject);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thresholdVolumeByRange.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/thresholdVolumeByRange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA2C;AAG3C,kDAGwB;AACxB,+CAAsD;AACtD,4GAA8G;AAE9G,2FAAkE;AAClE,wGAAyF;AAiCzF,SAAS,sBAAsB,CAC7B,
|
|
1
|
+
{"version":3,"file":"thresholdVolumeByRange.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/thresholdVolumeByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ class SegmentationRenderingEngine {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
_triggerRender(toolGroupId) {
|
|
51
|
-
const toolGroup = (0, ToolGroupManager_1.
|
|
51
|
+
const toolGroup = (0, ToolGroupManager_1.getToolGroup)(toolGroupId);
|
|
52
52
|
if (!toolGroup) {
|
|
53
53
|
console.warn(`No tool group found with toolGroupId: ${toolGroupId}`);
|
|
54
54
|
return;
|
|
@@ -67,7 +67,7 @@ class SegmentationRenderingEngine {
|
|
|
67
67
|
function onSegmentationRender(evt) {
|
|
68
68
|
const { element, viewportId, renderingEngineId } = evt.detail;
|
|
69
69
|
element.removeEventListener(core_1.Enums.Events.IMAGE_RENDERED, onSegmentationRender);
|
|
70
|
-
const toolGroup = (0, ToolGroupManager_1.
|
|
70
|
+
const toolGroup = (0, ToolGroupManager_1.getToolGroupForViewport)(viewportId, renderingEngineId);
|
|
71
71
|
const eventDetail = {
|
|
72
72
|
toolGroupId: toolGroup.id,
|
|
73
73
|
viewportId,
|