@cornerstonejs/tools 1.19.3 → 1.19.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 (58) hide show
  1. package/dist/cjs/tools/annotation/AngleTool.js +2 -1
  2. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  3. package/dist/cjs/tools/annotation/BidirectionalTool.js +1 -1
  4. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  5. package/dist/cjs/tools/annotation/CircleROITool.js +1 -1
  6. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  7. package/dist/cjs/tools/annotation/CobbAngleTool.js +2 -1
  8. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  9. package/dist/cjs/tools/annotation/DragProbeTool.js +2 -1
  10. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  11. package/dist/cjs/tools/annotation/EllipticalROITool.js +1 -1
  12. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  13. package/dist/cjs/tools/annotation/LengthTool.js +1 -1
  14. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  15. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +1 -1
  16. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  17. package/dist/cjs/tools/annotation/ProbeTool.js +2 -1
  18. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  19. package/dist/cjs/tools/annotation/RectangleROITool.js +1 -1
  20. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  21. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +3 -0
  22. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  23. package/dist/esm/tools/annotation/AngleTool.js +2 -1
  24. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  25. package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
  26. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  27. package/dist/esm/tools/annotation/CircleROITool.js +1 -1
  28. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  29. package/dist/esm/tools/annotation/CobbAngleTool.js +2 -1
  30. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  31. package/dist/esm/tools/annotation/DragProbeTool.js +2 -1
  32. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  33. package/dist/esm/tools/annotation/EllipticalROITool.js +1 -1
  34. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  35. package/dist/esm/tools/annotation/LengthTool.js +1 -1
  36. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  37. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -1
  38. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  39. package/dist/esm/tools/annotation/ProbeTool.js +2 -1
  40. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  41. package/dist/esm/tools/annotation/RectangleROITool.js +1 -1
  42. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  43. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -1
  44. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  45. package/dist/umd/index.js +1 -1
  46. package/dist/umd/index.js.map +1 -1
  47. package/package.json +3 -3
  48. package/src/tools/annotation/AngleTool.ts +4 -1
  49. package/src/tools/annotation/BidirectionalTool.ts +1 -1
  50. package/src/tools/annotation/CircleROITool.ts +1 -1
  51. package/src/tools/annotation/CobbAngleTool.ts +4 -1
  52. package/src/tools/annotation/DragProbeTool.ts +4 -1
  53. package/src/tools/annotation/EllipticalROITool.ts +1 -1
  54. package/src/tools/annotation/LengthTool.ts +1 -1
  55. package/src/tools/annotation/PlanarFreehandROITool.ts +1 -1
  56. package/src/tools/annotation/ProbeTool.ts +4 -1
  57. package/src/tools/annotation/RectangleROITool.ts +1 -1
  58. package/src/tools/displayTools/Contour/contourDisplay.ts +8 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "1.19.3",
3
+ "version": "1.19.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": "^1.19.3",
32
+ "@cornerstonejs/core": "^1.19.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": "e084999f115529c5d959fcc20f58a5985c733121"
55
+ "gitHead": "96579a132b8f768bf4e8b9325d13d5e166cef021"
56
56
  }
