@cornerstonejs/tools 1.70.4 → 1.70.6

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 (83) hide show
  1. package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +1 -1
  2. package/dist/cjs/tools/AdvancedMagnifyTool.js +35 -43
  3. package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -1
  4. package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +1 -1
  5. package/dist/cjs/tools/AdvancedMagnifyViewport.js +8 -2
  6. package/dist/cjs/tools/AdvancedMagnifyViewport.js.map +1 -1
  7. package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +2 -1
  8. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js +32 -3
  9. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js.map +1 -1
  10. package/dist/cjs/tools/OrientationMarkerTool.d.ts +6 -0
  11. package/dist/cjs/tools/OrientationMarkerTool.js +53 -1
  12. package/dist/cjs/tools/OrientationMarkerTool.js.map +1 -1
  13. package/dist/cjs/tools/base/AnnotationTool.js +4 -1
  14. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  15. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +5 -0
  16. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  17. package/dist/cjs/tools/segmentation/BrushTool.js +12 -1
  18. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  19. package/dist/cjs/tools/segmentation/strategies/compositions/dynamicThreshold.js +3 -0
  20. package/dist/cjs/tools/segmentation/strategies/compositions/dynamicThreshold.js.map +1 -1
  21. package/dist/cjs/tools/segmentation/strategies/compositions/preview.js +10 -2
  22. package/dist/cjs/tools/segmentation/strategies/compositions/preview.js.map +1 -1
  23. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +2 -1
  24. package/dist/cjs/utilities/cine/playClip.d.ts +1 -1
  25. package/dist/cjs/utilities/cine/playClip.js +2 -5
  26. package/dist/cjs/utilities/cine/playClip.js.map +1 -1
  27. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js +3 -0
  28. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
  29. package/dist/esm/tools/AdvancedMagnifyTool.js +35 -43
  30. package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -1
  31. package/dist/esm/tools/AdvancedMagnifyViewport.js +8 -2
  32. package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -1
  33. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +38 -4
  34. package/dist/esm/tools/AdvancedMagnifyViewportManager.js.map +1 -1
  35. package/dist/esm/tools/OrientationMarkerTool.js +54 -2
  36. package/dist/esm/tools/OrientationMarkerTool.js.map +1 -1
  37. package/dist/esm/tools/base/AnnotationTool.js +4 -1
  38. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  39. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +5 -0
  40. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  41. package/dist/esm/tools/segmentation/BrushTool.js +13 -2
  42. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  43. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +3 -0
  44. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js.map +1 -1
  45. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +10 -2
  46. package/dist/esm/tools/segmentation/strategies/compositions/preview.js.map +1 -1
  47. package/dist/esm/utilities/cine/playClip.js +2 -2
  48. package/dist/esm/utilities/cine/playClip.js.map +1 -1
  49. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +3 -0
  50. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
  51. package/dist/types/tools/AdvancedMagnifyTool.d.ts +1 -1
  52. package/dist/types/tools/AdvancedMagnifyTool.d.ts.map +1 -1
  53. package/dist/types/tools/AdvancedMagnifyViewport.d.ts +1 -1
  54. package/dist/types/tools/AdvancedMagnifyViewport.d.ts.map +1 -1
  55. package/dist/types/tools/AdvancedMagnifyViewportManager.d.ts +2 -1
  56. package/dist/types/tools/AdvancedMagnifyViewportManager.d.ts.map +1 -1
  57. package/dist/types/tools/OrientationMarkerTool.d.ts +6 -0
  58. package/dist/types/tools/OrientationMarkerTool.d.ts.map +1 -1
  59. package/dist/types/tools/base/AnnotationTool.d.ts.map +1 -1
  60. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts.map +1 -1
  61. package/dist/types/tools/segmentation/BrushTool.d.ts.map +1 -1
  62. package/dist/types/tools/segmentation/strategies/compositions/dynamicThreshold.d.ts.map +1 -1
  63. package/dist/types/tools/segmentation/strategies/compositions/preview.d.ts.map +1 -1
  64. package/dist/types/types/ToolSpecificAnnotationTypes.d.ts +2 -1
  65. package/dist/types/types/ToolSpecificAnnotationTypes.d.ts.map +1 -1
  66. package/dist/types/utilities/cine/playClip.d.ts +1 -1
  67. package/dist/types/utilities/cine/playClip.d.ts.map +1 -1
  68. package/dist/types/utilities/planar/filterAnnotationsForDisplay.d.ts.map +1 -1
  69. package/dist/umd/index.js +1 -1
  70. package/dist/umd/index.js.map +1 -1
  71. package/package.json +4 -4
  72. package/src/tools/AdvancedMagnifyTool.ts +42 -66
  73. package/src/tools/AdvancedMagnifyViewport.ts +11 -3
  74. package/src/tools/AdvancedMagnifyViewportManager.ts +74 -3
  75. package/src/tools/OrientationMarkerTool.ts +87 -2
  76. package/src/tools/base/AnnotationTool.ts +8 -2
  77. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +7 -0
  78. package/src/tools/segmentation/BrushTool.ts +17 -1
  79. package/src/tools/segmentation/strategies/compositions/dynamicThreshold.ts +6 -0
  80. package/src/tools/segmentation/strategies/compositions/preview.ts +14 -4
  81. package/src/types/ToolSpecificAnnotationTypes.ts +2 -1
  82. package/src/utilities/cine/playClip.ts +2 -2
  83. package/src/utilities/planar/filterAnnotationsForDisplay.ts +3 -0
