@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/dist/cjs/tools/StackScrollTool.d.ts +0 -1
- package/dist/cjs/tools/StackScrollTool.js +1 -10
- package/dist/cjs/tools/StackScrollTool.js.map +1 -1
- package/dist/cjs/tools/WindowLevelTool.d.ts +1 -1
- package/dist/cjs/tools/WindowLevelTool.js +15 -17
- package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
- package/dist/esm/tools/StackScrollTool.js +2 -11
- package/dist/esm/tools/StackScrollTool.js.map +1 -1
- package/dist/esm/tools/WindowLevelTool.js +14 -16
- package/dist/esm/tools/WindowLevelTool.js.map +1 -1
- package/dist/types/tools/StackScrollTool.d.ts +0 -1
- package/dist/types/tools/StackScrollTool.d.ts.map +1 -1
- package/dist/types/tools/WindowLevelTool.d.ts +1 -1
- package/dist/types/tools/WindowLevelTool.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/tools/StackScrollTool.ts +2 -18
- package/src/tools/WindowLevelTool.ts +14 -17
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.
|
|
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.
|
|
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": "
|
|
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 =
|
|
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 (
|
|
67
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
});
|
|
100
|
+
viewport.setProperties({
|
|
101
|
+
voiRange: newRange,
|
|
102
|
+
});
|
|
105
103
|
|
|
106
|
-
|
|
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
|
|
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) {
|