@cornerstonejs/tools 2.0.0-beta.3 → 2.0.0-beta.4

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 (151) hide show
  1. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +1 -1
  2. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +1 -1
  3. package/dist/cjs/eventListeners/keyboard/keyDownListener.js +1 -2
  4. package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
  5. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +4 -8
  6. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  7. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +2 -3
  8. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  9. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -1
  10. package/dist/cjs/stateManagement/segmentation/addSegmentations.js +1 -5
  11. package/dist/cjs/stateManagement/segmentation/addSegmentations.js.map +1 -1
  12. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +1 -2
  13. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  14. package/dist/cjs/store/state.js +1 -5
  15. package/dist/cjs/store/state.js.map +1 -1
  16. package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
  17. package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +2 -2
  18. package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +1 -1
  19. package/dist/cjs/tools/displayTools/Contour/contourConfigCache.d.ts +1 -1
  20. package/dist/cjs/tools/segmentation/strategies/eraseCircle.d.ts +1 -1
  21. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  22. package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +1 -1
  23. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -1
  24. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  25. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -1
  26. package/dist/cjs/types/AnnotationGroupSelector.d.ts +1 -1
  27. package/dist/cjs/types/AnnotationStyle.d.ts +7 -7
  28. package/dist/cjs/types/AnnotationTypes.d.ts +4 -4
  29. package/dist/cjs/types/BoundsIJK.d.ts +1 -1
  30. package/dist/cjs/types/CINETypes.d.ts +2 -2
  31. package/dist/cjs/types/CalculatorTypes.d.ts +1 -1
  32. package/dist/cjs/types/ContourTypes.d.ts +3 -3
  33. package/dist/cjs/types/CursorTypes.d.ts +2 -2
  34. package/dist/cjs/types/EventTypes.d.ts +81 -81
  35. package/dist/cjs/types/FloodFillTypes.d.ts +5 -5
  36. package/dist/cjs/types/IDistance.d.ts +1 -1
  37. package/dist/cjs/types/IPoints.d.ts +1 -1
  38. package/dist/cjs/types/ISetToolModeOptions.d.ts +5 -5
  39. package/dist/cjs/types/IToolClassReference.d.ts +1 -1
  40. package/dist/cjs/types/ITouchPoints.d.ts +1 -1
  41. package/dist/cjs/types/InteractionTypes.d.ts +1 -1
  42. package/dist/cjs/types/InternalToolTypes.d.ts +3 -3
  43. package/dist/cjs/types/JumpToSliceOptions.d.ts +1 -1
  44. package/dist/cjs/types/LabelmapTypes.d.ts +3 -3
  45. package/dist/cjs/types/PlanarBoundingBox.d.ts +1 -1
  46. package/dist/cjs/types/SVGDrawingHelper.d.ts +1 -1
  47. package/dist/cjs/types/ScrollOptions.d.ts +1 -1
  48. package/dist/cjs/types/SegmentationStateTypes.d.ts +15 -15
  49. package/dist/cjs/types/ToolAction.d.ts +1 -1
  50. package/dist/cjs/types/ToolHandle.d.ts +3 -3
  51. package/dist/cjs/types/ToolProps.d.ts +4 -4
  52. package/dist/cjs/utilities/getModalityUnit.d.ts +1 -1
  53. package/dist/cjs/utilities/getToolsWithModesForElement.d.ts +1 -1
  54. package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -3
  55. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js.map +1 -1
  56. package/dist/cjs/utilities/math/circle/_types.d.ts +1 -1
  57. package/dist/cjs/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +1 -1
  58. package/dist/cjs/utilities/math/ellipse/pointInEllipse.d.ts +1 -1
  59. package/dist/cjs/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +1 -1
  60. package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +3 -3
  61. package/dist/cjs/utilities/math/sphere/pointInSphere.d.ts +1 -1
  62. package/dist/cjs/utilities/pointInShapeCallback.d.ts +3 -3
  63. package/dist/cjs/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.d.ts +1 -1
  64. package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +8 -8
  65. package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -2
  66. package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.js.map +1 -1
  67. package/dist/cjs/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +2 -2
  68. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
  69. package/dist/cjs/utilities/segmentation/utilities.d.ts +1 -1
  70. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +1 -1
  71. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +1 -1
  72. package/dist/esm/eventListeners/keyboard/keyDownListener.js +1 -2
  73. package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
  74. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +4 -5
  75. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  76. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +2 -3
  77. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  78. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -1
  79. package/dist/esm/stateManagement/segmentation/addSegmentations.js +1 -2
  80. package/dist/esm/stateManagement/segmentation/addSegmentations.js.map +1 -1
  81. package/dist/esm/store/ToolGroupManager/ToolGroup.js +1 -2
  82. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  83. package/dist/esm/store/state.js +9 -2
  84. package/dist/esm/store/state.js.map +1 -1
  85. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
  86. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +2 -2
  87. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +1 -1
  88. package/dist/esm/tools/OrientationMarkerTool.js +4 -4
  89. package/dist/esm/tools/OrientationMarkerTool.js.map +1 -1
  90. package/dist/esm/tools/displayTools/Contour/contourConfigCache.d.ts +1 -1
  91. package/dist/esm/tools/segmentation/strategies/eraseCircle.d.ts +1 -1
  92. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  93. package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +1 -1
  94. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -1
  95. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  96. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -1
  97. package/dist/esm/types/AnnotationGroupSelector.d.ts +1 -1
  98. package/dist/esm/types/AnnotationStyle.d.ts +7 -7
  99. package/dist/esm/types/AnnotationTypes.d.ts +4 -4
  100. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  101. package/dist/esm/types/CINETypes.d.ts +2 -2
  102. package/dist/esm/types/CalculatorTypes.d.ts +1 -1
  103. package/dist/esm/types/ContourTypes.d.ts +3 -3
  104. package/dist/esm/types/CursorTypes.d.ts +2 -2
  105. package/dist/esm/types/EventTypes.d.ts +81 -81
  106. package/dist/esm/types/FloodFillTypes.d.ts +5 -5
  107. package/dist/esm/types/IDistance.d.ts +1 -1
  108. package/dist/esm/types/IPoints.d.ts +1 -1
  109. package/dist/esm/types/ISetToolModeOptions.d.ts +5 -5
  110. package/dist/esm/types/IToolClassReference.d.ts +1 -1
  111. package/dist/esm/types/ITouchPoints.d.ts +1 -1
  112. package/dist/esm/types/InteractionTypes.d.ts +1 -1
  113. package/dist/esm/types/InternalToolTypes.d.ts +3 -3
  114. package/dist/esm/types/JumpToSliceOptions.d.ts +1 -1
  115. package/dist/esm/types/LabelmapTypes.d.ts +3 -3
  116. package/dist/esm/types/PlanarBoundingBox.d.ts +1 -1
  117. package/dist/esm/types/SVGDrawingHelper.d.ts +1 -1
  118. package/dist/esm/types/ScrollOptions.d.ts +1 -1
  119. package/dist/esm/types/SegmentationStateTypes.d.ts +15 -15
  120. package/dist/esm/types/ToolAction.d.ts +1 -1
  121. package/dist/esm/types/ToolHandle.d.ts +3 -3
  122. package/dist/esm/types/ToolProps.d.ts +4 -4
  123. package/dist/esm/utilities/getModalityUnit.d.ts +1 -1
  124. package/dist/esm/utilities/getToolsWithModesForElement.d.ts +1 -1
  125. package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -3
  126. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js.map +1 -1
  127. package/dist/esm/utilities/math/circle/_types.d.ts +1 -1
  128. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +1 -1
  129. package/dist/esm/utilities/math/ellipse/pointInEllipse.d.ts +1 -1
  130. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +1 -1
  131. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +3 -3
  132. package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +1 -1
  133. package/dist/esm/utilities/pointInShapeCallback.d.ts +3 -3
  134. package/dist/esm/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.d.ts +1 -1
  135. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +8 -8
  136. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -2
  137. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js.map +1 -1
  138. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +2 -2
  139. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
  140. package/dist/esm/utilities/segmentation/utilities.d.ts +1 -1
  141. package/dist/umd/index.js +1 -1
  142. package/dist/umd/index.js.map +1 -1
  143. package/package.json +3 -3
  144. package/src/eventListeners/keyboard/keyDownListener.ts +1 -2
  145. package/src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts +4 -5
  146. package/src/stateManagement/segmentation/SegmentationStateManager.ts +2 -3
  147. package/src/stateManagement/segmentation/addSegmentationRepresentations.ts +0 -1
  148. package/src/stateManagement/segmentation/addSegmentations.ts +1 -2
  149. package/src/store/ToolGroupManager/ToolGroup.ts +1 -2
  150. package/src/store/state.ts +9 -3
  151. package/src/utilities/segmentation/createLabelmapVolumeForViewport.ts +9 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "Cornerstone3D Tools",
