@cornerstonejs/tools 1.29.0 → 1.30.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "1.29.0",
3
+ "version": "1.30.1",
4
4
  "description": "Cornerstone3D Tools",
5
5
  "main": "src/index.ts",
6
6
  "types": "dist/types/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.29.0",
32
+ "@cornerstonejs/core": "^1.30.1",
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": "7e7c3eb2156c26f594af9e664405f64d9e269f4d"
55
+ "gitHead": "fd8028a7f840ce13335bc96e014e35aaed8ebc8f"
56
56
  }
@@ -1,9 +1,4 @@
1
- import {
2
- getEnabledElementByIds,
3
- VolumeViewport,
4
- StackViewport,
5
- utilities as csUtils,
6
- } from '@cornerstonejs/core';
1
+ import { getEnabledElementByIds, VolumeViewport } from '@cornerstonejs/core';
7
2
  import { BaseTool } from './base';
8
3
  import { scroll } from '../utilities';
9
4
  import { PublicToolProps, ToolProps, EventTypes } from '../types';
@@ -45,7 +40,6 @@ class StackScrollTool extends BaseTool {
45
40
  const { debounceIfNotLoaded, invert, loop } = this.configuration;
46
41
 
47
42
  const deltaPointY = deltaPoints.canvas[1];
48
-
49
43
  let volumeId;
50
44
  if (viewport instanceof VolumeViewport) {
51
45
  volumeId = targetId.split('volumeId:')[1];
@@ -76,21 +70,11 @@ class StackScrollTool extends BaseTool {
76
70
 
77
71
  _getPixelPerImage(viewport) {
78
72
  const { element } = viewport;
79
- const numberOfSlices = this._getNumberOfSlices(viewport);
73
+ const numberOfSlices = viewport.getNumberOfSlices();
80
74
 
81
75
  // The Math.max here makes it easier to mouseDrag-scroll small or really large image stacks
82
76
  return Math.max(2, element.offsetHeight / Math.max(numberOfSlices, 8));
83
77
  }
84
-
85
- _getNumberOfSlices(viewport) {
86
- if (viewport instanceof VolumeViewport) {
87
- const { numberOfSlices } =
88
- csUtils.getImageSliceDataForVolumeViewport(viewport);
89
- return numberOfSlices;
90
- } else if (viewport instanceof StackViewport) {
91
- return viewport.getImageIds().length;
92
- }
93
- }
94
78
  }
95
79
 
96
80
  StackScrollTool.toolName = 'StackScroll';
@@ -48,6 +48,7 @@ class WindowLevelTool extends BaseTool {
48
48
  viewportsContainingVolumeUID;
49
49
  let isPreScaled = false;
50
50
 
51
+ const properties = viewport.getProperties();
51
52
  if (viewport instanceof VolumeViewport) {
52
53
  const targetId = this.getTargetId(viewport as Types.IVolumeViewport);
53
54
  volumeId = targetId.split('volumeId:')[1];
@@ -55,7 +56,6 @@ class WindowLevelTool extends BaseTool {
55
56
  volumeId,
56
57
  renderingEngine.id
57
58
  );
58
- const properties = viewport.getProperties();
59
59
  ({ lower, upper } = properties.voiRange);
60
60
  const volume = cache.getVolume(volumeId);
61
61
  if (!volume) {
@@ -63,11 +63,10 @@ class WindowLevelTool extends BaseTool {
63
63
  }
64
64
  modality = volume.metadata.Modality;
65
65
  isPreScaled = volume.scaling && Object.keys(volume.scaling).length > 0;
66
- } else if (viewport instanceof StackViewport) {
67
- const properties = viewport.getProperties();
68
- modality = viewport.modality;
66
+ } else if (properties.voiRange) {
67
+ modality = (viewport as any).modality;
69
68
  ({ lower, upper } = properties.voiRange);
70
- const { preScale } = viewport.getImageData();
69
+ const { preScale = { scaled: false } } = viewport.getImageData?.() || {};
71
70
  isPreScaled =
72
71
  preScale.scaled && preScale.scalingParameters?.suvbw !== undefined;
73
72
  } else {
@@ -98,22 +97,17 @@ class WindowLevelTool extends BaseTool {
98
97
  });
99
98
  }
100
99
 
101
- if (viewport instanceof StackViewport) {
102
- viewport.setProperties({
103
- voiRange: newRange,
104
- });
100
+ viewport.setProperties({
101
+ voiRange: newRange,
102
+ });
105
103
 
106
- viewport.render();
107
- return;
108
- }
104
+ viewport.render();
109
105
 
110
106
  if (viewport instanceof VolumeViewport) {
111
- viewport.setProperties({
112
- voiRange: newRange,
113
- });
114
-
115
107
  viewportsContainingVolumeUID.forEach((vp) => {
116
- vp.render();
108
+ if (viewport !== vp) {
109
+ vp.render();
110
+ }
117
111
  });
118
112
  return;
119
113
  }
@@ -208,6 +202,9 @@ class WindowLevelTool extends BaseTool {
208
202
  const { imageData } = viewport.getImageData();
209
203
  const dimensions = imageData.getDimensions();
210
204
 
205
+ if (imageData.getRange) {
206
+ return imageData.getRange();
207
+ }
211
208
  let scalarData;
212
209
  // if getScalarData is a method on imageData
213
210
  if (imageData.getScalarData) {