@cornerstonejs/tools 2.0.0-beta.10 → 2.0.0-beta.11

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.
Files changed (203) hide show
  1. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +1 -1
  2. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
  3. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +2 -4
  4. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
  5. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +1 -1
  6. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
  7. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +2 -5
  8. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  9. package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
  10. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +1 -2
  11. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  12. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js +3 -4
  13. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
  14. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  15. package/dist/esm/store/state.js.map +1 -1
  16. package/dist/esm/tools/AdvancedMagnifyTool.js +8 -20
  17. package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -1
  18. package/dist/esm/tools/AdvancedMagnifyViewport.js +2 -2
  19. package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -1
  20. package/dist/esm/tools/CrosshairsTool.js +12 -9
  21. package/dist/esm/tools/CrosshairsTool.js.map +1 -1
  22. package/dist/esm/tools/MagnifyTool.js +2 -2
  23. package/dist/esm/tools/MagnifyTool.js.map +1 -1
  24. package/dist/esm/tools/OverlayGridTool.js +2 -2
  25. package/dist/esm/tools/OverlayGridTool.js.map +1 -1
  26. package/dist/esm/tools/PlanarRotateTool.js +2 -2
  27. package/dist/esm/tools/PlanarRotateTool.js.map +1 -1
  28. package/dist/esm/tools/ReferenceCursors.js +2 -3
  29. package/dist/esm/tools/ReferenceCursors.js.map +1 -1
  30. package/dist/esm/tools/ReferenceLinesTool.js +1 -1
  31. package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
  32. package/dist/esm/tools/SculptorTool.js +1 -1
  33. package/dist/esm/tools/SculptorTool.js.map +1 -1
  34. package/dist/esm/tools/SegmentationIntersectionTool.js +1 -1
  35. package/dist/esm/tools/SegmentationIntersectionTool.js.map +1 -1
  36. package/dist/esm/tools/WindowLevelRegionTool.js +3 -3
  37. package/dist/esm/tools/WindowLevelRegionTool.js.map +1 -1
  38. package/dist/esm/tools/annotation/AngleTool.js +6 -8
  39. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  40. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +8 -10
  41. package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  42. package/dist/esm/tools/annotation/BidirectionalTool.js +7 -8
  43. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  44. package/dist/esm/tools/annotation/CircleROITool.js +7 -8
  45. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  46. package/dist/esm/tools/annotation/CobbAngleTool.js +6 -6
  47. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  48. package/dist/esm/tools/annotation/DragProbeTool.js +1 -1
  49. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  50. package/dist/esm/tools/annotation/EllipticalROITool.js +7 -9
  51. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  52. package/dist/esm/tools/annotation/KeyImageTool.js +4 -4
  53. package/dist/esm/tools/annotation/KeyImageTool.js.map +1 -1
  54. package/dist/esm/tools/annotation/LengthTool.js +6 -8
  55. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  56. package/dist/esm/tools/annotation/LivewireContourTool.js +9 -11
  57. package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
  58. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -1
  59. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  60. package/dist/esm/tools/annotation/ProbeTool.js +5 -6
  61. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  62. package/dist/esm/tools/annotation/RectangleROITool.js +6 -7
  63. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  64. package/dist/esm/tools/annotation/SplineROITool.js +10 -10
  65. package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
  66. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +5 -7
  67. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js.map +1 -1
  68. package/dist/esm/tools/annotation/VideoRedactionTool.js +6 -14
  69. package/dist/esm/tools/annotation/VideoRedactionTool.js.map +1 -1
  70. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +3 -3
  71. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  72. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +4 -4
  73. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  74. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +3 -3
  75. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  76. package/dist/esm/tools/segmentation/BrushTool.js +4 -5
  77. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  78. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +2 -2
  79. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js.map +1 -1
  80. package/dist/esm/tools/segmentation/CircleScissorsTool.js +2 -2
  81. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  82. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +2 -2
  83. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  84. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +1 -1
  85. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  86. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +2 -2
  87. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  88. package/dist/esm/tools/segmentation/SegmentSelectTool.js +1 -1
  89. package/dist/esm/tools/segmentation/SegmentSelectTool.js.map +1 -1
  90. package/dist/esm/tools/segmentation/SphereScissorsTool.js +2 -2
  91. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  92. package/dist/esm/utilities/contours/AnnotationToPointData.js +1 -1
  93. package/dist/esm/utilities/contours/AnnotationToPointData.js.map +1 -1
  94. package/dist/esm/utilities/dynamicVolume/getDataInTime.js +4 -4
  95. package/dist/esm/utilities/scroll.js +1 -1
  96. package/dist/esm/utilities/scroll.js.map +1 -1
  97. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +1 -1
  98. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js.map +1 -1
  99. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +1 -1
  100. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js.map +1 -1
  101. package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +1 -1
  102. package/dist/esm/utilities/segmentation/invalidateBrushCursor.js.map +1 -1
  103. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +0 -3
  104. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -1
  105. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +0 -3
  106. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  107. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js +4 -3
  108. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -1
  109. package/dist/types/eventListeners/annotations/annotationModifiedListener.d.ts.map +1 -1
  110. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts.map +1 -1
  111. package/dist/types/eventListeners/keyboard/keyDownListener.d.ts.map +1 -1
  112. package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts.map +1 -1
  113. package/dist/types/stateManagement/segmentation/addSegmentationRepresentation.d.ts.map +1 -1
  114. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts.map +1 -1
  115. package/dist/types/store/state.d.ts.map +1 -1
  116. package/dist/types/tools/AdvancedMagnifyTool.d.ts.map +1 -1
  117. package/dist/types/tools/CrosshairsTool.d.ts.map +1 -1
  118. package/dist/types/tools/OverlayGridTool.d.ts.map +1 -1
  119. package/dist/types/tools/PlanarRotateTool.d.ts.map +1 -1
  120. package/dist/types/tools/ReferenceCursors.d.ts.map +1 -1
  121. package/dist/types/tools/ReferenceLinesTool.d.ts.map +1 -1
  122. package/dist/types/tools/SculptorTool.d.ts.map +1 -1
  123. package/dist/types/tools/SegmentationIntersectionTool.d.ts.map +1 -1
  124. package/dist/types/tools/annotation/AngleTool.d.ts.map +1 -1
  125. package/dist/types/tools/annotation/ArrowAnnotateTool.d.ts.map +1 -1
  126. package/dist/types/tools/annotation/BidirectionalTool.d.ts.map +1 -1
  127. package/dist/types/tools/annotation/CircleROITool.d.ts.map +1 -1
  128. package/dist/types/tools/annotation/EllipticalROITool.d.ts.map +1 -1
  129. package/dist/types/tools/annotation/KeyImageTool.d.ts.map +1 -1
  130. package/dist/types/tools/annotation/LengthTool.d.ts.map +1 -1
  131. package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
  132. package/dist/types/tools/annotation/ProbeTool.d.ts.map +1 -1
  133. package/dist/types/tools/annotation/RectangleROITool.d.ts.map +1 -1
  134. package/dist/types/tools/annotation/UltrasoundDirectionalTool.d.ts.map +1 -1
  135. package/dist/types/tools/annotation/VideoRedactionTool.d.ts.map +1 -1
  136. package/dist/types/tools/segmentation/BrushTool.d.ts.map +1 -1
  137. package/dist/types/tools/segmentation/CircleROIStartEndThresholdTool.d.ts.map +1 -1
  138. package/dist/types/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts.map +1 -1
  139. package/dist/types/utilities/dynamicVolume/getDataInTime.d.ts +1 -1
  140. package/dist/types/utilities/stackPrefetch/stackContextPrefetch.d.ts.map +1 -1
  141. package/dist/types/utilities/stackPrefetch/stackPrefetch.d.ts.map +1 -1
  142. package/dist/types/utilities/triggerAnnotationRenderForViewportIds.d.ts +1 -2
  143. package/dist/types/utilities/triggerAnnotationRenderForViewportIds.d.ts.map +1 -1
  144. package/dist/umd/index.js +1 -1
  145. package/dist/umd/index.js.map +1 -1
  146. package/package.json +3 -3
  147. package/src/eventDispatchers/annotationModifiedEventDispatcher.ts +1 -1
  148. package/src/eventListeners/annotations/annotationModifiedListener.ts +2 -4
  149. package/src/eventListeners/annotations/annotationSelectionListener.ts +1 -1
  150. package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +2 -5
  151. package/src/eventListeners/keyboard/keyDownListener.ts +0 -1
  152. package/src/stateManagement/segmentation/SegmentationStateManager.ts +1 -2
  153. package/src/stateManagement/segmentation/addSegmentationRepresentation.ts +3 -4
  154. package/src/store/ToolGroupManager/ToolGroup.ts +0 -1
  155. package/src/store/state.ts +0 -1
  156. package/src/tools/AdvancedMagnifyTool.ts +8 -25
  157. package/src/tools/AdvancedMagnifyViewport.ts +2 -2
  158. package/src/tools/CrosshairsTool.ts +7 -15
  159. package/src/tools/MagnifyTool.ts +2 -2
  160. package/src/tools/OverlayGridTool.ts +0 -1
  161. package/src/tools/PlanarRotateTool.ts +4 -2
  162. package/src/tools/ReferenceCursors.ts +2 -3
  163. package/src/tools/ReferenceLinesTool.ts +0 -1
  164. package/src/tools/SculptorTool.ts +1 -4
  165. package/src/tools/SegmentationIntersectionTool.ts +0 -1
  166. package/src/tools/WindowLevelRegionTool.ts +3 -3
  167. package/src/tools/annotation/AngleTool.ts +6 -12
  168. package/src/tools/annotation/ArrowAnnotateTool.ts +8 -21
  169. package/src/tools/annotation/BidirectionalTool.ts +7 -12
  170. package/src/tools/annotation/CircleROITool.ts +7 -12
  171. package/src/tools/annotation/CobbAngleTool.ts +6 -6
  172. package/src/tools/annotation/DragProbeTool.ts +1 -1
  173. package/src/tools/annotation/EllipticalROITool.ts +7 -15
  174. package/src/tools/annotation/KeyImageTool.ts +4 -10
  175. package/src/tools/annotation/LengthTool.ts +6 -12
  176. package/src/tools/annotation/LivewireContourTool.ts +9 -17
  177. package/src/tools/annotation/PlanarFreehandROITool.ts +1 -1
  178. package/src/tools/annotation/ProbeTool.ts +5 -10
  179. package/src/tools/annotation/RectangleROITool.ts +6 -11
  180. package/src/tools/annotation/SplineROITool.ts +10 -10
  181. package/src/tools/annotation/UltrasoundDirectionalTool.ts +5 -11
  182. package/src/tools/annotation/VideoRedactionTool.ts +6 -35
  183. package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +3 -3
  184. package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +4 -4
  185. package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +3 -3
  186. package/src/tools/segmentation/BrushTool.ts +4 -14
  187. package/src/tools/segmentation/CircleROIStartEndThresholdTool.ts +2 -5
  188. package/src/tools/segmentation/CircleScissorsTool.ts +2 -2
  189. package/src/tools/segmentation/RectangleROIStartEndThresholdTool.ts +2 -5
  190. package/src/tools/segmentation/RectangleROIThresholdTool.ts +1 -1
  191. package/src/tools/segmentation/RectangleScissorsTool.ts +2 -2
  192. package/src/tools/segmentation/SegmentSelectTool.ts +1 -1
  193. package/src/tools/segmentation/SphereScissorsTool.ts +2 -2
  194. package/src/utilities/contours/AnnotationToPointData.ts +1 -1
  195. package/src/utilities/dynamicVolume/getDataInTime.ts +9 -9
  196. package/src/utilities/getModalityUnit.ts +1 -1
  197. package/src/utilities/scroll.ts +1 -1
  198. package/src/utilities/segmentation/brushSizeForToolGroup.ts +1 -1
  199. package/src/utilities/segmentation/brushThresholdForToolGroup.ts +1 -1
  200. package/src/utilities/segmentation/invalidateBrushCursor.ts +1 -1
  201. package/src/utilities/stackPrefetch/stackContextPrefetch.ts +0 -3
  202. package/src/utilities/stackPrefetch/stackPrefetch.ts +0 -3
  203. package/src/utilities/triggerAnnotationRenderForViewportIds.ts +3 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "2.0.0-beta.10",
