@cornerstonejs/tools 0.21.3 → 0.21.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 (37) hide show
  1. package/dist/cjs/tools/annotation/DragProbeTool.js +3 -1
  2. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  3. package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +1 -1
  4. package/dist/cjs/tools/annotation/EllipticalROITool.js +11 -29
  5. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  6. package/dist/cjs/tools/annotation/ProbeTool.d.ts +1 -1
  7. package/dist/cjs/tools/annotation/ProbeTool.js +26 -36
  8. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  9. package/dist/cjs/tools/annotation/RectangleROITool.d.ts +1 -1
  10. package/dist/cjs/tools/annotation/RectangleROITool.js +10 -25
  11. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  12. package/dist/cjs/utilities/getModalityUnit.d.ts +2 -0
  13. package/dist/cjs/utilities/getModalityUnit.js +16 -0
  14. package/dist/cjs/utilities/getModalityUnit.js.map +1 -0
  15. package/dist/cjs/utilities/viewport/isViewportPreScaled.d.ts +3 -0
  16. package/dist/cjs/utilities/viewport/isViewportPreScaled.js +20 -0
  17. package/dist/cjs/utilities/viewport/isViewportPreScaled.js.map +1 -0
  18. package/dist/esm/tools/annotation/DragProbeTool.js +3 -1
  19. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  20. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +1 -1
  21. package/dist/esm/tools/annotation/EllipticalROITool.js +11 -29
  22. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  23. package/dist/esm/tools/annotation/ProbeTool.d.ts +1 -1
  24. package/dist/esm/tools/annotation/ProbeTool.js +26 -36
  25. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  26. package/dist/esm/tools/annotation/RectangleROITool.d.ts +1 -1
  27. package/dist/esm/tools/annotation/RectangleROITool.js +10 -25
  28. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  29. package/dist/esm/utilities/getModalityUnit.d.ts +2 -0
  30. package/dist/esm/utilities/getModalityUnit.js +13 -0
  31. package/dist/esm/utilities/getModalityUnit.js.map +1 -0
  32. package/dist/esm/utilities/viewport/isViewportPreScaled.d.ts +3 -0
  33. package/dist/esm/utilities/viewport/isViewportPreScaled.js +17 -0
  34. package/dist/esm/utilities/viewport/isViewportPreScaled.js.map +1 -0
  35. package/dist/umd/index.js +1 -1
  36. package/dist/umd/index.js.map +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getModalityUnit = void 0;
4
+ function getModalityUnit(modality, isPreScaled) {
5
+ if (modality === 'CT') {
6
+ return 'HU';
7
+ }
8
+ else if (modality === 'PT' && isPreScaled === true) {
9
+ return 'SUV';
10
+ }
11
+ else {
12
+ return '';
13
+ }
14
+ }
15
+ exports.getModalityUnit = getModalityUnit;
16
+ //# sourceMappingURL=getModalityUnit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getModalityUnit.js","sourceRoot":"","sources":["../../../src/utilities/getModalityUnit.ts"],"names":[],"mappings":";;;AAAA,SAAS,eAAe,CAAC,QAAgB,EAAE,WAAoB;IAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAEQ,0CAAe"}
@@ -0,0 +1,3 @@
1
+ import { Types } from '@cornerstonejs/core';
2
+ declare function isViewportPreScaled(viewport: Types.IStackViewport | Types.IVolumeViewport, targetId: string): boolean;
3
+ export { isViewportPreScaled };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isViewportPreScaled = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ function isViewportPreScaled(viewport, targetId) {
6
+ if (viewport instanceof core_1.VolumeViewport) {
7
+ const volumeId = targetId.split('volumeId:')[1];
8
+ const volume = core_1.cache.getVolume(volumeId);
9
+ return volume.scaling && Object.keys(volume.scaling).length > 0;
10
+ }
11
+ else if (viewport instanceof core_1.StackViewport) {
12
+ const { preScale } = viewport.getImageData();
13
+ return preScale.scaled;
14
+ }
15
+ else {
16
+ throw new Error('Viewport is not a valid type');
17
+ }
18
+ }
19
+ exports.isViewportPreScaled = isViewportPreScaled;
20
+ //# sourceMappingURL=isViewportPreScaled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isViewportPreScaled.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/isViewportPreScaled.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAE7B,SAAS,mBAAmB,CAC1B,QAAsD,EACtD,QAAgB;IAEhB,IAAI,QAAQ,YAAY,qBAAc,EAAE;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACjE;SAAM,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC;KACxB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;AACH,CAAC;AAEQ,kDAAmB"}
@@ -4,6 +4,7 @@ import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters'
4
4
  import { hideElementCursor } from '../../cursors/elementCursor';