@@ -658,7 +658,10 @@ class AngleTool extends AnnotationTool {
658
658
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
659
659
 
660
660
  // WE HAVE TO CACHE STATS BEFORE FETCHING TEXT
661
- if (!data.cachedStats[targetId]) {
661
+ if (
662
+ !data.cachedStats[targetId] ||
663
+ data.cachedStats[targetId].angle == null
664
+ ) {
662
665
  data.cachedStats[targetId] = {
663
666
  angle: null,
664
667
  };
@@ -1073,7 +1073,7 @@ class BidirectionalTool extends AnnotationTool {
1073
1073
  // force to recalculate the stats from the points
1074
1074
  if (
1075
1075
  !data.cachedStats[targetId] ||
1076
- data.cachedStats[targetId].unit === undefined
1076
+ data.cachedStats[targetId].unit == null
1077
1077
  ) {
1078
1078
  data.cachedStats[targetId] = {
1079
1079
  length: null,
@@ -692,7 +692,7 @@ class CircleROITool extends AnnotationTool {
692
692
  // force to recalculate the stats from the points
693
693
  if (
694
694
  !data.cachedStats[targetId] ||
695
- data.cachedStats[targetId].areaUnit === undefined
695
+ data.cachedStats[targetId].areaUnit == null
696
696
  ) {
697
697
  data.cachedStats[targetId] = {
698
698
  Modality: null,
@@ -674,7 +674,10 @@ class CobbAngleTool extends AnnotationTool {
674
674
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
675
675
 
676
676
  // WE HAVE TO CACHE STATS BEFORE FETCHING TEXT
677
- if (!data.cachedStats[targetId]) {
677
+ if (
678
+ !data.cachedStats[targetId] ||
679
+ data.cachedStats[targetId].angle == null
680
+ ) {
678
681
  data.cachedStats[targetId] = {
679
682
  angle: null,
680
683
  };
@@ -166,7 +166,10 @@ class DragProbeTool extends ProbeTool {
166
166
  ),
167
167
  };
168
168
 
169
- if (!data.cachedStats[targetId]) {
169
+ if (
170
+ !data.cachedStats[targetId] ||
171
+ data.cachedStats[targetId].value == null
172
+ ) {
170
173
  data.cachedStats[targetId] = {
171
174
  Modality: null,
172
175
  index: null,
@@ -814,7 +814,7 @@ class EllipticalROITool extends AnnotationTool {
814
814
  // force to recalculate the stats from the points
815
815
  if (
816
816
  !data.cachedStats[targetId] ||
817
- data.cachedStats[targetId].areaUnit === undefined
817
+ data.cachedStats[targetId].areaUnit == null
818
818
  ) {
819
819
  data.cachedStats[targetId] = {
820
820
  Modality: null,
@@ -662,7 +662,7 @@ class LengthTool extends AnnotationTool {
662
662
  // force to recalculate the stats from the points
663
663
  if (
664
664
  !data.cachedStats[targetId] ||
665
- data.cachedStats[targetId].unit === undefined
665
+ data.cachedStats[targetId].unit == null
666
666
  ) {
667
667
  data.cachedStats[targetId] = {
668
668
  length: null,
@@ -691,7 +691,7 @@ class PlanarFreehandROITool extends AnnotationTool {
691
691
  const { data } = annotation;
692
692
  if (
693
693
  !data.cachedStats[targetId] ||
694
- data.cachedStats[targetId].areaUnit === undefined
694
+ data.cachedStats[targetId].areaUnit == null
695
695
  ) {
696
696
  data.cachedStats[targetId] = {
697
697
  Modality: null,
@@ -452,7 +452,10 @@ class ProbeTool extends AnnotationTool {
452
452
  ),
453
453
  };
454
454
 
455
- if (!data.cachedStats[targetId]) {
455
+ if (
456
+ !data.cachedStats[targetId] ||
457
+ data.cachedStats[targetId].value == null
458
+ ) {
456
459
  data.cachedStats[targetId] = {
457
460
  Modality: null,
458
461
  index: null,
@@ -673,7 +673,7 @@ class RectangleROITool extends AnnotationTool {
673
673
  // force to recalculate the stats from the points
674
674
  if (
675
675
  !data.cachedStats[targetId] ||
676
- data.cachedStats[targetId].areaUnit === undefined
676
+ data.cachedStats[targetId].areaUnit == null
677
677
  ) {
678
678
  data.cachedStats[targetId] = {
679
679
  Modality: null,
@@ -2,6 +2,7 @@ import {
2
2
  getEnabledElementByIds,
3
3
  Types,
4
4
  utilities as csUtils,
5
+ StackViewport,
5
6
  } from '@cornerstonejs/core';
6
7
 
7
8
  import Representations from '../../../enums/SegmentationRepresentations';
@@ -128,6 +129,13 @@ async function render(
128
129
  const contourData = segmentation.representationData[Representations.Contour];
129
130
  const { geometryIds } = contourData;
130
131
 
132
+
133
+ // We don't have a good way to handle stack viewports for contours at the moment.
134
+ // Plus, if we add a segmentation to one viewport, it gets added to all the viewports in the toolGroup too.
135
+ if (viewport instanceof StackViewport) {
136
+ return;
137
+ }
138
+
131
139
  if (!geometryIds?.length) {
132
140
  console.warn(
133
141
  `No contours found for segmentationId ${segmentationId}. Skipping render.`