@cornerstonejs/tools 1.9.3 → 1.10.1

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 (126) hide show
  1. package/dist/cjs/enums/Events.d.ts +1 -0
  2. package/dist/cjs/enums/Events.js +1 -0
  3. package/dist/cjs/enums/Events.js.map +1 -1
  4. package/dist/cjs/eventDispatchers/shared/getMouseModifier.js +10 -5
  5. package/dist/cjs/eventDispatchers/shared/getMouseModifier.js.map +1 -1
  6. package/dist/cjs/eventListeners/mouse/mouseDownListener.js +2 -1
  7. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
  8. package/dist/cjs/eventListeners/touch/touchStartListener.js +10 -5
  9. package/dist/cjs/eventListeners/touch/touchStartListener.js.map +1 -1
  10. package/dist/cjs/stateManagement/annotation/config/getState.js +6 -3
  11. package/dist/cjs/stateManagement/annotation/config/getState.js.map +1 -1
  12. package/dist/cjs/stateManagement/annotation/config/helpers.js +4 -2
  13. package/dist/cjs/stateManagement/annotation/config/helpers.js.map +1 -1
  14. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +8 -1
  15. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  16. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js +2 -1
  17. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -1
  18. package/dist/cjs/tools/MIPJumpToClickTool.js +4 -2
  19. package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
  20. package/dist/cjs/tools/PlanarRotateTool.js +2 -1
  21. package/dist/cjs/tools/PlanarRotateTool.js.map +1 -1
  22. package/dist/cjs/tools/ReferenceCursors.js +58 -29
  23. package/dist/cjs/tools/ReferenceCursors.js.map +1 -1
  24. package/dist/cjs/tools/ScaleOverlayTool.js +2 -1
  25. package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
  26. package/dist/cjs/tools/annotation/AngleTool.js +4 -2
  27. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  28. package/dist/cjs/tools/annotation/CircleROITool.js +2 -1
  29. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  30. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +6 -3
  31. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  32. package/dist/cjs/tools/segmentation/PaintFillTool.js +4 -2
  33. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
  34. package/dist/cjs/types/EventTypes.d.ts +8 -1
  35. package/dist/cjs/types/ISetToolModeOptions.d.ts +2 -2
  36. package/dist/cjs/utilities/cine/playClip.js +2 -1
  37. package/dist/cjs/utilities/cine/playClip.js.map +1 -1
  38. package/dist/cjs/utilities/getCalibratedUnits.js +10 -5
  39. package/dist/cjs/utilities/getCalibratedUnits.js.map +1 -1
  40. package/dist/cjs/utilities/math/midPoint.js +2 -1
  41. package/dist/cjs/utilities/math/midPoint.js.map +1 -1
  42. package/dist/cjs/utilities/math/polyline/pointInPolyline.js +2 -1
  43. package/dist/cjs/utilities/math/polyline/pointInPolyline.js.map +1 -1
  44. package/dist/cjs/utilities/math/vec2/liangBarksyClip.js +10 -5
  45. package/dist/cjs/utilities/math/vec2/liangBarksyClip.js.map +1 -1
  46. package/dist/cjs/utilities/roundNumber.js +4 -2
  47. package/dist/cjs/utilities/roundNumber.js.map +1 -1
  48. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +2 -1
  49. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  50. package/dist/esm/enums/Events.d.ts +1 -0
  51. package/dist/esm/enums/Events.js +1 -0
  52. package/dist/esm/enums/Events.js.map +1 -1
  53. package/dist/esm/eventDispatchers/shared/getMouseModifier.js +10 -5
  54. package/dist/esm/eventDispatchers/shared/getMouseModifier.js.map +1 -1
  55. package/dist/esm/eventListeners/mouse/mouseDownListener.js +2 -1
  56. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
  57. package/dist/esm/eventListeners/touch/touchStartListener.js +10 -5
  58. package/dist/esm/eventListeners/touch/touchStartListener.js.map +1 -1
  59. package/dist/esm/stateManagement/annotation/config/getState.js +6 -3
  60. package/dist/esm/stateManagement/annotation/config/getState.js.map +1 -1
  61. package/dist/esm/stateManagement/annotation/config/helpers.js +4 -2
  62. package/dist/esm/stateManagement/annotation/config/helpers.js.map +1 -1
  63. package/dist/esm/store/ToolGroupManager/ToolGroup.js +9 -2
  64. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  65. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +2 -1
  66. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -1
  67. package/dist/esm/tools/MIPJumpToClickTool.js +4 -2
  68. package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
  69. package/dist/esm/tools/PlanarRotateTool.js +2 -1
  70. package/dist/esm/tools/PlanarRotateTool.js.map +1 -1
  71. package/dist/esm/tools/ReferenceCursors.js +58 -29
  72. package/dist/esm/tools/ReferenceCursors.js.map +1 -1
  73. package/dist/esm/tools/ScaleOverlayTool.js +2 -1
  74. package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
  75. package/dist/esm/tools/annotation/AngleTool.js +4 -2
  76. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  77. package/dist/esm/tools/annotation/CircleROITool.js +2 -1
  78. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  79. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +6 -3
  80. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  81. package/dist/esm/tools/segmentation/PaintFillTool.js +4 -2
  82. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
  83. package/dist/esm/types/EventTypes.d.ts +8 -1
  84. package/dist/esm/types/ISetToolModeOptions.d.ts +2 -2
  85. package/dist/esm/utilities/cine/playClip.js +2 -1
  86. package/dist/esm/utilities/cine/playClip.js.map +1 -1
  87. package/dist/esm/utilities/getCalibratedUnits.js +10 -5
  88. package/dist/esm/utilities/getCalibratedUnits.js.map +1 -1
  89. package/dist/esm/utilities/math/midPoint.js +2 -1
  90. package/dist/esm/utilities/math/midPoint.js.map +1 -1
  91. package/dist/esm/utilities/math/polyline/pointInPolyline.js +2 -1
  92. package/dist/esm/utilities/math/polyline/pointInPolyline.js.map +1 -1
  93. package/dist/esm/utilities/math/vec2/liangBarksyClip.js +10 -5
  94. package/dist/esm/utilities/math/vec2/liangBarksyClip.js.map +1 -1
  95. package/dist/esm/utilities/roundNumber.js +4 -2
  96. package/dist/esm/utilities/roundNumber.js.map +1 -1
  97. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +2 -1
  98. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  99. package/dist/umd/index.js +1 -1
  100. package/dist/umd/index.js.map +1 -1
  101. package/package.json +3 -3
  102. package/src/enums/Events.ts +13 -0
  103. package/src/eventDispatchers/shared/getMouseModifier.ts +15 -5
  104. package/src/eventListeners/mouse/mouseDownListener.ts +3 -1
  105. package/src/eventListeners/touch/touchStartListener.ts +15 -5
  106. package/src/stateManagement/annotation/config/getState.ts +7 -3
  107. package/src/stateManagement/annotation/config/helpers.ts +6 -2
  108. package/src/store/ToolGroupManager/ToolGroup.ts +13 -1
  109. package/src/store/ToolGroupManager/getToolGroupsWithToolName.ts +3 -1
  110. package/src/tools/MIPJumpToClickTool.ts +6 -2
  111. package/src/tools/PlanarRotateTool.ts +3 -1
  112. package/src/tools/ReferenceCursors.ts +85 -29
  113. package/src/tools/ScaleOverlayTool.ts +3 -1
  114. package/src/tools/annotation/AngleTool.ts +6 -2
  115. package/src/tools/annotation/CircleROITool.ts +3 -1
  116. package/src/tools/annotation/PlanarFreehandROITool.ts +8 -3
  117. package/src/tools/segmentation/PaintFillTool.ts +6 -2
  118. package/src/types/EventTypes.ts +20 -0
  119. package/src/types/ISetToolModeOptions.ts +2 -2
  120. package/src/utilities/cine/playClip.ts +3 -1
  121. package/src/utilities/getCalibratedUnits.ts +15 -5
  122. package/src/utilities/math/midPoint.ts +3 -1
  123. package/src/utilities/math/polyline/pointInPolyline.ts +3 -1
  124. package/src/utilities/math/vec2/liangBarksyClip.ts +15 -5
  125. package/src/utilities/roundNumber.ts +6 -2
  126. package/src/utilities/segmentation/thresholdVolumeByRange.ts +3 -1