5
5
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
6
6
  import ProbeTool from './ProbeTool';
7
+ import { isViewportPreScaled } from '../../utilities/viewport/isViewportPreScaled';
7
8
  export default class DragProbeTool extends ProbeTool {
8
9
  constructor(toolProps = {}, defaultToolProps = {
9
10
  supportedInteractionTypes: ['Mouse', 'Touch'],
@@ -89,7 +90,8 @@ export default class DragProbeTool extends ProbeTool {
89
90
  const handleGroupUID = '0';
90
91
  drawHandlesSvg(svgDrawingHelper, annotationUID, handleGroupUID, [canvasCoordinates], { color });
91
92
  renderStatus = true;
92
- const textLines = this._getTextLines(data, targetId);
93
+ const isPreScaled = isViewportPreScaled(viewport, targetId);
94
+ const textLines = this._getTextLines(data, targetId, isPreScaled);
93
95
  if (textLines) {
94
96
  const textCanvasCoordinates = [
95
97
  canvasCoordinates[0] + 6,
@@ -1 +1 @@
1
- {"version":3,"file":"DragProbeTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/DragProbeTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DragProbeTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/DragProbeTool.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export default class EllipticalROITool extends AnnotationTool {
37
37
  _activateDraw: (element: any) => void;
38
38
  _deactivateDraw: (element: any) => void;
39
39
  renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
40
- _getTextLines: (data: any, targetId: any) => any[];
40
+ _getTextLines: (data: any, targetId: string, isPreScaled: boolean) => string[];
41
41
  _calculateCachedStats: (annotation: any, viewport: any, renderingEngine: any, enabledElement: any) => any;
42
42
  _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
43
43
  _pointInEllipseCanvas(ellipse: any, location: Types.Point2): boolean;
@@ -14,6 +14,8 @@ import { pointInEllipse, getCanvasEllipseCorners, } from '../../utilities/math/e
14
14
  import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCursor';
15
15
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
16
16
  import { pointInShapeCallback } from '../../utilities/';
17
+ import { getModalityUnit } from '../../utilities/getModalityUnit';
18
+ import { isViewportPreScaled } from '../../utilities/viewport/isViewportPreScaled';
17
19
  const { transformWorldToIndex } = csUtils;
18
20
  export default class EllipticalROITool extends AnnotationTool {
19
21
  constructor(toolProps = {}, defaultToolProps = {
@@ -466,7 +468,8 @@ export default class EllipticalROITool extends AnnotationTool {
466
468
  lineWidth,
467
469
  });
468
470
  renderStatus = true;
469
- const textLines = this._getTextLines(data, targetId);
471
+ const isPreScaled = isViewportPreScaled(viewport, targetId);
472
+ const textLines = this._getTextLines(data, targetId, isPreScaled);
470
473
  if (!textLines || textLines.length === 0) {
471
474
  continue;
472
475
  }
@@ -489,46 +492,25 @@ export default class EllipticalROITool extends AnnotationTool {
489
492
  }
490
493
  return renderStatus;
491
494
  };
492
- this._getTextLines = (data, targetId) => {
495
+ this._getTextLines = (data, targetId, isPreScaled) => {
493
496
  const cachedVolumeStats = data.cachedStats[targetId];
494
497
  const { area, mean, stdDev, max, isEmptyArea, Modality, areaUnit } = cachedVolumeStats;
495
498
  const textLines = [];
496
- let areaLine, meanLine, stdDevLine, maxLine;
499
+ const unit = getModalityUnit(Modality, isPreScaled);
497
500
  if (area) {
498
- areaLine = isEmptyArea
501
+ const areaLine = isEmptyArea
499
502
  ? `Area: Oblique not supported`
500
503
  : `Area: ${area.toFixed(2)} ${areaUnit}\xb2`;
504
+ textLines.push(areaLine);
501
505
  }
502
506
  if (mean) {
503
- meanLine = `Mean: ${mean.toFixed(2)}`;
507
+ textLines.push(`Mean: ${mean.toFixed(2)} ${unit}`);
504
508
  }
505
509
  if (max) {
506
- maxLine = `Max: ${max.toFixed(2)}`;
510
+ textLines.push(`Max: ${max.toFixed(2)} ${unit}`);
507
511
  }
508
512
  if (stdDev) {
509
- stdDevLine = `StdDev: ${stdDev.toFixed(2)}`;
510
- }
511
- let unit;
512
- if (Modality === 'PT') {
513
- unit = 'SUV';
514
- }
515
- else if (Modality === 'CT') {
516
- unit = 'HU';
517
- }
518
- else {
519
- unit = 'MO';
520
- }
521
- if (areaLine) {
522
- textLines.push(areaLine);
523
- }
524
- if (meanLine) {
525
- textLines.push(meanLine + ' ' + unit);
526
- }
527
- if (maxLine) {
528
- textLines.push(maxLine + ' ' + unit);
529
- }
530
- if (stdDevLine) {
531
- textLines.push(stdDevLine + ' ' + unit);
513
+ textLines.push(`Std Dev: ${stdDev.toFixed(2)} ${unit}`);
532
514
  }
533
515
  return textLines;
534
516
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EllipticalROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/EllipticalROITool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EllipticalROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/EllipticalROITool.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export default class ProbeTool extends AnnotationTool {
29
29
  _activateModify: (element: any) => void;
30
30
  _deactivateModify: (element: any) => void;
31
31
  renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
32
- _getTextLines(data: any, targetId: any): any[];
32
+ _getTextLines(data: any, targetId: string, isPreScaled: boolean): string[] | undefined;
33
33
  _getValueForModality(value: any, imageVolume: any, modality: any): {};
34
34
  _calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
35
35
  }
@@ -8,6 +8,8 @@ import { Events } from '../../enums';
8
8
  import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
9
9
  import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCursor';
10
10
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
11
+ import { getModalityUnit } from '../../utilities/getModalityUnit';
12
+ import { isViewportPreScaled } from '../../utilities/viewport/isViewportPreScaled';
11
13
  const { transformWorldToIndex } = csUtils;
12
14
  export default class ProbeTool extends AnnotationTool {
13
15
  constructor(toolProps = {}, defaultToolProps = {
@@ -196,7 +198,8 @@ export default class ProbeTool extends AnnotationTool {
196
198
  const handleGroupUID = '0';
197
199
  drawHandlesSvg(svgDrawingHelper, annotationUID, handleGroupUID, [canvasCoordinates], { color });
198
200
  renderStatus = true;
199
- const textLines = this._getTextLines(data, targetId);
201
+ const isPreScaled = isViewportPreScaled(viewport, targetId);
202
+ const textLines = this._getTextLines(data, targetId, isPreScaled);
200
203
  if (textLines) {
201
204
  const textCanvasCoordinates = [
202
205
  canvasCoordinates[0] + 6,
@@ -241,60 +244,47 @@ export default class ProbeTool extends AnnotationTool {
241
244
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
242
245
  evt.preventDefault();
243
246
  }
244
- _getTextLines(data, targetId) {
247
+ _getTextLines(data, targetId, isPreScaled) {
245
248
  const cachedVolumeStats = data.cachedStats[targetId];
246
249
  const { index, Modality, value, SUVBw, SUVLbm, SUVBsa } = cachedVolumeStats;
247
250
  if (value === undefined && SUVBw === undefined) {
248
251
  return;
249
252
  }
250
253
  const textLines = [];
254
+ const unit = getModalityUnit(Modality, isPreScaled);
251
255
  textLines.push(`(${index[0]}, ${index[1]}, ${index[2]})`);
252
- if (Modality === 'PT') {
253
- if (value) {
254
- textLines.push(`${value.toFixed(2)} SUV`);
256
+ if (Modality === 'PT' && isPreScaled === true && SUVBw !== undefined) {
257
+ textLines.push(`${SUVBw.toFixed(2)} SUV bw`);
258
+ if (SUVLbm) {
259
+ textLines.push(`${SUVLbm.toFixed(2)} SUV lbm`);
255
260
  }
256
- else {
257
- textLines.push(`${SUVBw.toFixed(2)} SUV bw`);
258
- if (SUVLbm) {
259
- textLines.push(`${SUVLbm.toFixed(2)} SUV lbm`);
260
- }
261
- if (SUVBsa) {
262
- textLines.push(`${SUVBsa.toFixed(2)} SUV bsa`);
263
- }
261
+ if (SUVBsa) {
262
+ textLines.push(`${SUVBsa.toFixed(2)} SUV bsa`);
264
263
  }
265
264
  }
266
- else if (Modality === 'CT') {
267
- textLines.push(`${value.toFixed(2)} HU`);
268
- }
269
265
  else {
270
- textLines.push(`${value.toFixed(2)} MO`);
266
+ textLines.push(`${value.toFixed(2)} ${unit}`);
271
267
  }
272
268
  return textLines;
273
269
  }
274
270
  _getValueForModality(value, imageVolume, modality) {
275
271
  const values = {};
276
- if (modality === 'PT') {
277
- if (imageVolume.scaling.PET &&
278
- (imageVolume.scaling.PET.suvbwToSuvbsa ||
279
- imageVolume.scaling.PET.suvbwToSuvlbm)) {
280
- const { suvbwToSuvlbm, suvbwToSuvbsa } = imageVolume.scaling.PET;
281
- values['SUVBw'] = value;
282
- if (suvbwToSuvlbm) {
283
- const SUVLbm = value * suvbwToSuvlbm;
284
- values['SUVLbm'] = SUVLbm;
285
- }
286
- if (suvbwToSuvlbm) {
287
- const SUVBsa = value * suvbwToSuvbsa;
288
- values['SUVBsa'] = SUVBsa;
289
- }
272
+ values['value'] = value;
273
+ if (modality === 'PT' &&
274
+ imageVolume.scaling.PET &&
275
+ (imageVolume.scaling.PET.suvbwToSuvbsa ||
276
+ imageVolume.scaling.PET.suvbwToSuvlbm)) {
277
+ const { suvbwToSuvlbm, suvbwToSuvbsa } = imageVolume.scaling.PET;
278
+ values['SUVBw'] = value;
279
+ if (suvbwToSuvlbm) {
280
+ const SUVLbm = value * suvbwToSuvlbm;
281
+ values['SUVLbm'] = SUVLbm;
290
282
  }
291
- else {
292
- values['value'] = value;
283
+ if (suvbwToSuvbsa) {
284
+ const SUVBsa = value * suvbwToSuvbsa;
285
+ values['SUVBsa'] = SUVBsa;
293
286
  }
294
287
  }
295
- else {
296
- values['value'] = value;
297
- }
298
288
  return values;
299
289
  }
300
290
  _calculateCachedStats(annotation, renderingEngine, enabledElement) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProbeTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/ProbeTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProbeTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/ProbeTool.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export default class RectangleROITool extends AnnotationTool {
34
34
  width: number;
35
35
  height: number;
36
36
  };
37
- _getTextLines: (data: any, targetId: string) => any[];
37
+ _getTextLines: (data: any, targetId: string, isPreScaled: boolean) => string[] | undefined;
38
38
  _calculateCachedStats: (annotation: any, viewPlaneNormal: any, viewUp: any, renderingEngine: any, enabledElement: any) => any;
39
39
  _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
40
40
  }
@@ -13,6 +13,8 @@ import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
13
13
  import getWorldWidthAndHeightFromCorners from '../../utilities/planar/getWorldWidthAndHeightFromCorners';
14
14
  import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCursor';
15
15
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
16
+ import { getModalityUnit } from '../../utilities/getModalityUnit';
17
+ import { isViewportPreScaled } from '../../utilities/viewport/isViewportPreScaled';
16
18
  const { transformWorldToIndex } = csUtils;
17
19
  export default class RectangleROITool extends AnnotationTool {
18
20
  constructor(toolProps = {}, defaultToolProps = {
@@ -392,7 +394,8 @@ export default class RectangleROITool extends AnnotationTool {
392
394
  lineWidth,
393
395
  });
394
396
  renderStatus = true;
395
- const textLines = this._getTextLines(data, targetId);
397
+ const isPreScaled = isViewportPreScaled(viewport, targetId);
398
+ const textLines = this._getTextLines(data, targetId, isPreScaled);
396
399
  if (!textLines || textLines.length === 0) {
397
400
  continue;
398
401
  }
@@ -423,36 +426,18 @@ export default class RectangleROITool extends AnnotationTool {
423
426
  height: Math.abs(point0[1] - point1[1]),
424
427
  };
425
428
  };
426
- this._getTextLines = (data, targetId) => {
429
+ this._getTextLines = (data, targetId, isPreScaled) => {
427
430
  const cachedVolumeStats = data.cachedStats[targetId];
428
431
  const { area, mean, max, stdDev, Modality, areaUnit } = cachedVolumeStats;
429
432
  if (mean === undefined) {
430
433
  return;
431
434
  }
432
435
  const textLines = [];
433
- const areaLine = `Area: ${area.toFixed(2)} ${areaUnit}\xb2`;
434
- let meanLine = `Mean: ${mean.toFixed(2)}`;
435
- let maxLine = `Max: ${max.toFixed(2)}`;
436
- let stdDevLine = `Std Dev: ${stdDev.toFixed(2)}`;
437
- if (Modality === 'PT') {
438
- meanLine += ' SUV';
439
- maxLine += ' SUV';
440
- stdDevLine += ' SUV';
441
- }
442
- else if (Modality === 'CT') {
443
- meanLine += ' HU';
444
- maxLine += ' HU';
445
- stdDevLine += ' HU';
446
- }
447
- else {
448
- meanLine += ' MO';
449
- maxLine += ' MO';
450
- stdDevLine += ' MO';
451
- }
452
- textLines.push(areaLine);
453
- textLines.push(maxLine);
454
- textLines.push(meanLine);
455
- textLines.push(stdDevLine);
436
+ const unit = getModalityUnit(Modality, isPreScaled);
437
+ textLines.push(`Area: ${area.toFixed(2)} ${areaUnit}\xb2`);
438
+ textLines.push(`Mean: ${mean.toFixed(2)} ${unit}`);
439
+ textLines.push(`Max: ${max.toFixed(2)} ${unit}`);
440
+ textLines.push(`Std Dev: ${stdDev.toFixed(2)} ${unit}`);
456
441
  return textLines;
457
442
  };
458
443
  this._calculateCachedStats = (annotation, viewPlaneNormal, viewUp, renderingEngine, enabledElement) => {