@@ -77,9 +77,15 @@ export default {
77
77
  const { configuration, viewport } = operationData;
78
78
  const { THRESHOLD: { dynamicRadius = 0 } = {} } =
79
79
  configuration.strategySpecificConfiguration || {};
80
+
81
+ if (dynamicRadius === 0) {
82
+ return;
83
+ }
84
+
80
85
  const { spacing } = (
81
86
  viewport as Types.IStackViewport | Types.IVolumeViewport
82
87
  ).getImageData();
88
+
83
89
  const centerCanvas = [
84
90
  viewport.element.clientWidth / 2,
85
91
  viewport.element.clientHeight / 2,
@@ -4,10 +4,19 @@ import { triggerSegmentationDataModified } from '../../../../stateManagement/seg
4
4
  import { config as segmentationConfig } from '../../../../stateManagement/segmentation';
5
5
  import StrategyCallbacks from '../../../../enums/StrategyCallbacks';
6
6
 
7
+ function lightenColor(r, g, b, a, factor = 0.4) {
8
+ return [
9
+ Math.round(r + (255 - r) * factor),
10
+ Math.round(g + (255 - g) * factor),
11
+ Math.round(b + (255 - b) * factor),
12
+ a,
13
+ ];
14
+ }
15
+
7
16
  /**
8
- * Sets up a preview to use an alternate set of colours. First fills the
17
+ * Sets up a preview to use an alternate set of colors. First fills the
9
18
  * preview segment index with the final one for all pixels, then resets
10
- * the preview colours.
19
+ * the preview colors.
11
20
  * This is only activated when the preview segment index is defined, either
12
21
  * from the initial state or from the global state.
13
22
  */
@@ -71,7 +80,8 @@ export default {
71
80
  if (!configColor && !segmentColor) {
72
81
  return;
73
82
  }
74
- const previewColor = configColor || segmentColor.map((it) => it * 0.9);
83
+ const previewColor = configColor || lightenColor(...segmentColor);
84
+
75
85
  segmentationConfig.color.setColorForSegmentIndex(
76
86
  toolGroupId,
77
87
  segmentationRepresentationUID,
@@ -88,7 +98,7 @@ export default {
88
98
  previewVoxelManager: previewVoxelManager,
89
99
  previewSegmentIndex,
90
100
  preview,
91
- } = operationData;
101
+ } = operationData || {};
92
102
  if (previewSegmentIndex === undefined) {
93
103
  return;
94
104
  }
@@ -87,8 +87,9 @@ export interface AdvancedMagnifyAnnotation extends Annotation {
87
87
  zoomFactor: number;
88
88
  sourceViewportId: string;
89
89
  magnifyViewportId: string;
90
+ isCanvasAnnotation: boolean;
90
91
  handles: {
91
- points: Types.Point3[]; // [top, right, bottom, left]
92
+ points: [Types.Point3, Types.Point3, Types.Point3, Types.Point3]; // in canvas space
92
93
  activeHandleIndex: number | null;
93
94
  };
94
95
  };
@@ -198,10 +198,10 @@ function playClip(
198
198
  * Stops an already playing clip.
199
199
  * @param element - HTML Element
200
200
  */
201
- function stopClip(element: HTMLDivElement, viewportId?: string): void {
201
+ function stopClip(element: HTMLDivElement, options = {} as any): void {
202
202
  _stopClip(element, {
203
203
  stopDynamicCine: true,
204
- viewportId,
204
+ ...options,
205
205
  });
206
206
  }
207
207
 
@@ -47,6 +47,9 @@ export default function filterAnnotationsForDisplay(
47
47
  if (!annotation.isVisible) {
48
48
  return false;
49
49
  }
50
+ if (annotation.data.isCanvasAnnotation) {
51
+ return true;
52
+ }
50
53
  return viewport.isReferenceViewable(annotation.metadata, filterOptions);
51
54
  });
52
55
  }