@@ -23,10 +23,16 @@ const getCalibratedLengthUnits = (handles, image): string => {
23
23
  const { calibration, hasPixelSpacing } = image;
24
24
  // Anachronistic - moving to using calibration consistently, but not completed yet
25
25
  const units = hasPixelSpacing ? 'mm' : PIXEL_UNITS;
26
- if (!calibration || !calibration.type) return units;
27
- if (calibration.type === CalibrationTypes.UNCALIBRATED) return PIXEL_UNITS;
26
+ if (!calibration || !calibration.type) {
27
+ return units;
28
+ }
29
+ if (calibration.type === CalibrationTypes.UNCALIBRATED) {
30
+ return PIXEL_UNITS;
31
+ }
28
32
  // TODO - handle US regions properly
29
- if (calibration.SequenceOfUltrasoundRegions) return 'US Region';
33
+ if (calibration.SequenceOfUltrasoundRegions) {
34
+ return 'US Region';
35
+ }
30
36
  return `${units} ${calibration.type}`;
31
37
  };
32
38
 
@@ -37,8 +43,12 @@ const SQUARE = '\xb2';
37
43
  const getCalibratedAreaUnits = (handles, image): string => {
38
44
  const { calibration, hasPixelSpacing } = image;
39
45
  const units = (hasPixelSpacing ? 'mm' : PIXEL_UNITS) + SQUARE;
40
- if (!calibration || !calibration.type) return units;
41
- if (calibration.SequenceOfUltrasoundRegions) return 'US Region';
46
+ if (!calibration || !calibration.type) {
47
+ return units;
48
+ }
49
+ if (calibration.SequenceOfUltrasoundRegions) {
50
+ return 'US Region';
51
+ }
42
52
  return `${units} ${calibration.type}`;
43
53
  };
