@cornerstonejs/tools 2.0.0-beta.21 → 2.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/cursors/elementCursor.d.ts +1 -1
- package/dist/esm/cursors/elementCursor.js +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +1 -1
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +3 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +3 -3
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.js +2 -2
- package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.js +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.js +1 -1
- package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.js +1 -1
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +1 -1
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +21 -20
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +8 -6
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +4 -3
- package/dist/esm/init.js +2 -2
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +0 -2
- package/dist/esm/stateManagement/annotation/annotationSelection.js +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/annotationState.js +4 -6
- package/dist/esm/stateManagement/annotation/annotationVisibility.js +1 -1
- package/dist/esm/stateManagement/annotation/getAnnotation.d.ts +2 -0
- package/dist/esm/stateManagement/annotation/getAnnotation.js +6 -0
- package/dist/esm/stateManagement/index.d.ts +2 -2
- package/dist/esm/stateManagement/index.js +2 -1
- package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.d.ts +3 -1
- package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +13 -6
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +17 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +46 -4
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +6 -4
- package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/addRepresentationData.js +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addSegmentation.js +11 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js +29 -8
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +10 -0
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +8 -6
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +14 -9
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +8 -5
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +0 -8
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +3 -33
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.js +11 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.js +18 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.js +8 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +8 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +8 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.js +7 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +6 -0
- package/dist/esm/stateManagement/segmentation/getColorLUT.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.js +5 -0
- package/dist/esm/stateManagement/segmentation/getGlobalConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getGlobalConfig.js +5 -0
- package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.js +5 -0
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +7 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +6 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +12 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/getSegmentations.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/getSegmentations.js +6 -0
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +10 -0
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.d.ts +8 -0
- package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +31 -0
- package/dist/esm/stateManagement/segmentation/index.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/index.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +3 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +3 -3
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +2 -3
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +2 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +2 -3
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +3 -2
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +1 -1
- package/dist/esm/stateManagement/segmentation/removeColorLUT.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeColorLUT.js +5 -0
- package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeRepresentation.js +9 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentation.js +7 -0
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +2 -2
- package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +5 -9
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +29 -38
- package/dist/esm/stateManagement/segmentation/segmentationState.js +29 -157
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +9 -0
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +9 -0
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +9 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +9 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +5 -0
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -5
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +5 -45
- package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js +5 -0
- package/dist/esm/store/SynchronizerManager/createSynchronizer.js +1 -1
- package/dist/esm/store/SynchronizerManager/destroy.js +1 -1
- package/dist/esm/store/SynchronizerManager/destroySynchronizer.js +1 -1
- package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizer.js +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +7 -6
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +1 -1
- package/dist/esm/store/ToolGroupManager/destroy.js +3 -3
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +1 -2
- package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.js +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +1 -1
- package/dist/esm/store/addTool.d.ts +1 -0
- package/dist/esm/store/addTool.js +3 -0
- package/dist/esm/store/index.d.ts +1 -2
- package/dist/esm/store/index.js +1 -2
- package/dist/esm/tools/AdvancedMagnifyTool.d.ts +93 -2
- package/dist/esm/tools/AdvancedMagnifyTool.js +506 -4
- package/dist/esm/tools/AnnotationEraserTool.js +2 -2
- package/dist/esm/tools/CrosshairsTool.js +1 -1
- package/dist/esm/tools/MagnifyTool.js +1 -1
- package/dist/esm/tools/SculptorTool.js +3 -3
- package/dist/esm/tools/WindowLevelRegionTool.js +1 -1
- package/dist/esm/tools/annotation/AngleTool.js +4 -3
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js +7 -8
- package/dist/esm/tools/annotation/CircleROITool.js +15 -16
- package/dist/esm/tools/annotation/CobbAngleTool.js +1 -1
- package/dist/esm/tools/annotation/DragProbeTool.js +2 -2
- package/dist/esm/tools/annotation/EllipticalROITool.js +12 -13
- package/dist/esm/tools/annotation/HeightTool.js +5 -6
- package/dist/esm/tools/annotation/KeyImageTool.js +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +5 -6
- package/dist/esm/tools/annotation/LivewireContourTool.js +3 -2
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +4 -4
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +20 -20
- package/dist/esm/tools/annotation/ProbeTool.js +9 -10
- package/dist/esm/tools/annotation/RectangleROITool.js +12 -13
- package/dist/esm/tools/annotation/SplineROITool.js +12 -9
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +6 -7
- package/dist/esm/tools/annotation/VideoRedactionTool.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +2 -2
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +1 -1
- package/dist/esm/tools/base/ContourBaseTool.js +2 -2
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +24 -15
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +9 -8
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +3 -3
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +2 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -8
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +19 -25
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +10 -7
- package/dist/esm/tools/index.d.ts +1 -3
- package/dist/esm/tools/index.js +1 -3
- package/dist/esm/tools/segmentation/BrushTool.js +10 -8
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +8 -9
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +11 -13
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/preview.js +4 -4
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +2 -2
- package/dist/esm/utilities/annotationHydration.js +1 -1
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +1 -1
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +2 -2
- package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +1 -1
- package/dist/esm/utilities/contours/getContourHolesDataWorld.js +1 -1
- package/dist/esm/utilities/contours/index.d.ts +1 -2
- package/dist/esm/utilities/contours/index.js +1 -2
- package/dist/esm/utilities/contours/updateContourPolyline.js +1 -1
- package/dist/esm/utilities/getCalibratedUnits.d.ts +2 -2
- package/dist/esm/utilities/getCalibratedUnits.js +13 -13
- package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
- package/dist/esm/utilities/index.d.ts +1 -2
- package/dist/esm/utilities/index.js +1 -2
- package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +3 -3
- package/dist/esm/utilities/math/polyline/isClosed.js +2 -2
- package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +3 -3
- package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +1 -1
- package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +1 -1
- package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
- package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +0 -2
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +3 -22
- package/dist/esm/utilities/segmentation/index.d.ts +2 -2
- package/dist/esm/utilities/segmentation/index.js +2 -2
- package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +1 -4
- package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +2 -1
- package/dist/esm/utilities/segmentation/segmentContourAction.js +5 -5
- package/dist/esm/utilities/segmentation/utilities.d.ts +4 -1
- package/dist/esm/utilities/segmentation/utilities.js +23 -17
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +2 -2
- package/dist/umd/985.index.js.map +1 -1
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.LICENSE.txt +6 -0
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -4
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +0 -17
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +0 -50
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.js +0 -11
- package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +0 -76
- package/dist/esm/tools/AdvancedMagnifyViewport.js +0 -351
- package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +0 -38
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js +0 -161
- package/dist/esm/tools/StackScrollToolMouseWheelTool.d.ts +0 -16
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js +0 -33
- package/dist/esm/utilities/contours/interpolation/index.d.ts +0 -2
- package/dist/esm/utilities/contours/interpolation/index.js +0 -2
- package/dist/esm/utilities/segmentation/triggerSegmentationRender.d.ts +0 -3
- package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import MouseCursor from './MouseCursor';
|
|
2
2
|
declare function initElementCursor(element: HTMLDivElement, cursor: MouseCursor | null): void;
|
|
3
3
|
declare function _setElementCursor(element: HTMLDivElement, cursor: MouseCursor | null): void;
|
|
4
4
|
declare function resetElementCursor(element: HTMLDivElement): void;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ToolGroupManager } from '../../store';
|
|
2
1
|
import getActiveToolForKeyboardEvent from '../shared/getActiveToolForKeyboardEvent';
|
|
3
2
|
import getToolsWithActionsForKeyboardEvent from '../shared/getToolsWithActionsForKeyboardEvents';
|
|
4
3
|
import ToolModes from '../../enums/ToolModes';
|
|
4
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
5
5
|
export default function keyDown(evt) {
|
|
6
6
|
const activeTool = getActiveToolForKeyboardEvent(evt);
|
|
7
7
|
if (activeTool) {
|
|
8
8
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
9
|
-
const toolGroup =
|
|
9
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
10
10
|
const toolName = activeTool.getToolName();
|
|
11
11
|
if (Object.keys(toolGroup.toolOptions).includes(toolName)) {
|
|
12
12
|
toolGroup.setViewportsCursorByToolName(toolName);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { resetModifierKey } from '../../eventListeners/keyboard/keyDownListener';
|
|
2
|
-
import { ToolGroupManager } from '../../store';
|
|
3
2
|
import getActiveToolForKeyboardEvent from '../shared/getActiveToolForKeyboardEvent';
|
|
3
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
4
4
|
export default function keyUp(evt) {
|
|
5
5
|
const activeTool = getActiveToolForKeyboardEvent(evt);
|
|
6
6
|
if (!activeTool) {
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
9
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
10
|
-
const toolGroup =
|
|
10
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
11
11
|
resetModifierKey();
|
|
12
12
|
const toolName = activeTool.getToolName();
|
|
13
13
|
if (Object.keys(toolGroup.toolOptions).includes(toolName)) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { state } from '../../store';
|
|
1
|
+
import { state } from '../../store/state';
|
|
2
2
|
import { ToolModes } from '../../enums';
|
|
3
3
|
import { setAnnotationSelected, isAnnotationSelected, } from '../../stateManagement/annotation/annotationSelection';
|
|
4
4
|
import { isAnnotationLocked } from '../../stateManagement/annotation/annotationLocking';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { state } from '../../store';
|
|
1
|
+
import { state } from '../../store/state';
|
|
2
2
|
import getActiveToolForMouseEvent from '../shared/getActiveToolForMouseEvent';
|
|
3
3
|
import { setAnnotationSelected } from '../../stateManagement/annotation/annotationSelection';
|
|
4
4
|
export default function mouseDownActivate(evt) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getEnabledElement } from '@cornerstonejs/core';
|
|
2
|
-
import { state } from '../../store';
|
|
2
|
+
import { state } from '../../store/state';
|
|
3
3
|
import { ToolModes } from '../../enums';
|
|
4
4
|
import filterToolsWithAnnotationsForElement from '../../store/filterToolsWithAnnotationsForElement';
|
|
5
5
|
import filterMoveableAnnotationTools from '../../store/filterMoveableAnnotationTools';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { state } from '../../store';
|
|
1
|
+
import { state } from '../../store/state';
|
|
2
2
|
import { ToolModes } from '../../enums';
|
|
3
3
|
import filterToolsWithAnnotationsForElement from '../../store/filterToolsWithAnnotationsForElement';
|
|
4
4
|
import getToolsWithModesForMouseEvent from '../shared/getToolsWithModesForMouseEvent';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { state
|
|
1
|
+
import { state } from '../../store/state';
|
|
2
2
|
import ToolModes from '../../enums/ToolModes';
|
|
3
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
3
4
|
const { Active } = ToolModes;
|
|
4
5
|
export default function customCallbackHandler(handlerType, customFunction, evt) {
|
|
5
6
|
if (state.isInteractingWithTool) {
|
|
6
7
|
return false;
|
|
7
8
|
}
|
|
8
9
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
9
|
-
const toolGroup =
|
|
10
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
10
11
|
if (!toolGroup) {
|
|
11
12
|
return false;
|
|
12
13
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ToolGroupManager } from '../../store';
|
|
2
1
|
import { ToolModes } from '../../enums';
|
|
3
2
|
import { keyEventListener } from '../../eventListeners';
|
|
4
3
|
import { getMouseButton } from '../../eventListeners/mouse/mouseDownListener';
|
|
4
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
5
5
|
const { Active } = ToolModes;
|
|
6
6
|
export default function getActiveToolForKeyboardEvent(evt) {
|
|
7
7
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
8
8
|
const mouseButton = getMouseButton();
|
|
9
9
|
const modifierKey = keyEventListener.getModifierKey();
|
|
10
|
-
const toolGroup =
|
|
10
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
11
11
|
if (!toolGroup) {
|
|
12
12
|
return null;
|
|
13
13
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ToolGroupManager } from '../../store';
|
|
2
1
|
import { ToolModes } from '../../enums';
|
|
3
2
|
import { keyEventListener } from '../../eventListeners';
|
|
3
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
4
4
|
import getMouseModifier from './getMouseModifier';
|
|
5
5
|
const { Active } = ToolModes;
|
|
6
6
|
export default function getActiveToolForMouseEvent(evt) {
|
|
7
7
|
const { renderingEngineId, viewportId, event: mouseEvent } = evt.detail;
|
|
8
8
|
const modifierKey = getMouseModifier(mouseEvent) || keyEventListener.getModifierKey();
|
|
9
|
-
const toolGroup =
|
|
9
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
10
10
|
if (!toolGroup) {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MouseBindings, ToolModes } from '../../enums';
|
|
1
|
+
import { ToolModes } from '../../enums';
|
|
3
2
|
import getMouseModifier from './getMouseModifier';
|
|
4
3
|
import { keyEventListener } from '../../eventListeners';
|
|
4
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
5
5
|
const { Active } = ToolModes;
|
|
6
6
|
export default function getActiveToolForTouchEvent(evt) {
|
|
7
7
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
8
8
|
const touchEvent = evt.detail.event;
|
|
9
|
-
const toolGroup =
|
|
9
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
10
10
|
if (!toolGroup) {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
2
2
|
export default function getToolsWithModesForKeyboardEvent(evt, toolModes) {
|
|
3
3
|
const toolsWithActions = new Map();
|
|
4
4
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
5
|
-
const toolGroup =
|
|
5
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
6
6
|
if (!toolGroup) {
|
|
7
7
|
return toolsWithActions;
|
|
8
8
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ToolGroupManager } from '../../store';
|
|
2
1
|
import { keyEventListener } from '../../eventListeners';
|
|
3
2
|
import getMouseModifier from './getMouseModifier';
|
|
3
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
4
4
|
export default function getToolsWithActionsForMouseEvent(evt, toolModes) {
|
|
5
5
|
const toolsWithActions = new Map();
|
|
6
6
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
7
|
-
const toolGroup =
|
|
7
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
8
8
|
if (!toolGroup) {
|
|
9
9
|
return toolsWithActions;
|
|
10
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
2
2
|
export default function getToolsWithModesForMouseEvent(evt, modesFilter, evtButton) {
|
|
3
3
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
4
|
-
const toolGroup =
|
|
4
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
5
5
|
if (!toolGroup) {
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getToolGroupForViewport } from '../../store/ToolGroupManager';
|
|
2
2
|
export default function getToolsWithModesForTouchEvent(evt, modesFilter, numTouchPoints) {
|
|
3
3
|
const { renderingEngineId, viewportId } = evt.detail;
|
|
4
|
-
const toolGroup =
|
|
4
|
+
const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
|
|
5
5
|
if (!toolGroup) {
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { state } from '../../store';
|
|
1
|
+
import { state } from '../../store/state';
|
|
2
2
|
import { ToolModes } from '../../enums';
|
|
3
3
|
import { setAnnotationSelected, isAnnotationSelected, } from '../../stateManagement/annotation/annotationSelection';
|
|
4
4
|
import { isAnnotationLocked } from '../../stateManagement/annotation/annotationLocking';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { state } from '../../store';
|
|
1
|
+
import { state } from '../../store/state';
|
|
2
2
|
import { setAnnotationSelected } from '../../stateManagement/annotation/annotationSelection';
|
|
3
3
|
import getActiveToolForTouchEvent from '../shared/getActiveToolForTouchEvent';
|
|
4
4
|
export default function touchStartActivate(evt) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getRenderingEngines } from '@cornerstonejs/core';
|
|
2
|
-
import { triggerAnnotationRenderForViewportIds } from '../../utilities';
|
|
2
|
+
import { triggerAnnotationRenderForViewportIds } from '../../utilities/triggerAnnotationRenderForViewportIds';
|
|
3
3
|
function annotationSelectionListener(evt) {
|
|
4
4
|
const deselectedAnnotation = evt.detail.removed;
|
|
5
5
|
if (!deselectedAnnotation.length) {
|
package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { getEnabledElement, utilities as csUtils } from '@cornerstonejs/core';
|
|
2
2
|
import getViewportsForAnnotation from '../../../utilities/getViewportsForAnnotation';
|
|
3
|
-
import
|
|
3
|
+
import * as math from '../../../utilities/math';
|
|
4
|
+
import triggerAnnotationRenderForViewportIds from '../../../utilities/triggerAnnotationRenderForViewportIds';
|
|
4
5
|
import { getViewportIdsWithToolToRender } from '../../../utilities/viewportFilters';
|
|
5
6
|
import { addAnnotation, removeAnnotation, getAllAnnotations, getChildAnnotations, addChildAnnotation, clearParentAnnotation, } from '../../../stateManagement/annotation/annotationState';
|
|
6
|
-
import * as contourUtils from '../../../utilities/contours';
|
|
7
|
-
import * as contourSegUtils from '../../../utilities/contourSegmentation';
|
|
8
|
-
import { ToolGroupManager, hasTool as cstHasTool } from '../../../store';
|
|
9
|
-
import { PlanarFreehandContourSegmentationTool } from '../../../tools';
|
|
10
7
|
import { ContourWindingDirection } from '../../../types/ContourAnnotation';
|
|
11
8
|
import { triggerAnnotationModified } from '../../../stateManagement/annotation/helpers/state';
|
|
12
|
-
|
|
9
|
+
import updateContourPolyline from '../../../utilities/contours/updateContourPolyline';
|
|
10
|
+
import { addContourSegmentationAnnotation, areSameSegment, isContourSegmentationAnnotation, removeContourSegmentationAnnotation, } from '../../../utilities/contourSegmentation';
|
|
11
|
+
import { getToolGroupForViewport } from '../../../store/ToolGroupManager';
|
|
12
|
+
import { hasTool, hasToolByName } from '../../../store/addTool';
|
|
13
|
+
const DEFAULT_CONTOUR_SEG_TOOL_NAME = 'PlanarFreehandContourSegmentationTool';
|
|
13
14
|
export default async function contourSegmentationCompletedListener(evt) {
|
|
14
15
|
const sourceAnnotation = evt.detail
|
|
15
16
|
.annotation;
|
|
16
|
-
if (!
|
|
17
|
+
if (!isContourSegmentationAnnotation(sourceAnnotation)) {
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
const viewport = getViewport(sourceAnnotation);
|
|
@@ -39,8 +40,8 @@ export default async function contourSegmentationCompletedListener(evt) {
|
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
function isFreehandContourSegToolRegisteredForViewport(viewport, silent = false) {
|
|
42
|
-
const
|
|
43
|
-
const toolGroup =
|
|
43
|
+
const toolName = 'PlanarFreehandContourSegmentationTool';
|
|
44
|
+
const toolGroup = getToolGroupForViewport(viewport.id, viewport.renderingEngineId);
|
|
44
45
|
let errorMessage;
|
|
45
46
|
if (!toolGroup.hasTool(toolName)) {
|
|
46
47
|
errorMessage = `Tool ${toolName} not added to ${toolGroup.id} toolGroup`;
|
|
@@ -71,8 +72,8 @@ function getValidContourSegmentationAnnotations(viewport, sourceAnnotation) {
|
|
|
71
72
|
const allAnnotations = getAllAnnotations();
|
|
72
73
|
return allAnnotations.filter((targetAnnotation) => targetAnnotation.annotationUID &&
|
|
73
74
|
targetAnnotation.annotationUID !== sourceAnnotationUID &&
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
isContourSegmentationAnnotation(targetAnnotation) &&
|
|
76
|
+
areSameSegment(targetAnnotation, sourceAnnotation) &&
|
|
76
77
|
viewport.isReferenceViewable(targetAnnotation.metadata));
|
|
77
78
|
}
|
|
78
79
|
function findIntersectingContour(viewport, sourcePolyline, contourSegmentationAnnotations) {
|
|
@@ -96,16 +97,16 @@ export function createPolylineHole(viewport, targetAnnotation, holeAnnotation) {
|
|
|
96
97
|
const { windingDirection: targetWindingDirection } = targetAnnotation.data.contour;
|
|
97
98
|
const { windingDirection: holeWindingDirection } = holeAnnotation.data.contour;
|
|
98
99
|
addChildAnnotation(targetAnnotation, holeAnnotation);
|
|
99
|
-
|
|
100
|
+
removeContourSegmentationAnnotation(holeAnnotation);
|
|
100
101
|
const { contour: holeContour } = holeAnnotation.data;
|
|
101
102
|
const holePolyline = convertContourPolylineToCanvasSpace(holeContour.polyline, viewport);
|
|
102
|
-
|
|
103
|
+
updateContourPolyline(holeAnnotation, {
|
|
103
104
|
points: holePolyline,
|
|
104
105
|
closed: holeContour.closed,
|
|
105
106
|
}, viewport);
|
|
106
107
|
const { element } = viewport;
|
|
107
108
|
const updatedToolNames = new Set([
|
|
108
|
-
|
|
109
|
+
DEFAULT_CONTOUR_SEG_TOOL_NAME,
|
|
109
110
|
targetAnnotation.metadata.toolName,
|
|
110
111
|
holeAnnotation.metadata.toolName,
|
|
111
112
|
]);
|
|
@@ -121,8 +122,8 @@ function getContourHolesData(viewport, annotation) {
|
|
|
121
122
|
});
|
|
122
123
|
}
|
|
123
124
|
function combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnnotation, sourcePolyline) {
|
|
124
|
-
if (!
|
|
125
|
-
console.warn(`${
|
|
125
|
+
if (!hasToolByName(DEFAULT_CONTOUR_SEG_TOOL_NAME)) {
|
|
126
|
+
console.warn(`${DEFAULT_CONTOUR_SEG_TOOL_NAME} is not registered in cornerstone`);
|
|
126
127
|
return;
|
|
127
128
|
}
|
|
128
129
|
if (!isFreehandContourSegToolRegisteredForViewport(viewport)) {
|
|
@@ -176,7 +177,7 @@ function combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnno
|
|
|
176
177
|
const newAnnotation = {
|
|
177
178
|
metadata: {
|
|
178
179
|
...metadata,
|
|
179
|
-
toolName:
|
|
180
|
+
toolName: DEFAULT_CONTOUR_SEG_TOOL_NAME,
|
|
180
181
|
originalToolName: metadata.originalToolName || metadata.toolName,
|
|
181
182
|
},
|
|
182
183
|
data: {
|
|
@@ -202,13 +203,13 @@ function combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnno
|
|
|
202
203
|
interpolationUID: targetAnnotation.interpolationUID,
|
|
203
204
|
interpolationCompleted: targetAnnotation.interpolationCompleted,
|
|
204
205
|
};
|
|
205
|
-
|
|
206
|
+
updateContourPolyline(newAnnotation, {
|
|
206
207
|
points: polyline,
|
|
207
208
|
closed: true,
|
|
208
209
|
targetWindingDirection: ContourWindingDirection.Clockwise,
|
|
209
210
|
}, viewport);
|
|
210
211
|
addAnnotation(newAnnotation, element);
|
|
211
|
-
|
|
212
|
+
addContourSegmentationAnnotation(newAnnotation);
|
|
212
213
|
triggerAnnotationModified(newAnnotation, viewport.element);
|
|
213
214
|
reassignedContourHolesMap
|
|
214
215
|
.get(polyline)
|
|
@@ -220,7 +221,7 @@ function updateViewports(enabledElement, targetAnnotation, sourceAnnotation) {
|
|
|
220
221
|
const { viewport } = enabledElement;
|
|
221
222
|
const { element } = viewport;
|
|
222
223
|
const updatedTtoolNames = new Set([
|
|
223
|
-
|
|
224
|
+
DEFAULT_CONTOUR_SEG_TOOL_NAME,
|
|
224
225
|
targetAnnotation.metadata.toolName,
|
|
225
226
|
sourceAnnotation.metadata.toolName,
|
|
226
227
|
]);
|
|
@@ -2,8 +2,10 @@ import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
|
|
|
2
2
|
import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
|
|
3
3
|
import { BaseVolumeViewport, getEnabledElement, Enums, getEnabledElementByIds, cache, utilities, } from '@cornerstonejs/core';
|
|
4
4
|
import Representations from '../../enums/SegmentationRepresentations';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
5
|
+
import { triggerSegmentationRender } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
6
|
+
import { getSegmentationRepresentations } from '../../stateManagement/segmentation/getSegmentationRepresentations';
|
|
7
|
+
import { updateLabelmapSegmentationImageReferences } from '../../stateManagement/segmentation/updateLabelmapSegmentationImageReferences';
|
|
8
|
+
import { getCurrentLabelmapImageIdForViewport } from '../../stateManagement/segmentation/getCurrentLabelmapImageIdForViewport';
|
|
7
9
|
const enable = function (element) {
|
|
8
10
|
const { viewport } = getEnabledElement(element);
|
|
9
11
|
if (viewport instanceof BaseVolumeViewport) {
|
|
@@ -21,7 +23,7 @@ function _imageChangeEventListener(evt) {
|
|
|
21
23
|
const eventData = evt.detail;
|
|
22
24
|
const { viewportId, renderingEngineId } = eventData;
|
|
23
25
|
const { viewport } = getEnabledElementByIds(viewportId, renderingEngineId);
|
|
24
|
-
const segmentationRepresentations =
|
|
26
|
+
const segmentationRepresentations = getSegmentationRepresentations(viewportId);
|
|
25
27
|
if (!segmentationRepresentations?.length) {
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
@@ -32,12 +34,12 @@ function _imageChangeEventListener(evt) {
|
|
|
32
34
|
const actors = viewport.getActors();
|
|
33
35
|
labelmapRepresentations.forEach((representation) => {
|
|
34
36
|
const { segmentationId } = representation;
|
|
35
|
-
const labelmapImageId =
|
|
37
|
+
const labelmapImageId = updateLabelmapSegmentationImageReferences(viewportId, segmentationId);
|
|
36
38
|
});
|
|
37
39
|
const allLabelmapActors = actors.filter((actor) => labelmapRepresentations.some((representation) => representation.segmentationRepresentationUID === actor.uid));
|
|
38
40
|
allLabelmapActors.forEach((actor) => {
|
|
39
41
|
const validActor = labelmapRepresentations.find((representation) => {
|
|
40
|
-
const derivedImageId =
|
|
42
|
+
const derivedImageId = getCurrentLabelmapImageIdForViewport(viewportId, representation.segmentationId);
|
|
41
43
|
return derivedImageId === actor.referencedId;
|
|
42
44
|
});
|
|
43
45
|
if (!validActor) {
|
|
@@ -47,7 +49,7 @@ function _imageChangeEventListener(evt) {
|
|
|
47
49
|
labelmapRepresentations.forEach((representation) => {
|
|
48
50
|
const { segmentationId } = representation;
|
|
49
51
|
const currentImageId = viewport.getCurrentImageId();
|
|
50
|
-
const derivedImageId =
|
|
52
|
+
const derivedImageId = getCurrentLabelmapImageIdForViewport(viewportId, segmentationId);
|
|
51
53
|
if (!derivedImageId) {
|
|
52
54
|
return;
|
|
53
55
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import SegmentationRepresentations from '../../enums/SegmentationRepresentations';
|
|
2
2
|
import * as SegmentationState from '../../stateManagement/segmentation/segmentationState';
|
|
3
|
-
import { triggerSegmentationRenderBySegmentationId } from '../../
|
|
3
|
+
import { triggerSegmentationRenderBySegmentationId } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
4
4
|
import onLabelmapSegmentationDataModified from './labelmap/onLabelmapSegmentationDataModified';
|
|
5
5
|
const onSegmentationDataModified = function (evt) {
|
|
6
6
|
const { segmentationId } = evt.detail;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {} from '../../stateManagement/segmentation/triggerSegmentationEvents';
|
|
2
|
-
import { triggerSegmentationRenderBySegmentationId } from '../../
|
|
2
|
+
import { triggerSegmentationRenderBySegmentationId } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
3
3
|
const segmentationModifiedListener = function (evt) {
|
|
4
4
|
const { segmentationId } = evt.detail;
|
|
5
5
|
triggerSegmentationRenderBySegmentationId(segmentationId);
|
package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSegmentationRepresentation } from '../../stateManagement/segmentation/segmentationState';
|
|
2
|
-
import { triggerSegmentationRenderBySegmentationId } from '../../
|
|
2
|
+
import { triggerSegmentationRenderBySegmentationId } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
3
3
|
const segmentationRepresentationModifiedListener = function (evt) {
|
|
4
4
|
const { segmentationRepresentationUID } = evt.detail;
|
|
5
5
|
const segmentationRepresentation = getSegmentationRepresentation
|
package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSegmentationRepresentation } from '../../stateManagement/segmentation/segmentationState';
|
|
2
|
-
import { triggerSegmentationRenderBySegmentationId } from '../../
|
|
2
|
+
import { triggerSegmentationRenderBySegmentationId } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
3
3
|
const segmentationRepresentationRemovedEventListener = function (evt) {
|
|
4
4
|
const { segmentationRepresentationUID } = evt.detail;
|
|
5
5
|
const segmentation = getSegmentationRepresentation(segmentationRepresentationUID);
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { init, destroy } from './init';
|
|
2
|
-
import { addTool, removeTool,
|
|
2
|
+
import { addTool, removeTool, ToolGroupManager, SynchronizerManager, Synchronizer, cancelActiveManipulations } from './store';
|
|
3
|
+
import { state } from './store/state';
|
|
3
4
|
import * as CONSTANTS from './constants';
|
|
4
5
|
import * as synchronizers from './synchronizers';
|
|
5
6
|
import * as drawing from './drawingSvg';
|
|
@@ -8,7 +9,7 @@ import * as cursors from './cursors';
|
|
|
8
9
|
import * as Types from './types';
|
|
9
10
|
import * as annotation from './stateManagement/annotation';
|
|
10
11
|
import * as segmentation from './stateManagement/segmentation';
|
|
11
|
-
import { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool,
|
|
12
|
+
import { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, HeightTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, SplineContourSegmentationTool, BidirectionalTool, PlanarFreehandROITool, PlanarFreehandContourSegmentationTool, LivewireContourTool, LivewireContourSegmentationTool, ArrowAnnotateTool, KeyImageTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, CircleROIStartEndThresholdTool, BrushTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, MagnifyTool, AdvancedMagnifyTool, ReferenceCursors, PaintFillTool, ScaleOverlayTool, OrientationMarkerTool, OverlayGridTool, SegmentationIntersectionTool, EraserTool, SculptorTool, SegmentSelectTool, WindowLevelRegionTool } from './tools';
|
|
12
13
|
import VideoRedactionTool from './tools/annotation/VideoRedactionTool';
|
|
13
14
|
import * as Enums from './enums';
|
|
14
|
-
export { VideoRedactionTool, init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, WindowLevelRegionTool, ZoomTool, StackScrollTool, PlanarRotateTool,
|
|
15
|
+
export { VideoRedactionTool, init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, WindowLevelRegionTool, ZoomTool, StackScrollTool, PlanarRotateTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, HeightTool, CrosshairsTool, ReferenceLinesTool, OverlayGridTool, SegmentationIntersectionTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, SplineContourSegmentationTool, BidirectionalTool, PlanarFreehandROITool, PlanarFreehandContourSegmentationTool, LivewireContourTool, LivewireContourSegmentationTool, ArrowAnnotateTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, KeyImageTool, MagnifyTool, AdvancedMagnifyTool, ReferenceCursors, ScaleOverlayTool, SculptorTool, EraserTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, CircleROIStartEndThresholdTool, BrushTool, OrientationMarkerTool, SegmentSelectTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { init, destroy } from './init';
|
|
2
|
-
import { addTool, removeTool,
|
|
2
|
+
import { addTool, removeTool, ToolGroupManager, SynchronizerManager, Synchronizer, cancelActiveManipulations, } from './store';
|
|
3
|
+
import { state } from './store/state';
|
|
3
4
|
import * as CONSTANTS from './constants';
|
|
4
5
|
import * as synchronizers from './synchronizers';
|
|
5
6
|
import * as drawing from './drawingSvg';
|
|
@@ -8,7 +9,7 @@ import * as cursors from './cursors';
|
|
|
8
9
|
import * as Types from './types';
|
|
9
10
|
import * as annotation from './stateManagement/annotation';
|
|
10
11
|
import * as segmentation from './stateManagement/segmentation';
|
|
11
|
-
import { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool,
|
|
12
|
+
import { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, HeightTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, SplineContourSegmentationTool, BidirectionalTool, PlanarFreehandROITool, PlanarFreehandContourSegmentationTool, LivewireContourTool, LivewireContourSegmentationTool, ArrowAnnotateTool, KeyImageTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, CircleROIStartEndThresholdTool, BrushTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, MagnifyTool, AdvancedMagnifyTool, ReferenceCursors, PaintFillTool, ScaleOverlayTool, OrientationMarkerTool, OverlayGridTool, SegmentationIntersectionTool, EraserTool, SculptorTool, SegmentSelectTool, WindowLevelRegionTool, } from './tools';
|
|
12
13
|
import VideoRedactionTool from './tools/annotation/VideoRedactionTool';
|
|
13
14
|
import * as Enums from './enums';
|
|
14
|
-
export { VideoRedactionTool, init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, WindowLevelRegionTool, ZoomTool, StackScrollTool, PlanarRotateTool,
|
|
15
|
+
export { VideoRedactionTool, init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, WindowLevelRegionTool, ZoomTool, StackScrollTool, PlanarRotateTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, HeightTool, CrosshairsTool, ReferenceLinesTool, OverlayGridTool, SegmentationIntersectionTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, SplineContourSegmentationTool, BidirectionalTool, PlanarFreehandROITool, PlanarFreehandContourSegmentationTool, LivewireContourTool, LivewireContourSegmentationTool, ArrowAnnotateTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, KeyImageTool, MagnifyTool, AdvancedMagnifyTool, ReferenceCursors, ScaleOverlayTool, SculptorTool, EraserTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, CircleROIStartEndThresholdTool, BrushTool, OrientationMarkerTool, SegmentSelectTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
|
package/dist/esm/init.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { eventTarget, Enums } from '@cornerstonejs/core';
|
|
2
2
|
import { getAnnotationManager } from './stateManagement/annotation/annotationState';
|
|
3
|
-
import { getDefaultSegmentationStateManager } from './stateManagement/segmentation/segmentationState';
|
|
4
3
|
import { Events as TOOLS_EVENTS } from './enums';
|
|
5
4
|
import { addEnabledElement, removeEnabledElement } from './store';
|
|
6
5
|
import { resetCornerstoneToolsState } from './store/state';
|
|
7
6
|
import { annotationCompletedListener, annotationRemovedListener, annotationSelectionListener, annotationModifiedListener, segmentationDataModifiedEventListener, segmentationRepresentationModifiedEventListener, segmentationRepresentationRemovedEventListener, segmentationModifiedListener, } from './eventListeners';
|
|
8
7
|
import { annotationInterpolationEventDispatcher } from './eventDispatchers';
|
|
9
8
|
import * as ToolGroupManager from './store/ToolGroupManager';
|
|
9
|
+
import { defaultSegmentationStateManager } from './stateManagement/segmentation/SegmentationStateManager';
|
|
10
10
|
let csToolsInitialized = false;
|
|
11
11
|
export function init(defaultConfiguration = {}) {
|
|
12
12
|
if (csToolsInitialized) {
|
|
@@ -22,7 +22,7 @@ export function destroy() {
|
|
|
22
22
|
ToolGroupManager.destroy();
|
|
23
23
|
resetCornerstoneToolsState();
|
|
24
24
|
const annotationManager = getAnnotationManager();
|
|
25
|
-
const segmentationStateManager =
|
|
25
|
+
const segmentationStateManager = defaultSegmentationStateManager;
|
|
26
26
|
annotationManager.restoreAnnotations({});
|
|
27
27
|
segmentationStateManager.resetState();
|
|
28
28
|
csToolsInitialized = false;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Enums, eventTarget, getEnabledElement, utilities, } from '@cornerstonejs/core';
|
|
2
2
|
import { checkAndDefineIsLockedProperty } from './annotationLocking';
|
|
3
|
-
import { checkAndDefineIsVisibleProperty } from './annotationVisibility';
|
|
4
3
|
import { checkAndDefineTextBoxProperty, checkAndDefineCachedStatsProperty, } from './utilities/defineProperties';
|
|
5
4
|
class FrameOfReferenceSpecificAnnotationManager {
|
|
6
5
|
constructor(uid) {
|
|
@@ -93,7 +92,6 @@ class FrameOfReferenceSpecificAnnotationManager {
|
|
|
93
92
|
}
|
|
94
93
|
toolSpecificAnnotations.push(annotation);
|
|
95
94
|
checkAndDefineIsLockedProperty(annotation);
|
|
96
|
-
checkAndDefineIsVisibleProperty(annotation);
|
|
97
95
|
checkAndDefineTextBoxProperty(annotation);
|
|
98
96
|
checkAndDefineCachedStatsProperty(annotation);
|
|
99
97
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { eventTarget, triggerEvent } from '@cornerstonejs/core';
|
|
2
2
|
import { Events } from '../../enums';
|
|
3
|
-
import { getAnnotation } from './
|
|
3
|
+
import { getAnnotation } from './getAnnotation';
|
|
4
4
|
const selectedAnnotationUIDs = new Set();
|
|
5
5
|
function setAnnotationSelected(annotationUID, selected = true, preserveSelected = false) {
|
|
6
6
|
if (selected) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Annotations, Annotation } from '../../types/AnnotationTypes';
|
|
2
2
|
import type { AnnotationGroupSelector } from '../../types';
|
|
3
|
+
import { getAnnotation } from './getAnnotation';
|
|
3
4
|
declare function getAnnotationManager(): import("./FrameOfReferenceSpecificAnnotationManager").default;
|
|
4
5
|
declare function setAnnotationManager(annotationManager: any): void;
|
|
5
6
|
declare function resetAnnotationManager(): void;
|
|
@@ -12,8 +13,7 @@ declare function getChildAnnotations(annotation: Annotation): Annotation[];
|
|
|
12
13
|
declare function addAnnotation(annotation: Annotation, annotationGroupSelector: AnnotationGroupSelector): string;
|
|
13
14
|
declare function getNumberOfAnnotations(toolName: string, annotationGroupSelector: AnnotationGroupSelector): number;
|
|
14
15
|
declare function removeAnnotation(annotationUID: string): void;
|
|
15
|
-
declare function getAnnotation(annotationUID: string): Annotation;
|
|
16
16
|
declare function removeAllAnnotations(): void;
|
|
17
17
|
declare function removeAnnotations(toolName: string, annotationGroupSelector: AnnotationGroupSelector): void;
|
|
18
18
|
declare function invalidateAnnotation(annotation: Annotation): void;
|
|
19
|
-
export { getAllAnnotations, getAnnotations, getParentAnnotation, getChildAnnotations, clearParentAnnotation, addChildAnnotation, getNumberOfAnnotations, addAnnotation,
|
|
19
|
+
export { getAllAnnotations, getAnnotations, getParentAnnotation, getChildAnnotations, clearParentAnnotation, addChildAnnotation, getNumberOfAnnotations, addAnnotation, removeAnnotation, removeAnnotations, removeAllAnnotations, setAnnotationManager, getAnnotationManager, resetAnnotationManager, invalidateAnnotation, getAnnotation, };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { utilities as csUtils } from '@cornerstonejs/core';
|
|
2
2
|
import { defaultFrameOfReferenceSpecificAnnotationManager } from './FrameOfReferenceSpecificAnnotationManager';
|
|
3
|
+
import { getAnnotation } from './getAnnotation';
|
|
3
4
|
import { triggerAnnotationAddedForElement, triggerAnnotationAddedForFOR, triggerAnnotationRemoved, } from './helpers/state';
|
|
5
|
+
import { checkAndDefineIsVisibleProperty } from './annotationVisibility';
|
|
4
6
|
let defaultManager = defaultFrameOfReferenceSpecificAnnotationManager;
|
|
5
7
|
function getAnnotationManager() {
|
|
6
8
|
return defaultManager;
|
|
@@ -55,6 +57,7 @@ function addAnnotation(annotation, annotationGroupSelector) {
|
|
|
55
57
|
if (!annotation.annotationUID) {
|
|
56
58
|
annotation.annotationUID = csUtils.uuidv4();
|
|
57
59
|
}
|
|
60
|
+
checkAndDefineIsVisibleProperty(annotation);
|
|
58
61
|
const manager = getAnnotationManager();
|
|
59
62
|
if (annotationGroupSelector instanceof HTMLDivElement) {
|
|
60
63
|
const groupKey = manager.getGroupKey(annotationGroupSelector);
|
|
@@ -85,11 +88,6 @@ function removeAnnotation(annotationUID) {
|
|
|
85
88
|
manager.removeAnnotation(annotationUID);
|
|
86
89
|
triggerAnnotationRemoved({ annotation, annotationManagerUID: manager.uid });
|
|
87
90
|
}
|
|
88
|
-
function getAnnotation(annotationUID) {
|
|
89
|
-
const manager = getAnnotationManager();
|
|
90
|
-
const annotation = manager.getAnnotation(annotationUID);
|
|
91
|
-
return annotation;
|
|
92
|
-
}
|
|
93
91
|
function removeAllAnnotations() {
|
|
94
92
|
const manager = getAnnotationManager();
|
|
95
93
|
const removedAnnotations = manager.removeAllAnnotations();
|
|
@@ -120,4 +118,4 @@ function invalidateAnnotation(annotation) {
|
|
|
120
118
|
: undefined;
|
|
121
119
|
}
|
|
122
120
|
}
|
|
123
|
-
export { getAllAnnotations, getAnnotations, getParentAnnotation, getChildAnnotations, clearParentAnnotation, addChildAnnotation, getNumberOfAnnotations, addAnnotation,
|
|
121
|
+
export { getAllAnnotations, getAnnotations, getParentAnnotation, getChildAnnotations, clearParentAnnotation, addChildAnnotation, getNumberOfAnnotations, addAnnotation, removeAnnotation, removeAnnotations, removeAllAnnotations, setAnnotationManager, getAnnotationManager, resetAnnotationManager, invalidateAnnotation, getAnnotation, };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { eventTarget, triggerEvent } from '@cornerstonejs/core';
|
|
2
|
-
import { getAnnotation } from './annotationState';
|
|
3
2
|
import { Events } from '../../enums';
|
|
4
3
|
import { isAnnotationSelected, deselectAnnotation, } from './annotationSelection';
|
|
4
|
+
import { getAnnotation } from './getAnnotation';
|
|
5
5
|
const globalHiddenAnnotationUIDsSet = new Set();
|
|
6
6
|
function setAnnotationVisibility(annotationUID, visible = true) {
|
|
7
7
|
const detail = makeEventDetail();
|