5
5
  "main": "dist/umd/index.js",
6
6
  "types": "dist/esm/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  "webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
30
30
  },
31
31
  "dependencies": {
32
- "@cornerstonejs/core": "^2.0.0-beta.3",
32
+ "@cornerstonejs/core": "^2.0.0-beta.4",
33
33
  "lodash.clonedeep": "4.5.0",
34
34
  "lodash.get": "^4.4.2"
35
35
  },
@@ -52,5 +52,5 @@
52
52
  "type": "individual",
53
53
  "url": "https://ohif.org/donate"
54
54
  },
55
- "gitHead": "d78cf780d4383a61ea0a9762bafa4104666757a4"
55
+ "gitHead": "deefd5fb773ca3eb6fc4f2047c15a2b1a3ac82de"
56
56
  }
@@ -1,4 +1,3 @@
1
- import _cloneDeep from 'lodash.clonedeep';
2
1
  import { getEnabledElement, triggerEvent } from '@cornerstonejs/core';
3
2
  import Events from '../../enums/Events';
4
3
  import { KeyDownEventDetail, KeyUpEventDetail } from '../../types/EventTypes';
@@ -97,7 +96,7 @@ function _onKeyUp(evt: KeyboardEvent): void {
97
96
  state.element.addEventListener('keydown', keyListener);
98
97
 
99
98
  // Restore `state` to `defaultState`
100
- state = _cloneDeep(defaultState);
99
+ state = structuredClone(defaultState);
101
100
  triggerEvent(eventDetail.element, Events.KEY_UP, eventDetail);
102
101
  }