3
+ "version": "2.0.0-beta.11",
4
4
  "description": "Cornerstone3D Tools",
5
5
  "main": "src/index.ts",
6
6
  "types": "dist/types/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
36
36
  },
37
37
  "dependencies": {
38
- "@cornerstonejs/core": "^2.0.0-beta.10",
38
+ "@cornerstonejs/core": "^2.0.0-beta.11",
39
39
  "@icr/polyseg-wasm": "0.4.0",
40
40
  "@types/offscreencanvas": "2019.7.3",
41
41
  "comlink": "^4.4.1",
@@ -65,5 +65,5 @@
65
65
  "type": "individual",
66
66
  "url": "https://ohif.org/donate"
67
67
  },
68
- "gitHead": "134ced7eda99db84aaeb01fe15327b9607110b25"
68
+ "gitHead": "03dda9f60abcef9bd7e6fdb4a77df7cf7fc25595"
69
69
  }
@@ -18,7 +18,7 @@ import { AnnotationModifiedEventType } from '../types/EventTypes';
18
18
  const onAnnotationModified = function (evt: AnnotationModifiedEventType) {
19
19
  const { viewportId, renderingEngineId } = evt.detail;
20
20
  const renderingEngine = getRenderingEngine(renderingEngineId);
21
- triggerAnnotationRenderForViewportIds(renderingEngine, [viewportId]);
21
+ triggerAnnotationRenderForViewportIds([viewportId]);
22
22
  };