44
54
 
@@ -12,7 +12,9 @@ const midPoint = (
12
12
  for (const arg of args) {
13
13
  ret[0] += arg[0] / len;
14
14
  ret[1] += arg[1] / len;
15
- if (ret.length === 3) ret[2] += arg[2] / len;
15
+ if (ret.length === 3) {
16
+ ret[2] += arg[2] / len;
17
+ }
16
18
  }
17
19
  return ret;
18
20
  };
@@ -11,7 +11,9 @@ export default function pointInPolyline(
11
11
  pointEnd[1],
12
12
  ]);
13
13
 
14
- if (intersections.length % 2 === 0) return false;
14
+ if (intersections.length % 2 === 0) {
15
+ return false;
16
+ }
15
17
 
16
18
  return true;
17
19
  }
@@ -14,15 +14,25 @@ const OUTSIDE = 0;
14
14
 
15
15
  function clipT(num, denom, c) {
16
16
  const [tE, tL] = c;
17
- if (Math.abs(denom) < EPSILON) return num < 0;
17
+ if (Math.abs(denom) < EPSILON) {
18
+ return num < 0;
19
+ }
18
20
  const t = num / denom;
19
21
 
20
22
  if (denom > 0) {
21
- if (t > tL) return 0;
22
- if (t > tE) c[0] = t;
23
+ if (t > tL) {
24
+ return 0;
25
+ }
26
+ if (t > tE) {
27
+ c[0] = t;
28
+ }
23
29
  } else {
24
- if (t < tE) return 0;
25
- if (t < tL) c[1] = t;
30
+ if (t < tE) {
31
+ return 0;
32
+ }
33
+ if (t < tL) {
34
+ c[1] = t;
35
+ }
26
36
  }
27
37
  return 1;
28
38
  }
@@ -11,9 +11,13 @@
11
11
  * @param precision - defining how many digits after 1..9 are desired
12
12
  */
13
13
  function roundNumber(value: string | number, precision = 2): string {
14
- if (value === undefined || value === null || value === '') return 'NaN';
14
+ if (value === undefined || value === null || value === '') {
15
+ return 'NaN';
16
+ }
15
17
  value = Number(value);
16
- if (value < 0.0001) return `${value}`;
18
+ if (value < 0.0001) {
19
+ return `${value}`;
20
+ }
17
21
  const fixedPrecision =
18
22
  value >= 100
19
23
  ? precision - 2
@@ -137,7 +137,9 @@ function thresholdVolumeByRange(
137
137
  }
138
138
 
139
139
  // Todo: make the segmentIndex a parameter
140
- if (insert) scalarData[index] = 1;
140
+ if (insert) {
141
+ scalarData[index] = 1;
142
+ }
141
143
  };
142
144
 
143
145
  pointInShapeCallback(segmentationImageData, () => true, callback, boundsIJK);