103
102
 
@@ -1,4 +1,3 @@
1
- import cloneDeep from 'lodash.clonedeep';
2
1
  import {
3
2
  Annotation,
4
3
  Annotations,
@@ -314,14 +313,14 @@ class FrameOfReferenceSpecificAnnotationManager implements IAnnotationManager {
314
313
  const toolSpecificAnnotations =
315
314
  frameOfReferenceSpecificAnnotations[toolName];
316
315
 
317
- return cloneDeep(toolSpecificAnnotations);
316
+ return structuredClone(toolSpecificAnnotations);
318
317
  } else if (groupKey) {
319
318
  const frameOfReferenceSpecificAnnotations = annotations[groupKey];
320
319
 
321
- return cloneDeep(frameOfReferenceSpecificAnnotations);
320
+ return structuredClone(frameOfReferenceSpecificAnnotations);
322
321
  }
323
322
 
324
- return cloneDeep(annotations);
323
+ return structuredClone(annotations);
325
324
  };
326
325
 
327
326
  /**
@@ -361,7 +360,7 @@ class FrameOfReferenceSpecificAnnotationManager implements IAnnotationManager {
361
360
  annotations[groupKey] = <GroupSpecificAnnotations>state;
362
361
  } else {
363
362
  // Set entire annotations
364
- this.annotations = <AnnotationState>cloneDeep(state);
363
+ this.annotations = <AnnotationState>structuredClone(state);
365
364
  }
366
365
  };
367
366
 
@@ -1,5 +1,4 @@
1
1
  import { utilities as csUtils } from '@cornerstonejs/core';
2
- import cloneDeep from 'lodash.clonedeep';
3
2
 
4
3
  import CORNERSTONE_COLOR_LUT from '../../constants/COLOR_LUT';
5
4
 
@@ -52,7 +51,7 @@ export default class SegmentationStateManager {
52
51
  if (!uid) {
53
52
  uid = csUtils.uuidv4();
54
53
  }
55
- this.state = cloneDeep(initialDefaultState);
54
+ this.state = structuredClone(initialDefaultState);
56
55
  this.uid = uid;
57
56
  }
58
57
 
@@ -85,7 +84,7 @@ export default class SegmentationStateManager {
85
84
  * Reset the state to the default state
86
85
  */
87
86
  resetState(): void {
88
- this.state = cloneDeep(initialDefaultState);
87
+ this.state = structuredClone(initialDefaultState);
89
88
  }
