@cornerstonejs/tools 3.19.4 → 3.19.5

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.
@@ -35,7 +35,7 @@ declare class PlanarFreehandROITool extends ContourSegmentationBaseTool {
35
35
  protected renderAnnotationInstance(renderContext: AnnotationRenderContext): boolean;
36
36
  _calculateStatsIfActive(annotation: PlanarFreehandROIAnnotation, targetId: string, viewport: any, renderingEngine: any, enabledElement: any): void;
37
37
  private _calculateCachedStats;
38
- protected updateClosedCachedStats({ viewport, points, imageData, metadata, cachedStats, targetId, modalityUnit, canvasCoordinates, calibratedScale, }: {
38
+ protected updateClosedCachedStats({ viewport, points, imageData, metadata, cachedStats, targetId, modalityUnit, canvasCoordinates, calibratedScale, deltaInX, deltaInY, }: {
39
39
  viewport: any;
40
40
  points: any;
41
41
  imageData: any;
@@ -45,14 +45,18 @@ declare class PlanarFreehandROITool extends ContourSegmentationBaseTool {
45
45
  modalityUnit: any;
46
46
  canvasCoordinates: any;
47
47
  calibratedScale: any;
48
+ deltaInX: any;
49
+ deltaInY: any;
48
50
  }): void;
49
- protected updateOpenCachedStats({ targetId, metadata, canvasCoordinates, cachedStats, modalityUnit, calibratedScale, }: {
51
+ protected updateOpenCachedStats({ targetId, metadata, canvasCoordinates, cachedStats, modalityUnit, calibratedScale, deltaInX, deltaInY, }: {
50
52
  targetId: any;
51
53
  metadata: any;
52
54
  canvasCoordinates: any;
53
55
  cachedStats: any;
54
56
  modalityUnit: any;
55
57
  calibratedScale: any;
58
+ deltaInX: any;
59
+ deltaInY: any;
56
60
  }): void;
57
61
  private _renderStats;
58
62
  }
@@ -168,6 +168,18 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
168
168
  const bottomRightBBIndex = csUtils.transformWorldToIndex(imageData, bottomRightBBWorld);
169
169
  return [topLeftBBIndex, bottomRightBBIndex];
170
170
  });
171
+ const canvasPoint = canvasCoordinates[0];
172
+ const originalWorldPoint = viewport.canvasToWorld(canvasPoint);
173
+ const deltaXPoint = viewport.canvasToWorld([
174
+ canvasPoint[0] + 1,
175
+ canvasPoint[1],
176
+ ]);
177
+ const deltaYPoint = viewport.canvasToWorld([
178
+ canvasPoint[0],
179
+ canvasPoint[1] + 1,
180
+ ]);
181
+ const deltaInX = vec3.distance(originalWorldPoint, deltaXPoint);
182
+ const deltaInY = vec3.distance(originalWorldPoint, deltaYPoint);
171
183
  if (closed) {
172
184
  this.updateClosedCachedStats({
173
185
  targetId,
@@ -179,6 +191,8 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
179
191
  cachedStats,
180
192
  modalityUnit,
181
193
  calibratedScale,
194
+ deltaInX,
195
+ deltaInY,
182
196
  });
183
197
  }
184
198
  else {
@@ -189,6 +203,8 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
189
203
  cachedStats,
190
204
  modalityUnit,
191
205
  calibratedScale,
206
+ deltaInX,
207
+ deltaInY,
192
208
  });
193
209
  }
194
210
  }
@@ -410,21 +426,9 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
410
426
  }
411
427
  }
412
428
  }
