@cornerstonejs/tools 2.0.0-beta.21 → 2.0.0-beta.22
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 +2 -1
- package/dist/esm/index.js +2 -1
- 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 +0 -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 +2 -3
- package/dist/esm/tools/annotation/CircleROITool.js +7 -8
- package/dist/esm/tools/annotation/CobbAngleTool.js +1 -1
- package/dist/esm/tools/annotation/EllipticalROITool.js +5 -6
- package/dist/esm/tools/annotation/HeightTool.js +2 -3
- package/dist/esm/tools/annotation/KeyImageTool.js +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +2 -3
- 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.js +7 -7
- package/dist/esm/tools/annotation/ProbeTool.js +3 -4
- package/dist/esm/tools/annotation/RectangleROITool.js +5 -6
- package/dist/esm/tools/annotation/SplineROITool.js +7 -4
- 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/segmentation/BrushTool.js +10 -8
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +4 -5
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +7 -9
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/preview.js +4 -4
- 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/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/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,161 +0,0 @@
|
|
|
1
|
-
import { vec3 } from 'gl-matrix';
|
|
2
|
-
import { eventTarget, Enums, getRenderingEngine, CONSTANTS, getEnabledElementByViewportId, } from '@cornerstonejs/core';
|
|
3
|
-
import { Events as cstEvents } from '../enums';
|
|
4
|
-
import { AdvancedMagnifyViewport } from './AdvancedMagnifyViewport';
|
|
5
|
-
const ADVANCED_MAGNIFY_TOOL_NAME = 'AdvancedMagnify';
|
|
6
|
-
const PARALLEL_THRESHOLD = 1 - CONSTANTS.EPSILON;
|
|
7
|
-
const { Events } = Enums;
|
|
8
|
-
class AdvancedMagnifyViewportManager {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.createViewport = (annotation, viewportInfo) => {
|
|
11
|
-
const { magnifyViewportId, sourceEnabledElement, position, radius, zoomFactor, autoPan, } = viewportInfo;
|
|
12
|
-
const { viewport: sourceViewport } = sourceEnabledElement;
|
|
13
|
-
const { element: sourceElement } = sourceViewport;
|
|
14
|
-
const magnifyViewport = new AdvancedMagnifyViewport({
|
|
15
|
-
magnifyViewportId,
|
|
16
|
-
sourceEnabledElement,
|
|
17
|
-
radius,
|
|
18
|
-
position,
|
|
19
|
-
zoomFactor,
|
|
20
|
-
autoPan,
|
|
21
|
-
});
|
|
22
|
-
this._addSourceElementEventListener(sourceElement);
|
|
23
|
-
this._magnifyViewportsMap.set(magnifyViewport.viewportId, {
|
|
24
|
-
annotation,
|
|
25
|
-
magnifyViewport,
|
|
26
|
-
magnifyViewportInfo: viewportInfo,
|
|
27
|
-
});
|
|
28
|
-
return magnifyViewport;
|
|
29
|
-
};
|
|
30
|
-
this._annotationRemovedCallback = (evt) => {
|
|
31
|
-
const { annotation } = evt.detail;
|
|
32
|
-
if (annotation.metadata.toolName !== ADVANCED_MAGNIFY_TOOL_NAME) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
this.destroyViewport(annotation.data.magnifyViewportId);
|
|
36
|
-
};
|
|
37
|
-
this._newStackImageCallback = (evt) => {
|
|
38
|
-
const { viewportId: sourceViewportId, imageId } = evt.detail;
|
|
39
|
-
const magnifyViewportsMapEntries = this._getMagnifyViewportsMapEntriesBySourceViewportId(sourceViewportId);
|
|
40
|
-
const { viewport } = getEnabledElementByViewportId(sourceViewportId);
|
|
41
|
-
if (viewport.stackActorReInitialized) {
|
|
42
|
-
this._reset(sourceViewportId);
|
|
43
|
-
}
|
|
44
|
-
magnifyViewportsMapEntries.forEach(({ annotation }) => {
|
|
45
|
-
annotation.metadata.referencedImageId = imageId;
|
|
46
|
-
annotation.invalidated = true;
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
this._newVolumeImageCallback = (evt) => {
|
|
50
|
-
const { renderingEngineId, viewportId: sourceViewportId } = evt.detail;
|
|
51
|
-
const renderingEngine = getRenderingEngine(renderingEngineId);
|
|
52
|
-
const sourceViewport = renderingEngine.getViewport(sourceViewportId);
|
|
53
|
-
const { viewPlaneNormal: currentViewPlaneNormal } = sourceViewport.getCamera();
|
|
54
|
-
const magnifyViewportsMapEntries = this._getMagnifyViewportsMapEntriesBySourceViewportId(sourceViewportId);
|
|
55
|
-
magnifyViewportsMapEntries.forEach(({ annotation }) => {
|
|
56
|
-
const { viewPlaneNormal } = annotation.metadata;
|
|
57
|
-
const isParallel = Math.abs(vec3.dot(viewPlaneNormal, currentViewPlaneNormal)) >
|
|
58
|
-
PARALLEL_THRESHOLD;
|
|
59
|
-
if (!isParallel) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const { handles } = annotation.data;
|
|
63
|
-
const worldImagePlanePoint = sourceViewport.canvasToWorld([0, 0]);
|
|
64
|
-
const vecHandleToImagePlane = vec3.sub(vec3.create(), worldImagePlanePoint, handles.points[0]);
|
|
65
|
-
const worldDist = vec3.dot(vecHandleToImagePlane, currentViewPlaneNormal);
|
|
66
|
-
const worldDelta = vec3.scale(vec3.create(), currentViewPlaneNormal, worldDist);
|
|
67
|
-
for (let i = 0, len = handles.points.length; i < len; i++) {
|
|
68
|
-
const point = handles.points[i];
|
|
69
|
-
point[0] += worldDelta[0];
|
|
70
|
-
point[1] += worldDelta[1];
|
|
71
|
-
point[2] += worldDelta[2];
|
|
72
|
-
}
|
|
73
|
-
annotation.invalidated = true;
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
this._magnifyViewportsMap = new Map();
|
|
77
|
-
this._initialize();
|
|
78
|
-
}
|
|
79
|
-
static getInstance() {
|
|
80
|
-
AdvancedMagnifyViewportManager._singleton =
|
|
81
|
-
AdvancedMagnifyViewportManager._singleton ??
|
|
82
|
-
new AdvancedMagnifyViewportManager();
|
|
83
|
-
return AdvancedMagnifyViewportManager._singleton;
|
|
84
|
-
}
|
|
85
|
-
getViewport(magnifyViewportId) {
|
|
86
|
-
return this._magnifyViewportsMap.get(magnifyViewportId)?.magnifyViewport;
|
|
87
|
-
}
|
|
88
|
-
dispose() {
|
|
89
|
-
this._removeEventListeners();
|
|
90
|
-
this._destroyViewports();
|
|
91
|
-
}
|
|
92
|
-
destroyViewport(magnifyViewportId) {
|
|
93
|
-
const magnifyViewportMapEntry = this._magnifyViewportsMap.get(magnifyViewportId);
|
|
94
|
-
if (magnifyViewportMapEntry) {
|
|
95
|
-
const { magnifyViewport } = magnifyViewportMapEntry;
|
|
96
|
-
const { viewport: sourceViewport } = magnifyViewport.sourceEnabledElement;
|
|
97
|
-
const { element: sourceElement } = sourceViewport;
|
|
98
|
-
this._removeSourceElementEventListener(sourceElement);
|
|
99
|
-
magnifyViewport.dispose();
|
|
100
|
-
this._magnifyViewportsMap.delete(magnifyViewportId);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
_destroyViewports() {
|
|
104
|
-
const magnifyViewportIds = Array.from(this._magnifyViewportsMap.keys());
|
|
105
|
-
magnifyViewportIds.forEach((magnifyViewportId) => this.destroyViewport(magnifyViewportId));
|
|
106
|
-
}
|
|
107
|
-
_getMagnifyViewportsMapEntriesBySourceViewportId(sourceViewportId) {
|
|
108
|
-
const magnifyViewportsMapEntries = Array.from(this._magnifyViewportsMap.values());
|
|
109
|
-
return magnifyViewportsMapEntries.filter(({ magnifyViewport }) => {
|
|
110
|
-
const { viewport } = magnifyViewport.sourceEnabledElement;
|
|
111
|
-
return viewport.id === sourceViewportId;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
_reset(sourceViewportId) {
|
|
115
|
-
const magnifyViewports = this._getMagnifyViewportsMapEntriesBySourceViewportId(sourceViewportId);
|
|
116
|
-
magnifyViewports.forEach(({ magnifyViewport, annotation, magnifyViewportInfo }) => {
|
|
117
|
-
this.destroyViewport(magnifyViewport.viewportId);
|
|
118
|
-
const newEnabledElement = getEnabledElementByViewportId(sourceViewportId);
|
|
119
|
-
this.createViewport(annotation, {
|
|
120
|
-
...magnifyViewportInfo,
|
|
121
|
-
sourceEnabledElement: {
|
|
122
|
-
...newEnabledElement,
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
_addEventListeners() {
|
|
128
|
-
eventTarget.addEventListener(cstEvents.ANNOTATION_REMOVED, this._annotationRemovedCallback);
|
|
129
|
-
}
|
|
130
|
-
_removeEventListeners() {
|
|
131
|
-
eventTarget.removeEventListener(cstEvents.ANNOTATION_REMOVED, this._annotationRemovedCallback);
|
|
132
|
-
}
|
|
133
|
-
_addSourceElementEventListener(element) {
|
|
134
|
-
element.addEventListener(Events.STACK_NEW_IMAGE, this._newStackImageCallback);
|
|
135
|
-
const newStackHandler = (evt) => {
|
|
136
|
-
const { viewportId: sourceViewportId } = evt.detail;
|
|
137
|
-
this._reset(sourceViewportId);
|
|
138
|
-
};
|
|
139
|
-
element.addEventListener(Events.STACK_VIEWPORT_NEW_STACK, newStackHandler);
|
|
140
|
-
const newVolumeHandler = (evt) => {
|
|
141
|
-
const { viewportId: sourceViewportId } = evt.detail;
|
|
142
|
-
this._reset(sourceViewportId);
|
|
143
|
-
};
|
|
144
|
-
element.addEventListener(Events.VOLUME_VIEWPORT_NEW_VOLUME, newVolumeHandler);
|
|
145
|
-
element.addEventListener(Events.VOLUME_NEW_IMAGE, this._newVolumeImageCallback);
|
|
146
|
-
element.newStackHandler = newStackHandler;
|
|
147
|
-
element.newVolumeHandler = newVolumeHandler;
|
|
148
|
-
}
|
|
149
|
-
_removeSourceElementEventListener(element) {
|
|
150
|
-
element.removeEventListener(Events.STACK_NEW_IMAGE, this._newStackImageCallback);
|
|
151
|
-
element.removeEventListener(Events.VOLUME_NEW_IMAGE, this._newVolumeImageCallback);
|
|
152
|
-
element.removeEventListener(Events.STACK_VIEWPORT_NEW_STACK, element.newStackHandler);
|
|
153
|
-
element.removeEventListener(Events.VOLUME_VIEWPORT_NEW_VOLUME, element.newVolumeHandler);
|
|
154
|
-
delete element.newStackHandler;
|
|
155
|
-
delete element.newVolumeHandler;
|
|
156
|
-
}
|
|
157
|
-
_initialize() {
|
|
158
|
-
this._addEventListeners();
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
export { AdvancedMagnifyViewportManager as default, AdvancedMagnifyViewportManager, };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { segmentationRenderingEngine } from '../../stateManagement/segmentation/SegmentationRenderingEngine';
|
|
2
|
-
function triggerSegmentationRender(viewportId) {
|
|
3
|
-
segmentationRenderingEngine.renderSegmentationsForViewport(viewportId);
|
|
4
|
-
}
|
|
5
|
-
function triggerSegmentationRenderBySegmentationId(segmentationId) {
|
|
6
|
-
segmentationRenderingEngine.renderSegmentation(segmentationId);
|
|
7
|
-
}
|
|
8
|
-
export { triggerSegmentationRender, triggerSegmentationRenderBySegmentationId };
|