90
89
 
91
90
  /**
@@ -1,4 +1,3 @@
1
- import _cloneDeep from 'lodash.clonedeep';
2
1
  import {
3
2
  SegmentationRepresentationConfig,
4
3
  RepresentationPublicInput,
@@ -1,4 +1,3 @@
1
- import _cloneDeep from 'lodash.clonedeep';
2
1
  import { SegmentationPublicInput } from '../../types/SegmentationStateTypes';
3
2
  import { validateSegmentationInput } from './helpers';
4
3
  import { addSegmentation as addSegmentationToState } from './segmentationState';
@@ -18,7 +17,7 @@ function addSegmentations(
18
17
  validateSegmentationInput(segmentationInputArray);
19
18
 
20
19
  segmentationInputArray.map((segInput) => {
21
- const segmentationInput = _cloneDeep(segInput);
20
+ const segmentationInput = structuredClone(segInput);
22
21
 
23
22
  addSegmentationToState(segmentationInput);
24
23
  });
@@ -1,5 +1,4 @@
1
1
  import { MouseBindings, ToolModes } from '../../enums';
2
- import cloneDeep from 'lodash.clonedeep';
3
2
  import get from 'lodash.get';
4
3
  import {
5
4
  triggerEvent,
@@ -679,7 +678,7 @@ export default class ToolGroup implements IToolGroup {
679
678
  configurationPath
680
679
  );
681
680
 
682
- return cloneDeep(_configuration);
681
+ return structuredClone(_configuration);
683
682
  }
684
683
 
685
684
  /**
@@ -1,5 +1,3 @@
1
- import _cloneDeep from 'lodash.clonedeep';
2
-
3
1
  import { IToolGroup, IToolClassReference } from '../types';
4
2
  import Synchronizer from './SynchronizerManager/Synchronizer';
5
3
  import svgNodeCache, { resetSvgNodeCache } from './svgNodeCache';
@@ -46,7 +44,15 @@ let state: ICornerstoneTools3dState = {
46
44
 
47
45
  function resetCornerstoneToolsState(): void {
48
46
  resetSvgNodeCache();
49
- state = _cloneDeep(defaultState);
47
+ state = {
48
+ ...structuredClone({
49
+ ...defaultState,
50
+ svgNodeCache: {},
51
+ }),
52
+ svgNodeCache: {
53
+ ...defaultState.svgNodeCache,
54
+ },
55
+ };
50
56
  }
51
57
 
52
58
  export {
@@ -1,4 +1,3 @@
1
- import { _cloneDeep } from 'lodash.clonedeep';
2
1
  import {
3
2
  getEnabledElementByIds,
4
3
  volumeLoader,
@@ -23,16 +22,16 @@ export default async function createLabelmapVolumeForViewport(input: {
23
22
  renderingEngineId: string;
24
23
  segmentationId?: string;
25
24
  options?: {
26
- volumeId?: string;
27
- scalarData?: Float32Array | Uint8Array | Uint16Array | Int16Array;
28
- targetBuffer?: {
25
+ volumeId: string;
26
+ scalarData: Float32Array | Uint8Array | Uint16Array | Int16Array;
27
+ targetBuffer: {
29
28
  type: 'Float32Array' | 'Uint8Array' | 'Uint16Array' | 'Int8Array';
30
29
  };
31
- metadata?: any;
32
- dimensions?: Types.Point3;
33
- spacing?: Types.Point3;
34
- origin?: Types.Point3;
35
- direction?: Float32Array;
30
+ metadata: Types.Metadata;
31
+ dimensions: Types.Point3;
32
+ spacing: Types.Point3;
33
+ origin: Types.Point3;
34
+ direction: Types.Mat3;
36
35
  };
37
36
  }): Promise<string> {
38
37
  const { viewportId, renderingEngineId, options } = input;
@@ -60,7 +59,7 @@ export default async function createLabelmapVolumeForViewport(input: {
60
59
  if (options) {
61
60
  // create a new labelmap with its own properties
62
61
  // This allows creation of a higher resolution labelmap vs reference volume
63
- const properties = _cloneDeep(options);
62
+ const properties = structuredClone(options);
64
63
  await volumeLoader.createLocalVolume(properties, segmentationId);
65
64
  } else {
66
65
  // create a labelmap from a reference volume