413
- updateClosedCachedStats({ viewport, points, imageData, metadata, cachedStats, targetId, modalityUnit, canvasCoordinates, calibratedScale, }) {
429
+ updateClosedCachedStats({ viewport, points, imageData, metadata, cachedStats, targetId, modalityUnit, canvasCoordinates, calibratedScale, deltaInX, deltaInY, }) {
414
430
  const { scale, areaUnit, unit } = calibratedScale;
415
431
  const { voxelManager } = viewport.getImageData();
416
- const canvasPoint = canvasCoordinates[0];
417
- const originalWorldPoint = viewport.canvasToWorld(canvasPoint);
418
- const deltaXPoint = viewport.canvasToWorld([
419
- canvasPoint[0] + 1,
420
- canvasPoint[1],
421
- ]);
422
- const deltaYPoint = viewport.canvasToWorld([
423
- canvasPoint[0],
424
- canvasPoint[1] + 1,
425
- ]);
426
- const deltaInX = vec3.distance(originalWorldPoint, deltaXPoint);
427
- const deltaInY = vec3.distance(originalWorldPoint, deltaYPoint);
428
432
  const worldPosIndex = csUtils.transformWorldToIndex(imageData, points[0]);
429
433
  worldPosIndex[0] = Math.floor(worldPosIndex[0]);
430
434
  worldPosIndex[1] = Math.floor(worldPosIndex[1]);
@@ -453,6 +457,8 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
453
457
  worldPosIndex2[2] = Math.floor(worldPosIndex2[2]);
454
458
  let area = polyline.getArea(canvasCoordinates) / scale / scale;
455
459
  area *= deltaInX * deltaInY;
460
+ let perimeter = calculatePerimeter(canvasCoordinates, closed) / scale;
461
+ perimeter *= Math.sqrt(Math.pow(deltaInX, 2) + Math.pow(deltaInY, 2));
456
462
  const iDelta = 0.01 * (iMax - iMin);
457
463
  const jDelta = 0.01 * (jMax - jMin);
458
464
  const kDelta = 0.01 * (kMax - kMin);
@@ -510,7 +516,7 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
510
516
  cachedStats[targetId] = {
511
517
  Modality: metadata.Modality,
512
518
  area,
513
- perimeter: calculatePerimeter(canvasCoordinates, closed) / scale,
519
+ perimeter,
514
520
  mean: stats.mean?.value,
515
521
  max: stats.max?.value,
516
522
  min: stats.min?.value,
@@ -522,11 +528,13 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
522
528
  unit,
523
529
  };
524
530
  }
525
- updateOpenCachedStats({ targetId, metadata, canvasCoordinates, cachedStats, modalityUnit, calibratedScale, }) {
531
+ updateOpenCachedStats({ targetId, metadata, canvasCoordinates, cachedStats, modalityUnit, calibratedScale, deltaInX, deltaInY, }) {
526
532
  const { scale, unit } = calibratedScale;
533
+ let length = calculatePerimeter(canvasCoordinates, closed) / scale;
534
+ length *= Math.sqrt(Math.pow(deltaInX, 2) + Math.pow(deltaInY, 2));
527
535
  cachedStats[targetId] = {
528
536
  Modality: metadata.Modality,
529
- length: calculatePerimeter(canvasCoordinates, false) / scale,
537
+ length,
530
538
  modalityUnit,
531
539
  unit,
532
540
  };
@@ -1 +1 @@
1
- export declare const version = "3.19.4";
1
+ export declare const version = "3.19.5";
@@ -1 +1 @@
1
- export const version = '3.19.4';
1
+ export const version = '3.19.5';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "3.19.4",
3
+ "version": "3.19.5",
4
4
  "description": "Cornerstone3D Tools",
5
5
  "types": "./dist/esm/index.d.ts",
6
6
  "module": "./dist/esm/index.js",
@@ -108,7 +108,7 @@
108
108
  "canvas": "^3.1.0"
109
109
  },
110
110
  "peerDependencies": {
111
- "@cornerstonejs/core": "^3.19.4",
111
+ "@cornerstonejs/core": "^3.19.5",
112
112
  "@kitware/vtk.js": "32.12.1",
113
113
  "@types/d3-array": "^3.0.4",
114
114
  "@types/d3-interpolate": "^3.0.1",
@@ -127,5 +127,5 @@
127
127
  "type": "individual",
128
128
  "url": "https://ohif.org/donate"
129
129
  },
130
- "gitHead": "dd5d1bd7024e51dcfa9811554f9e7c2d2ae4c90a"
130
+ "gitHead": "0ac2936cd680904f6af5a2da670548d92399a727"
131
131
  }