23
23
 
24
24
  const enable = function () {
@@ -1,4 +1,3 @@
1
- import { getRenderingEngine } from '@cornerstonejs/core';
2
1
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
3
2
 
4
3
  /**
@@ -14,9 +13,8 @@ import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnota
14
13
  * no svg update happens since the attributes for handles are the same)
15
14
  */
16
15
  function annotationModifiedListener(evt): void {
17
- const { viewportId, renderingEngineId } = evt.detail;
18
- const renderingEngine = getRenderingEngine(renderingEngineId);
19
- triggerAnnotationRenderForViewportIds(renderingEngine, [viewportId]);
16
+ const { viewportId } = evt.detail;
17
+ triggerAnnotationRenderForViewportIds([viewportId]);
20
18
  }
21
19
 
22
20
  export default annotationModifiedListener;
@@ -22,7 +22,7 @@ function annotationSelectionListener(evt): void {
22
22
  renderingEngines.forEach((renderingEngine) => {
23
23
  const viewports = renderingEngine.getViewports();
24
24
  const viewportIds = viewports.map((vp) => vp.id);
25
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIds);
25
+ triggerAnnotationRenderForViewportIds(viewportIds);
26
26
  });
27
27
  }
28
28
 
@@ -237,8 +237,6 @@ export function createPolylineHole(
237
237
  );
