@cornerstonejs/tools 1.45.1 → 1.47.0
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/MIPJumpToClickTool.js +1 -1
- package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollTool.js +1 -1
- package/dist/cjs/tools/StackScrollTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +1 -1
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/cjs/tools/WindowLevelTool.js +1 -1
- package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationDisplayTool.js +1 -1
- package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/base/BaseTool.js +7 -10
- package/dist/cjs/tools/base/BaseTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js +3 -3
- package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js +1 -1
- package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
- package/dist/cjs/utilities/viewport/isViewportPreScaled.js +3 -1
- package/dist/cjs/utilities/viewport/isViewportPreScaled.js.map +1 -1
- package/dist/esm/tools/MIPJumpToClickTool.js +1 -1
- package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/esm/tools/StackScrollTool.js +1 -1
- package/dist/esm/tools/StackScrollTool.js.map +1 -1
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js +1 -1
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/esm/tools/WindowLevelTool.js +1 -1
- package/dist/esm/tools/WindowLevelTool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationDisplayTool.js +1 -1
- package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.js +1 -1
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/base/BaseTool.js +7 -11
- package/dist/esm/tools/base/BaseTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +3 -3
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +1 -1
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
- package/dist/esm/utilities/viewport/isViewportPreScaled.js +3 -1
- package/dist/esm/utilities/viewport/isViewportPreScaled.js.map +1 -1
- package/dist/types/tools/base/BaseTool.d.ts.map +1 -1
- package/dist/types/utilities/viewport/isViewportPreScaled.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/MIPJumpToClickTool.ts +1 -1
- package/src/tools/StackScrollTool.ts +1 -1
- package/src/tools/StackScrollToolMouseWheelTool.ts +1 -1
- package/src/tools/WindowLevelTool.ts +1 -1
- package/src/tools/base/AnnotationDisplayTool.ts +1 -1
- package/src/tools/base/AnnotationTool.ts +1 -1
- package/src/tools/base/BaseTool.ts +7 -10
- package/src/tools/segmentation/RectangleROIStartEndThresholdTool.ts +3 -3
- package/src/tools/segmentation/RectangleROIThresholdTool.ts +1 -1
- package/src/utilities/viewport/isViewportPreScaled.ts +3 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.47.0",
|
|
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.47.0",
|
|
33
33
|
"comlink": "^4.4.1",
|
|
34
34
|
"lodash.clonedeep": "4.5.0",
|
|
35
35
|
"lodash.get": "^4.4.2"
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"type": "individual",
|
|
54
54
|
"url": "https://ohif.org/donate"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "b1235a2e36cda555341dfbd164ef45e519c4efd5"
|
|
57
57
|
}
|
|
@@ -54,7 +54,7 @@ class MIPJumpToClickTool extends BaseTool {
|
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
const volumeId = targetId.split(
|
|
57
|
+
const volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
58
58
|
|
|
59
59
|
// 3. Criteria function to search for the point (maximum intensity)
|
|
60
60
|
let maxIntensity = -Infinity;
|
|
@@ -42,7 +42,7 @@ class StackScrollTool extends BaseTool {
|
|
|
42
42
|
const deltaPointY = deltaPoints.canvas[1];
|
|
43
43
|
let volumeId;
|
|
44
44
|
if (viewport instanceof VolumeViewport) {
|
|
45
|
-
volumeId = targetId.split(
|
|
45
|
+
volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
const pixelsPerImage = this._getPixelPerImage(viewport);
|
|
@@ -35,7 +35,7 @@ class StackScrollMouseWheelTool extends BaseTool {
|
|
|
35
35
|
const delta = direction * (invert ? -1 : 1);
|
|
36
36
|
|
|
37
37
|
const targetId = this.getTargetId(viewport);
|
|
38
|
-
const volumeId = targetId.split(
|
|
38
|
+
const volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
39
39
|
|
|
40
40
|
scroll(viewport, {
|
|
41
41
|
delta,
|
|
@@ -51,7 +51,7 @@ class WindowLevelTool extends BaseTool {
|
|
|
51
51
|
const properties = viewport.getProperties();
|
|
52
52
|
if (viewport instanceof VolumeViewport) {
|
|
53
53
|
const targetId = this.getTargetId(viewport as Types.IVolumeViewport);
|
|
54
|
-
volumeId = targetId.split(
|
|
54
|
+
volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
55
55
|
viewportsContainingVolumeUID = utilities.getViewportsWithVolumeId(
|
|
56
56
|
volumeId,
|
|
57
57
|
renderingEngine.id
|
|
@@ -137,7 +137,7 @@ abstract class AnnotationDisplayTool extends BaseTool {
|
|
|
137
137
|
} else if (viewport instanceof VideoViewport) {
|
|
138
138
|
referencedImageId = targetId.split('videoId:')[1];
|
|
139
139
|
} else {
|
|
140
|
-
const volumeId = targetId.split(
|
|
140
|
+
const volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
141
141
|
const imageVolume = cache.getVolume(volumeId);
|
|
142
142
|
|
|
143
143
|
referencedImageId = utilities.getClosestImageId(
|
|
@@ -301,7 +301,7 @@ abstract class AnnotationTool extends AnnotationDisplayTool {
|
|
|
301
301
|
imageId?: string
|
|
302
302
|
): boolean {
|
|
303
303
|
if (viewport instanceof BaseVolumeViewport) {
|
|
304
|
-
const volumeId = targetId.split(
|
|
304
|
+
const volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
305
305
|
const volume = cache.getVolume(volumeId);
|
|
306
306
|
return volume.scaling?.PT !== undefined;
|
|
307
307
|
}
|
|
@@ -206,7 +206,7 @@ abstract class BaseTool implements IBaseTool {
|
|
|
206
206
|
|
|
207
207
|
return viewports[0].getImageData();
|
|
208
208
|
} else if (targetId.startsWith('volumeId:')) {
|
|
209
|
-
const volumeId = targetId.split(
|
|
209
|
+
const volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
210
210
|
const viewports = utilities.getViewportsWithVolumeId(
|
|
211
211
|
volumeId,
|
|
212
212
|
renderingEngine.id
|
|
@@ -248,17 +248,14 @@ abstract class BaseTool implements IBaseTool {
|
|
|
248
248
|
* @returns targetId
|
|
249
249
|
*/
|
|
250
250
|
protected getTargetId(viewport: Types.IViewport): string | undefined {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
const targetId = viewport.getTargetId?.();
|
|
252
|
+
if (targetId) {
|
|
253
|
+
return targetId;
|
|
254
|
+
}
|
|
255
|
+
if (viewport instanceof BaseVolumeViewport) {
|
|
254
256
|
return `volumeId:${this.getTargetVolumeId(viewport)}`;
|
|
255
|
-
} else if (viewport instanceof VideoViewport) {
|
|
256
|
-
return `videoId:${viewport.getCurrentImageId()}`;
|
|
257
|
-
} else {
|
|
258
|
-
throw new Error(
|
|
259
|
-
'getTargetId: viewport must be a StackViewport or VolumeViewport'
|
|
260
|
-
);
|
|
261
257
|
}
|
|
258
|
+
throw new Error('getTargetId: viewport must have a getTargetId method');
|
|
262
259
|
}
|
|
263
260
|
}
|
|
264
261
|
|
|
@@ -104,7 +104,7 @@ class RectangleROIStartEndThresholdTool extends RectangleROITool {
|
|
|
104
104
|
throw new Error('Stack Viewport Not implemented');
|
|
105
105
|
} else {
|
|
106
106
|
const targetId = this.getTargetId(viewport);
|
|
107
|
-
volumeId = targetId.split(
|
|
107
|
+
volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
108
108
|
imageVolume = cache.getVolume(volumeId);
|
|
109
109
|
referencedImageId = csUtils.getClosestImageId(
|
|
110
110
|
imageVolume,
|
|
@@ -269,8 +269,8 @@ class RectangleROIStartEndThresholdTool extends RectangleROITool {
|
|
|
269
269
|
const { viewportId, renderingEngineId, viewport } = enabledElement;
|
|
270
270
|
|
|
271
271
|
const { cachedStats } = data;
|
|
272
|
-
const
|
|
273
|
-
const imageVolume = cache.getVolume(
|
|
272
|
+
const targetId = this.getTargetId(viewport);
|
|
273
|
+
const imageVolume = cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
274
274
|
|
|
275
275
|
// Todo: this shouldn't be here, this is a performance issue
|
|
276
276
|
// Since we are extending the RectangleROI class, we need to
|
|
@@ -90,7 +90,7 @@ class RectangleROIThresholdTool extends RectangleROITool {
|
|
|
90
90
|
if (viewport instanceof StackViewport) {
|
|
91
91
|
referencedImageId = targetId.split('imageId:')[1];
|
|
92
92
|
} else {
|
|
93
|
-
volumeId = targetId.split(
|
|
93
|
+
volumeId = targetId.split(/volumeId:|\?/)[1];
|
|
94
94
|
const imageVolume = cache.getVolume(volumeId);
|
|
95
95
|
referencedImageId = csUtils.getClosestImageId(
|
|
96
96
|
imageVolume,
|
|
@@ -12,7 +12,9 @@ function isViewportPreScaled(
|
|
|
12
12
|
if (viewport instanceof BaseVolumeViewport) {
|
|
13
13
|
const targetIdTokens = targetId.split('volumeId:');
|
|
14
14
|
const volumeId =
|
|
15
|
-
targetIdTokens.length > 1
|
|
15
|
+
targetIdTokens.length > 1
|
|
16
|
+
? targetIdTokens[1].split('?')[0]
|
|
17
|
+
: targetIdTokens[0];
|
|
16
18
|
const volume = cache.getVolume(volumeId);
|
|
17
19
|
return !!volume?.scaling && Object.keys(volume.scaling).length > 0;
|
|
18
20
|
} else if (viewport instanceof StackViewport) {
|