@cornerstonejs/core 1.9.3 → 1.10.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/RenderingEngine/BaseVolumeViewport.js +2 -1
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js +4 -2
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
- package/dist/cjs/Settings.js +4 -2
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js +12 -6
- package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js.map +1 -1
- package/dist/cjs/utilities/getRuntimeId.js +2 -1
- package/dist/cjs/utilities/getRuntimeId.js.map +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +2 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js +4 -2
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
- package/dist/esm/Settings.js +4 -2
- package/dist/esm/Settings.js.map +1 -1
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +12 -6
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.js.map +1 -1
- package/dist/esm/utilities/getRuntimeId.js +2 -1
- package/dist/esm/utilities/getRuntimeId.js.map +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/RenderingEngine/BaseVolumeViewport.ts +3 -1
- package/src/RenderingEngine/RenderingEngine.ts +6 -2
- package/src/RenderingEngine/helpers/setVolumesForViewports.ts +3 -1
- package/src/Settings.ts +6 -2
- package/src/utilities/getClosestStackImageIndexForPoint.ts +18 -6
- package/src/utilities/getRuntimeId.ts +3 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/umd/index.js",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"type": "individual",
|
|
47
47
|
"url": "https://ohif.org/donate"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "d5dfd002158723322adb328e32bc8637b8035dea"
|
|
50
50
|
}
|
|
@@ -519,7 +519,9 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
519
519
|
const volumeActor = actorEntry.actor as vtkVolume;
|
|
520
520
|
const volumeId = actorEntry.uid;
|
|
521
521
|
const volume = cache.getVolume(volumeId);
|
|
522
|
-
if (!volume)
|
|
522
|
+
if (!volume) {
|
|
523
|
+
return null;
|
|
524
|
+
}
|
|
523
525
|
const cfun = volumeActor.getProperty().getRGBTransferFunction(0);
|
|
524
526
|
const [lower, upper] =
|
|
525
527
|
this.VOILUTFunction === 'SIGMOID'
|
|
@@ -547,7 +547,9 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
547
547
|
) {
|
|
548
548
|
// 1. If viewport has a custom resize method, call it here.
|
|
549
549
|
customRenderingViewports.forEach((vp) => {
|
|
550
|
-
if (typeof vp.resize === 'function')
|
|
550
|
+
if (typeof vp.resize === 'function') {
|
|
551
|
+
vp.resize();
|
|
552
|
+
}
|
|
551
553
|
});
|
|
552
554
|
|
|
553
555
|
// 3. Reset viewport cameras
|
|
@@ -1125,7 +1127,9 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
1125
1127
|
|
|
1126
1128
|
eventDetailArray.forEach((eventDetail) => {
|
|
1127
1129
|
// Very small viewports won't have an element
|
|
1128
|
-
if (!eventDetail?.element)
|
|
1130
|
+
if (!eventDetail?.element) {
|
|
1131
|
+
return;
|
|
1132
|
+
}
|
|
1129
1133
|
triggerEvent(eventDetail.element, Events.IMAGE_RENDERED, eventDetail);
|
|
1130
1134
|
});
|
|
1131
1135
|
};
|
|
@@ -34,7 +34,9 @@ async function setVolumesForViewports(
|
|
|
34
34
|
|
|
35
35
|
// if not instance of BaseVolumeViewport, throw
|
|
36
36
|
if (!(viewport instanceof BaseVolumeViewport)) {
|
|
37
|
-
throw new Error(
|
|
37
|
+
throw new Error(
|
|
38
|
+
'setVolumesForViewports only supports VolumeViewport and VolumeViewport3D'
|
|
39
|
+
);
|
|
38
40
|
}
|
|
39
41
|
});
|
|
40
42
|
|
package/src/Settings.ts
CHANGED
|
@@ -250,10 +250,14 @@ function get(dictionary: Record<string, unknown>, key: string): unknown {
|
|
|
250
250
|
*/
|
|
251
251
|
function isValidKey(key: string): boolean {
|
|
252
252
|
let last: number, current: number, previous: number;
|
|
253
|
-
if (typeof key !== 'string' || (last = key.length - 1) < 0)
|
|
253
|
+
if (typeof key !== 'string' || (last = key.length - 1) < 0) {
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
254
256
|
previous = -1;
|
|
255
257
|
while ((current = key.indexOf('.', previous + 1)) >= 0) {
|
|
256
|
-
if (current - previous < 2 || current === last)
|
|
258
|
+
if (current - previous < 2 || current === last) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
257
261
|
previous = current;
|
|
258
262
|
}
|
|
259
263
|
return true;
|
|
@@ -29,11 +29,15 @@ export function calculateMinimalDistanceForStackViewport(
|
|
|
29
29
|
const imageIds = viewport.getImageIds();
|
|
30
30
|
const currentImageIdIndex = viewport.getCurrentImageIdIndex();
|
|
31
31
|
|
|
32
|
-
if (imageIds.length === 0)
|
|
32
|
+
if (imageIds.length === 0) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
33
35
|
|
|
34
36
|
const getDistance = (imageId: string): null | number => {
|
|
35
37
|
const planeMetadata = getPlaneMetadata(imageId);
|
|
36
|
-
if (!planeMetadata)
|
|
38
|
+
if (!planeMetadata) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
37
41
|
const plane = planar.planeEquation(
|
|
38
42
|
planeMetadata.planeNormal,
|
|
39
43
|
planeMetadata.imagePositionPatient
|
|
@@ -53,22 +57,30 @@ export function calculateMinimalDistanceForStackViewport(
|
|
|
53
57
|
for (let i = 0; i < higherImageIds.length; i++) {
|
|
54
58
|
const id = higherImageIds[i];
|
|
55
59
|
const distance = getDistance(id);
|
|
56
|
-
if (distance === null)
|
|
60
|
+
if (distance === null) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
57
63
|
if (distance <= closestStack.distance) {
|
|
58
64
|
closestStack.distance = distance;
|
|
59
65
|
closestStack.index = i + currentImageIdIndex + 1;
|
|
60
|
-
} else
|
|
66
|
+
} else {
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
61
69
|
}
|
|
62
70
|
//check lower indices
|
|
63
71
|
const lowerImageIds = imageIds.slice(0, currentImageIdIndex);
|
|
64
72
|
for (let i = lowerImageIds.length - 1; i >= 0; i--) {
|
|
65
73
|
const id = lowerImageIds[i];
|
|
66
74
|
const distance = getDistance(id);
|
|
67
|
-
if (distance === null || distance === closestStack.distance)
|
|
75
|
+
if (distance === null || distance === closestStack.distance) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
68
78
|
if (distance < closestStack.distance) {
|
|
69
79
|
closestStack.distance = distance;
|
|
70
80
|
closestStack.index = i;
|
|
71
|
-
} else
|
|
81
|
+
} else {
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
72
84
|
}
|
|
73
85
|
return closestStack.distance === Infinity ? null : closestStack;
|
|
74
86
|
}
|