238
238
 
239
239
  const { element } = viewport;
240
- const enabledElement = getEnabledElement(element);
241
- const { renderingEngine } = enabledElement;
242
240
 
243
241
  // Updating a Spline contours, for example, should also update freehand contours
244
242
  const updatedToolNames = new Set([
@@ -252,7 +250,7 @@ export function createPolylineHole(
252
250
  element,
253
251
  toolName
254
252
  );
255
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
253
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
256
254
  }
257
255
  }
258
256
 
@@ -430,7 +428,6 @@ function combinePolylines(
430
428
  function updateViewports(enabledElement, targetAnnotation, sourceAnnotation) {
431
429
  const { viewport } = enabledElement;
432
430
  const { element } = viewport;
433
- const { renderingEngine } = enabledElement;
434
431
 
435
432
  const updatedTtoolNames = new Set([
436
433
  DEFAULT_CONTOUR_SEG_TOOLNAME,
@@ -443,7 +440,7 @@ function updateViewports(enabledElement, targetAnnotation, sourceAnnotation) {
443
440
  element,
444
441
  toolName
445
442
  );
446
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
443
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
447
444
  }
448
445
 
449
446
  return new Promise((resolve) => window.requestAnimationFrame(resolve));
@@ -1,5 +1,4 @@
1
1
  import { getEnabledElement, triggerEvent } from '@cornerstonejs/core';
2
- import cloneDeep from 'lodash.clonedeep';
3
2
  import Events from '../../enums/Events';
4
3
  import { KeyDownEventDetail, KeyUpEventDetail } from '../../types/EventTypes';
5
4
 
@@ -1,4 +1,3 @@
1
- import cloneDeep from 'lodash.clonedeep';
2
1
  import type { Types } from '@cornerstonejs/core';
3
2
  import { utilities as csUtils } from '@cornerstonejs/core';
4
3
 
@@ -450,7 +449,7 @@ export default class SegmentationStateManager {
450
449
  console.warn('Color LUT table already exists, overwriting');
451
450
  }
452
451
 
453
- this.state.colorLUT[lutIndex] = cloneDeep(colorLUT);
452
+ this.state.colorLUT[lutIndex] = structuredClone(colorLUT);
454
453
  }
455
454
 
456
455
  /**
@@ -1,4 +1,4 @@
1
- import { getRenderingEngine, utilities } from '@cornerstonejs/core';
1
+ import { utilities } from '@cornerstonejs/core';
2
2
  import type { Types } from '@cornerstonejs/core';
3
3
  import {
4
4
  SegmentationRepresentationConfig,
@@ -79,9 +79,8 @@ async function addSegmentationRepresentation(
79
79
  if (representationInput.type === SegmentationRepresentations.Contour) {
80
80
  getToolGroup(toolGroupId)
81
81
  .getViewportsInfo()
82
- .forEach(({ viewportId, renderingEngineId }) => {
83
- const renderingEngine = getRenderingEngine(renderingEngineId);
84
- triggerAnnotationRenderForViewportIds(renderingEngine, [viewportId]);
82
+ .forEach(({ viewportId }) => {
83
+ triggerAnnotationRenderForViewportIds([viewportId]);
85
84
  });
86
85
  }
87
86
 
@@ -1,6 +1,5 @@
1
1
  import { MouseBindings, ToolModes } from '../../enums';
2
2
  import get from 'lodash.get';
3
- import cloneDeep from 'lodash.clonedeep';
4
3
  import {
5
4
  triggerEvent,
6
5
  eventTarget,
@@ -1,7 +1,6 @@
1
1
  import { IToolGroup, IToolClassReference } from '../types';
2
2
  import Synchronizer from './SynchronizerManager/Synchronizer';
3
3
  import svgNodeCache, { resetSvgNodeCache } from './svgNodeCache';
4
- import cloneDeep from 'lodash.clonedeep';
5
4
 
6
5
  interface ICornerstoneTools3dState {
7
6
  isInteractingWithTool: boolean;
@@ -186,7 +186,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
186
186
  );
187
187
 
188
188
  evt.preventDefault();
189
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
189
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
190
190
 
191
191
  return annotation;
192
192
  };
@@ -267,10 +267,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
267
267
 
268
268
  this._activateModify(element);
269
269
 
270
- const enabledElement = getEnabledElement(element);
271
- const { renderingEngine } = enabledElement;
272
-
273
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
270
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
274
271
 
275
272
  evt.preventDefault();
276
273
  };
@@ -304,10 +301,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
304
301
 
305
302
  hideElementCursor(element);
306
303
 
307
- const enabledElement = getEnabledElement(element);
308
- const { renderingEngine } = enabledElement;
309
-
310
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
304
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
311
305
 
312
306
  evt.preventDefault();
313
307
  };
@@ -325,13 +319,10 @@ class AdvancedMagnifyTool extends AnnotationTool {
325
319
 
326
320
  resetElementCursor(element);
327
321
 
328
- const enabledElement = getEnabledElement(element);
329
- const { renderingEngine } = enabledElement;
330
-
331
322
  this.editData = null;
332
323
  this.isDrawing = false;
333
324
 
334
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
325
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
335
326
 
336
327
  if (newAnnotation) {
337
328
  triggerAnnotationCompleted(annotation);
@@ -341,10 +332,8 @@ class AdvancedMagnifyTool extends AnnotationTool {
341
332
  _dragDrawCallback = (evt: EventTypes.InteractionEventType): void => {
342
333
  this.isDrawing = true;
343
334
  const eventDetail = evt.detail;
344
- const { element, deltaPoints } = eventDetail;
335
+ const { deltaPoints } = eventDetail;
345
336
  const canvasDelta = deltaPoints?.canvas ?? [0, 0, 0];
346
- const enabledElement = getEnabledElement(element);
347
- const { renderingEngine } = enabledElement;
348
337
 
349
338
  const { annotation, viewportIdsToRender } = this.editData;
350
339
  const { points } = annotation.data.handles;
@@ -357,7 +346,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
357
346
  annotation.invalidated = true;
358
347
  this.editData.hasMoved = true;
359
348
 
360
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
349
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
361
350
  };
362
351
 
363
352
  _dragModifyCallback = (evt: EventTypes.InteractionEventType): void => {
@@ -385,10 +374,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
385
374
  annotation.invalidated = true;
386
375
  }
387
376
 
388
- const enabledElement = getEnabledElement(element);
389
- const { renderingEngine } = enabledElement;
390
-
391
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
377
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
392
378
  };
393
379
 
394
380
  _dragHandle = (evt: EventTypes.InteractionEventType): void => {
@@ -442,10 +428,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
442
428
  annotation.highlighted = false;
443
429
  data.handles.activeHandleIndex = null;
444
430
 
445
- const enabledElement = getEnabledElement(element);
446
- const { renderingEngine } = enabledElement;
447
-
448
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
431
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
449
432
 
450
433
  if (newAnnotation) {
451
434
  triggerAnnotationCompleted(annotation);
@@ -26,7 +26,7 @@ const MAGNIFY_CLASSNAME = 'advancedMagnifyTool';
26
26
  const MAGNIFY_VIEWPORT_INITIAL_RADIUS = 125;
27
27
 
28
28
  // TODO: find a better to identify segmentation actors
29
- const isSegmentation = (actor) => actor.uid !== actor.referenceId;
29
+ const isSegmentation = (actor) => actor.uid !== actor.referencedId;
30
30
 
31
31
  export type AutoPanCallbackData = {
32
32
  points: {
@@ -291,7 +291,7 @@ class AdvancedMagnifyViewport {
291
291
  sourceActors.filter(isSegmentation).forEach((actor) => {
292
292
  segmentation.addSegmentationRepresentations(magnifyToolGroupId, [
293
293
  {
294
- segmentationId: actor.referenceId,
294
+ segmentationId: actor.referencedId,
295
295
  type: SegmentationRepresentations.Labelmap,
296
296
  },
297
297
  ]);
@@ -303,19 +303,19 @@ class CrosshairsTool extends AnnotationTool {
303
303
  viewportId,
304
304
  renderingEngineId
305
305
  );
306
- const { viewport } = enabledElement;
306
+ const viewport = enabledElement.viewport as Types.IVolumeViewport;
307
307
  const resetPan = true;
308
308
  const resetZoom = true;
309
309
  const resetToCenter = true;
310
310
  const resetRotation = true;
311
- const supressEvents = true;
312
- viewport.resetCamera(
311
+ const suppressEvents = true;
312
+ viewport.resetCamera({
313
313
  resetPan,
314
314
  resetZoom,
315
315
  resetToCenter,
316
316
  resetRotation,
317
- supressEvents
318
- );
317
+ suppressEvents,
318
+ });
319
319
  (viewport as Types.IVolumeViewport).resetSlabThickness();
320
320
  const { element } = viewport;
321
321
  let annotations = this._getAnnotations(enabledElement);
@@ -387,13 +387,8 @@ class CrosshairsTool extends AnnotationTool {
387
387
  this.toolCenter = csUtils.planar.threePlaneIntersection(firstPlane, secondPlane, thirdPlane)
388
388
 
389
389
  // assuming all viewports are in the same rendering engine
390
- const { renderingEngine } = getEnabledElementByIds(
391
- viewportsInfo[0].viewportId,
392
- viewportsInfo[0].renderingEngineId
393
- );
394
390
 
395
391
  triggerAnnotationRenderForViewportIds(
396
- renderingEngine,
397
392
  viewportsInfo.map(({ viewportId }) => viewportId)
398
393
  );
399
394
  };
@@ -680,7 +675,7 @@ class CrosshairsTool extends AnnotationTool {
680
675
  requireSameOrientation
681
676
  );
682
677
 
683
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
678
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
684
679
  };
685
680
 
686
681
  onResetCamera = (evt) => {
@@ -1995,9 +1990,6 @@ class CrosshairsTool extends AnnotationTool {
1995
1990
 
1996
1991
  this.editData = null;
1997
1992
 
1998
- const enabledElement = getEnabledElement(element);
1999
- const { renderingEngine } = enabledElement;
2000
-
2001
1993
  const requireSameOrientation = false;
2002
1994
  const viewportIdsToRender = getViewportIdsWithToolToRender(
2003
1995
  element,
@@ -2005,7 +1997,7 @@ class CrosshairsTool extends AnnotationTool {
2005
1997
  requireSameOrientation
2006
1998
  );
2007
1999
 
2008
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
2000
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
2009
2001
  };
2010
2002
 
2011
2003
  _dragCallback = (evt: EventTypes.InteractionEventType) => {
@@ -96,7 +96,7 @@ class MagnifyTool extends BaseTool {
96
96
 
97
97
  evt.preventDefault();
98
98
 
99
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
99
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
100
100
 
101
101
  return true;
102
102
  };
@@ -197,7 +197,7 @@ class MagnifyTool extends BaseTool {
197
197
  });
198
198
 
199
199
  magnifyToolElement.style.display = 'block';
200
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
200
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
201
201
  };
202
202
 
203
203
  _dragCallback = (evt: EventTypes.InteractionEventType) => {
@@ -123,7 +123,6 @@ class OverlayGridTool extends AnnotationDisplayTool {
123
123
  }
124
124
 
125
125
  triggerAnnotationRenderForViewportIds(
126
- getRenderingEngine(viewportsInfo[0].renderingEngineId),
127
126
  viewportsInfo.map(({ viewportId }) => viewportId)
128
127
  );
129
128
  };
@@ -67,8 +67,10 @@ class PlanarRotateTool extends BaseTool {
67
67
  const rotatedViewUp = vec3.transformMat4(vec3.create(), viewUp, rotMat);
68
68
  viewport.setCamera({ viewUp: rotatedViewUp as Types.Point3 });
69
69
  } else {
70
- const { rotation } = (viewport as Types.IStackViewport).getProperties();
71
- viewport.setProperties({ rotation: rotation + angle });
70
+ const { rotation } = (
71
+ viewport as Types.IStackViewport
72
+ ).getViewPresentation();
73
+ viewport.setViewPresentation({ rotation: rotation + angle });
72
74
  }
73
75
 
74
76
  viewport.render();
@@ -212,7 +212,7 @@ class ReferenceCursors extends AnnotationDisplayTool {
212
212
  false
213
213
  );
214
214
 
215
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
215
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
216
216
  };
217
217
 
218
218
  getActiveAnnotation(element: HTMLDivElement): null | Annotation {
@@ -250,8 +250,7 @@ class ReferenceCursors extends AnnotationDisplayTool {
250
250
  if (!enabledElement) {
251
251
  return;
252
252
  }
253
- const { renderingEngine } = enabledElement;
254
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
253
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
255
254
  }
256
255
 
257
256
  //checks if we need to update the annotation position due to camera changes
@@ -115,7 +115,6 @@ class ReferenceLines extends AnnotationDisplayTool {
115
115
  };
116
116
 
117
117
  triggerAnnotationRenderForViewportIds(
118
- renderingEngine,
119
118
  viewports
120
119
  .filter((viewport) => viewport.id !== sourceViewport.id)
121
120
  .map((viewport) => viewport.id)
@@ -209,10 +209,7 @@ class SculptorTool extends BaseTool {
209
209
  cursorShape.updateToolSize(canvasCoords, viewport, activeAnnotation);
210
210
  }
211
211
 
212
- triggerAnnotationRenderForViewportIds(
213
- renderingEngine,
214
- this.commonData.viewportIdsToRender
215
- );
212
+ triggerAnnotationRenderForViewportIds(this.commonData.viewportIdsToRender);
216
213
  }
217
214
 
218
215
  /**
@@ -80,7 +80,6 @@ class SegmentationIntersectionTool extends AnnotationDisplayTool {
80
80
  }
81
81
 
82
82
  triggerAnnotationRenderForViewportIds(
83
- getRenderingEngine(viewportsInfo[0].renderingEngineId),
84
83
  viewportsInfo.map(({ viewportId }) => viewportId)
85
84
  );
86
85
  };
@@ -131,7 +131,7 @@ class WindowLevelRegionTool extends AnnotationTool {
131
131
 
132
132
  evt.preventDefault();
133
133
 
134
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
134
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
135
135
 
136
136
  return annotation;
137
137
  };
@@ -153,7 +153,7 @@ class WindowLevelRegionTool extends AnnotationTool {
153
153
 
154
154
  removeAnnotation(annotation.annotationUID);
155
155
 
156
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
156
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
157
157
 
158
158
  triggerAnnotationCompleted(annotation);
159
159
 
@@ -199,7 +199,7 @@ class WindowLevelRegionTool extends AnnotationTool {
199
199
 
200
200
  const { renderingEngine } = enabledElement;
201
201
 
202
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
202
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
203
203
  };
204
204
 
205
205
  /**
@@ -169,7 +169,7 @@ class AngleTool extends AnnotationTool {
169
169
 
170
170
  evt.preventDefault();
171
171
 
172
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
172
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
173
173
 
174
174
  return annotation;
175
175
  };
@@ -275,7 +275,7 @@ class AngleTool extends AnnotationTool {
275
275
  const enabledElement = getEnabledElement(element);
276
276
  const { renderingEngine } = enabledElement;
277
277
 
278
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
278
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
279
279
 
280
280
  evt.preventDefault();
281
281
  };
@@ -319,7 +319,7 @@ class AngleTool extends AnnotationTool {
319
319
  const enabledElement = getEnabledElement(element);
320
320
  const { renderingEngine } = enabledElement;
321
321
 
322
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
322
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
323
323
 
324
324
  evt.preventDefault();
325
325
  }
@@ -363,7 +363,7 @@ class AngleTool extends AnnotationTool {
363
363
  removeAnnotation(annotation.annotationUID);
364
364
  }
365
365
 
366
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
366
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
367
367
 
368
368
  if (newAnnotation) {
369
369
  triggerAnnotationCompleted(annotation);
@@ -422,7 +422,7 @@ class AngleTool extends AnnotationTool {
422
422
  const enabledElement = getEnabledElement(element);
423
423
  const { renderingEngine } = enabledElement;
424
424
 
425
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
425
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
426
426
  };
427
427
 
428
428
  cancel = (element: HTMLDivElement) => {
@@ -439,13 +439,7 @@ class AngleTool extends AnnotationTool {
439
439
  annotation.highlighted = false;
440
440
  data.handles.activeHandleIndex = null;
441
441
 
442
- const enabledElement = getEnabledElement(element);
443
- const { renderingEngine } = enabledElement;
444
-
445
- triggerAnnotationRenderForViewportIds(
446
- renderingEngine,
447
- viewportIdsToRender
448
- );
442
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
449
443
 
450
444
  if (newAnnotation) {
451
445
  triggerAnnotationCompleted(annotation);
@@ -159,7 +159,7 @@ class ArrowAnnotateTool extends AnnotationTool {
159
159
 
160
160
  evt.preventDefault();
161
161
 
162
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
162
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
163
163
 
164
164
  return annotation;
165
165
  };
@@ -239,7 +239,7 @@ class ArrowAnnotateTool extends AnnotationTool {
239
239
  const enabledElement = getEnabledElement(element);
240
240
  const { renderingEngine } = enabledElement;
241
241
 
242
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
242
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
243
243
 
244
244
  evt.preventDefault();
245
245
  };
@@ -283,7 +283,7 @@ class ArrowAnnotateTool extends AnnotationTool {
283
283
  const enabledElement = getEnabledElement(element);
284
284
  const { renderingEngine } = enabledElement;
285
285
 
286
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
286
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
287
287
 
288
288
  evt.preventDefault();
289
289
  }
@@ -308,8 +308,6 @@ class ArrowAnnotateTool extends AnnotationTool {
308
308
  this._deactivateDraw(element);
309
309
  resetElementCursor(element);
310
310
 
311
- const { renderingEngine } = getEnabledElement(element);
312
-
313
311
  if (
314
312
  this.isHandleOutsideImage &&
315
313
  this.configuration.preventHandleOutsideImage
@@ -321,10 +319,7 @@ class ArrowAnnotateTool extends AnnotationTool {
321
319
  this.configuration.getTextCallback((text) => {
322
320
  if (!text) {
323
321
  removeAnnotation(annotation.annotationUID);
324
- triggerAnnotationRenderForViewportIds(
325
- renderingEngine,
326
- viewportIdsToRender
327
- );
322
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
328
323
  this.editData = null;
329
324
  this.isDrawing = false;
330
325
  return;
@@ -333,10 +328,7 @@ class ArrowAnnotateTool extends AnnotationTool {
333
328
 
334
329
  triggerAnnotationCompleted(annotation);
335
330
 
336
- triggerAnnotationRenderForViewportIds(
337
- renderingEngine,
338
- viewportIdsToRender
339
- );
331
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
340
332
  });
341
333
  } else {
342
334
  triggerAnnotationModified(annotation, element);
@@ -395,7 +387,7 @@ class ArrowAnnotateTool extends AnnotationTool {
395
387
  const enabledElement = getEnabledElement(element);
396
388
  const { renderingEngine } = enabledElement;
397
389
 
398
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
390
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
399
391
  };
400
392
 
401
393
  touchTapCallback = (evt: EventTypes.TouchTapEventType) => {
@@ -460,7 +452,7 @@ class ArrowAnnotateTool extends AnnotationTool {
460
452
  element,
461
453
  this.getToolName()
462
454
  );
463
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
455
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
464
456
 
465
457
  // Dispatching annotation modified
466
458
  triggerAnnotationModified(annotation, element);
@@ -480,12 +472,7 @@ class ArrowAnnotateTool extends AnnotationTool {
480
472
  annotation.highlighted = false;
481
473
  data.handles.activeHandleIndex = null;
482
474
 
483
- const { renderingEngine } = getEnabledElement(element);
484
-
485
- triggerAnnotationRenderForViewportIds(
486
- renderingEngine,
487
- viewportIdsToRender
488
- );
475
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
489
476
 
490
477
  if (newAnnotation) {
491
478
  triggerAnnotationCompleted(annotation);
@@ -208,7 +208,7 @@ class BidirectionalTool extends AnnotationTool {
208
208
 
209
209
  evt.preventDefault();
210
210
 
211
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
211
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
212
212
 
213
213
  return annotation;
214
214
  }
@@ -319,7 +319,7 @@ class BidirectionalTool extends AnnotationTool {
319
319
  const enabledElement = getEnabledElement(element);
320
320
  const { renderingEngine } = enabledElement;
321
321
 
322
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
322
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
323
323
 
324
324
  hideElementCursor(element);
325
325
 
@@ -374,7 +374,7 @@ class BidirectionalTool extends AnnotationTool {
374
374
  const enabledElement = getEnabledElement(element);
375
375
  const { renderingEngine } = enabledElement;
376
376
 
377
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
377
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
378
378
 
379
379
  evt.preventDefault();
380
380
  };
@@ -475,7 +475,7 @@ class BidirectionalTool extends AnnotationTool {
475
475
  removeAnnotation(annotation.annotationUID);
476
476
  }
477
477
 
478
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
478
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
479
479
 
480
480
  if (newAnnotation) {
481
481
  triggerAnnotationCompleted(annotation);
@@ -563,7 +563,7 @@ class BidirectionalTool extends AnnotationTool {
563
563
  data.handles.points[3] = viewport.canvasToWorld([endX, endY]);
564
564
 
565
565
  annotation.invalidated = true;
566
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
566
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
567
567
 
568
568
  this.editData.hasMoved = true;
569
569
  };
@@ -611,7 +611,7 @@ class BidirectionalTool extends AnnotationTool {
611
611
  annotation.invalidated = true;
612
612
  }
613
613
 
614
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
614
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
615
615
  };
616
616
 
617
617
  /**
@@ -890,12 +890,7 @@ class BidirectionalTool extends AnnotationTool {
890
890
  annotation.highlighted = false;
891
891
  data.handles.activeHandleIndex = null;
892
892
 
893
- const { renderingEngine } = getEnabledElement(element);
894
-
895
- triggerAnnotationRenderForViewportIds(
896
- renderingEngine,
897
- viewportIdsToRender
898
- );
893
+ triggerAnnotationRenderForViewportIds(viewportIdsToRender);
899
894
 
900
895
  if (newAnnotation) {
901
896
  triggerAnnotationCompleted(annotation);