@ohif/app 3.12.0-beta.52 → 3.12.0-beta.54
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/{1447.bundle.f58681b8a8c6746c3256.js → 1447.bundle.b15051ce6a9bcec1ac6a.js} +2 -2
- package/dist/{1919.bundle.b1390ab4c85106c069e2.js → 1919.bundle.7c1b4166b95e7dffe973.js} +1 -0
- package/dist/{2243.bundle.92d2afd8756bda5e2ca3.js → 2243.bundle.727d1f866dda05467f19.js} +1 -0
- package/dist/{2518.bundle.fbbfa351f8e8c446599b.js → 2518.bundle.57c229a14e22d23db384.js} +1 -0
- package/dist/{2974.bundle.ec95e58b346dbe30a362.js → 2974.bundle.a90a9df917b90bc02c69.js} +1 -0
- package/dist/{4019.bundle.c5b332003e3cd00868ce.js → 4019.bundle.13e7f662a9e489b74a27.js} +70 -3
- package/dist/{4759.bundle.8686abdd7bcf4aa7d107.js → 4759.bundle.c3bfca952eea20a0d6f9.js} +1 -0
- package/dist/{5674.bundle.24de237ef15879b25714.js → 5674.bundle.8c34228471ff9e53b8c3.js} +1 -0
- package/dist/{6991.bundle.d0c8eb5e352477b0d42e.js → 6991.bundle.48929c562b9d3012e468.js} +1 -0
- package/dist/{7412.bundle.80f68b38041e891c64a8.js → 7412.bundle.c7950ea929406915ba33.js} +342 -84
- package/dist/{8558.bundle.9ee1f10769f9cac46bb3.js → 8558.bundle.9f596952dd6a5fa6f629.js} +1 -0
- package/dist/{934.bundle.d028841173058da9793c.js → 934.bundle.cce2fe2754a928b8cd6d.js} +1 -0
- package/dist/{9819.bundle.f9a684737e748002f1c2.js → 9819.bundle.d029289c240373cfb898.js} +16 -6
- package/dist/{9856.bundle.8e21e8c0322a0837862b.js → 9856.bundle.9a1396fddc3af67dcaf4.js} +169 -14
- package/dist/{9892.bundle.83de6c11c8a9eb4bba25.js → 9892.bundle.14e773b29e191babc8e4.js} +326 -79
- package/dist/{app.bundle.7ea0ea630b0467e32f40.js → app.bundle.3759d6a4606059b97022.js} +11 -4
- package/dist/{compute.bundle.f176731b761d630f358c.js → compute.bundle.afdef7ac00941da4dd32.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.1ab7dd310985596b4098.js → polySeg.bundle.ba4364ed21d03c7a9df1.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +21 -21
- /package/dist/{1459.bundle.26bd313381a55ecd59f7.js → 1459.bundle.d4ef552f8dec2c8b15fc.js} +0 -0
- /package/dist/{1604.bundle.813a49f279de52122def.js → 1604.bundle.ba4b8c8f64d258a40850.js} +0 -0
- /package/dist/{1807.bundle.9609cc9a5502d3c5c4ba.js → 1807.bundle.ddc2996069271a8652a5.js} +0 -0
- /package/dist/{213.bundle.844009eea53b5e7b71bf.js → 213.bundle.d174db20fab2fdfed4f8.js} +0 -0
- /package/dist/{2424.bundle.d3c0fa7cda17e7a40fc9.js → 2424.bundle.132b9ea62e24599d01f7.js} +0 -0
- /package/dist/{3409.bundle.c756a8ccaa7faa1d9235.js → 3409.bundle.257f7edb1585ea06ba3c.js} +0 -0
- /package/dist/{4113.bundle.31fe4e2a2956ce6c5d2d.js → 4113.bundle.85916db39290d43aa53b.js} +0 -0
- /package/dist/{414.bundle.113bc87916aa22d4cccc.js → 414.bundle.6f9b2a00f06626f05c27.js} +0 -0
- /package/dist/{5457.bundle.1d6b074af89e69a54dde.js → 5457.bundle.51285f55e1389d654257.js} +0 -0
- /package/dist/{5485.bundle.ae87fca794a3248efdaa.js → 5485.bundle.371660cf6663e90cd622.js} +0 -0
- /package/dist/{6027.bundle.2b0e82eb38b6a028a255.js → 6027.bundle.f220a72a6e4232c38a87.js} +0 -0
- /package/dist/{6201.bundle.0d8aa2fba299a8cc92a9.js → 6201.bundle.40aca7bfb7513a6ebda7.js} +0 -0
- /package/dist/{7197.bundle.7cc9bb98050e4ae0294d.js → 7197.bundle.52da128e3f00a7ad7902.js} +0 -0
- /package/dist/{7639.bundle.fb8c61c6588c528d336f.js → 7639.bundle.1226ddb2bc46f5cae750.js} +0 -0
- /package/dist/{810.bundle.04da3bf08f7df9589091.js → 810.bundle.4f3a7ca74971239c1498.js} +0 -0
- /package/dist/{85.bundle.72ca9e62d8bcef003e42.js → 85.bundle.cc4e5b3a9acca13007a5.js} +0 -0
- /package/dist/{8815.bundle.c5c714fe2a3ff31aacad.js → 8815.bundle.525c88f93f5bd57e4980.js} +0 -0
|
@@ -6925,7 +6925,7 @@ var COLOR_LUT = __webpack_require__(93952);
|
|
|
6925
6925
|
|
|
6926
6926
|
|
|
6927
6927
|
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/version.js
|
|
6928
|
-
const version = '4.3
|
|
6928
|
+
const version = '4.5.3';
|
|
6929
6929
|
|
|
6930
6930
|
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/synchronizers/callbacks/cameraSyncCallback.js
|
|
6931
6931
|
|
|
@@ -7874,6 +7874,7 @@ var stackPrefetchUtils = __webpack_require__(94762);
|
|
|
7874
7874
|
|
|
7875
7875
|
|
|
7876
7876
|
|
|
7877
|
+
|
|
7877
7878
|
const { imageRetrieveMetadataProvider } = esm.utilities;
|
|
7878
7879
|
let configuration = {
|
|
7879
7880
|
maxImagesToPrefetch: Infinity,
|
|
@@ -7933,6 +7934,13 @@ function prefetch(element) {
|
|
|
7933
7934
|
console.log('prefetch done: %s', imageId);
|
|
7934
7935
|
const imageIdIndex = stack.imageIds.indexOf(imageId);
|
|
7935
7936
|
removeFromList(imageIdIndex);
|
|
7937
|
+
if (stackPrefetch.indicesToRequest.length === 0) {
|
|
7938
|
+
const eventDetail = {
|
|
7939
|
+
element: element,
|
|
7940
|
+
lastPrefetchedImageId: imageId,
|
|
7941
|
+
};
|
|
7942
|
+
(0,esm.triggerEvent)(esm.eventTarget, enums.Events.STACK_PREFETCH_COMPLETE, eventDetail);
|
|
7943
|
+
}
|
|
7936
7944
|
}
|
|
7937
7945
|
let lowerIndex = nearest.low;
|
|
7938
7946
|
let higherIndex = nearest.high;
|
|
@@ -8035,6 +8043,7 @@ const stackPrefetch = { enable: stackPrefetch_enable, disable: stackPrefetch_dis
|
|
|
8035
8043
|
|
|
8036
8044
|
|
|
8037
8045
|
|
|
8046
|
+
|
|
8038
8047
|
const { imageRetrieveMetadataProvider: stackContextPrefetch_imageRetrieveMetadataProvider } = esm.utilities;
|
|
8039
8048
|
let stackContextPrefetch_configuration = {
|
|
8040
8049
|
maxImagesToPrefetch: Infinity,
|
|
@@ -8139,6 +8148,13 @@ function stackContextPrefetch_prefetch(element, priority = 0) {
|
|
|
8139
8148
|
}
|
|
8140
8149
|
}
|
|
8141
8150
|
}
|
|
8151
|
+
if (stackPrefetch.indicesToRequest.length === 0) {
|
|
8152
|
+
const eventDetail = {
|
|
8153
|
+
element: element,
|
|
8154
|
+
lastPrefetchedImageId: imageId,
|
|
8155
|
+
};
|
|
8156
|
+
(0,esm.triggerEvent)(esm.eventTarget, enums.Events.STACK_PREFETCH_COMPLETE, eventDetail);
|
|
8157
|
+
}
|
|
8142
8158
|
}
|
|
8143
8159
|
const requestFn = (imageId, options) => {
|
|
8144
8160
|
const { retrieveOptions = {} } = esm.metaData.get(stackContextPrefetch_imageRetrieveMetadataProvider.IMAGE_RETRIEVE_CONFIGURATION, imageId, 'stack') || {};
|
|
@@ -10407,6 +10423,9 @@ var base = __webpack_require__(85817);
|
|
|
10407
10423
|
class PanTool extends base/* BaseTool */.oS {
|
|
10408
10424
|
constructor(toolProps = {}, defaultToolProps = {
|
|
10409
10425
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
10426
|
+
configuration: {
|
|
10427
|
+
limitToViewport: false,
|
|
10428
|
+
},
|
|
10410
10429
|
}) {
|
|
10411
10430
|
super(toolProps, defaultToolProps);
|
|
10412
10431
|
}
|
|
@@ -10416,17 +10435,77 @@ class PanTool extends base/* BaseTool */.oS {
|
|
|
10416
10435
|
mouseDragCallback(evt) {
|
|
10417
10436
|
this._dragCallback(evt);
|
|
10418
10437
|
}
|
|
10438
|
+
_checkImageInViewport(viewport, deltaPointsCanvas) {
|
|
10439
|
+
const { canvas } = viewport;
|
|
10440
|
+
const ratio = window.devicePixelRatio;
|
|
10441
|
+
const viewportLeft = 0;
|
|
10442
|
+
const viewportRight = canvas.width / ratio;
|
|
10443
|
+
const viewportTop = 0;
|
|
10444
|
+
const viewportBottom = canvas.height / ratio;
|
|
10445
|
+
const defaultActor = viewport.getDefaultActor();
|
|
10446
|
+
const renderer = viewport.getRenderer();
|
|
10447
|
+
let bounds;
|
|
10448
|
+
if (defaultActor && esm.utilities.isImageActor(defaultActor)) {
|
|
10449
|
+
const imageData = defaultActor.actor.getMapper().getInputData();
|
|
10450
|
+
bounds = imageData.getBounds();
|
|
10451
|
+
}
|
|
10452
|
+
else {
|
|
10453
|
+
bounds = renderer.computeVisiblePropBounds();
|
|
10454
|
+
}
|
|
10455
|
+
const [imageLeft, imageTop] = viewport.worldToCanvas([
|
|
10456
|
+
bounds[0],
|
|
10457
|
+
bounds[2],
|
|
10458
|
+
bounds[4],
|
|
10459
|
+
]);
|
|
10460
|
+
const [imageRight, imageBottom] = viewport.worldToCanvas([
|
|
10461
|
+
bounds[1],
|
|
10462
|
+
bounds[3],
|
|
10463
|
+
bounds[5],
|
|
10464
|
+
]);
|
|
10465
|
+
const zoom = viewport.getZoom();
|
|
10466
|
+
if (zoom <= 1) {
|
|
10467
|
+
if ((imageLeft + deltaPointsCanvas[0] < viewportLeft &&
|
|
10468
|
+
deltaPointsCanvas[0] < 0) ||
|
|
10469
|
+
(imageRight + deltaPointsCanvas[0] > viewportRight &&
|
|
10470
|
+
deltaPointsCanvas[0] > 0) ||
|
|
10471
|
+
(imageTop + deltaPointsCanvas[1] < viewportTop &&
|
|
10472
|
+
deltaPointsCanvas[1] < 0) ||
|
|
10473
|
+
(imageBottom + deltaPointsCanvas[1] > viewportBottom &&
|
|
10474
|
+
deltaPointsCanvas[1] > 0)) {
|
|
10475
|
+
return false;
|
|
10476
|
+
}
|
|
10477
|
+
}
|
|
10478
|
+
else {
|
|
10479
|
+
if ((imageLeft + deltaPointsCanvas[0] > viewportLeft &&
|
|
10480
|
+
deltaPointsCanvas[0] > 0) ||
|
|
10481
|
+
(imageRight + deltaPointsCanvas[0] < viewportRight &&
|
|
10482
|
+
deltaPointsCanvas[0] < 0) ||
|
|
10483
|
+
(imageTop + deltaPointsCanvas[1] > viewportTop &&
|
|
10484
|
+
deltaPointsCanvas[1] > 0) ||
|
|
10485
|
+
(imageBottom + deltaPointsCanvas[1] < viewportBottom &&
|
|
10486
|
+
deltaPointsCanvas[1] < 0)) {
|
|
10487
|
+
return false;
|
|
10488
|
+
}
|
|
10489
|
+
}
|
|
10490
|
+
return true;
|
|
10491
|
+
}
|
|
10419
10492
|
_dragCallback(evt) {
|
|
10420
10493
|
const { element, deltaPoints } = evt.detail;
|
|
10421
10494
|
const enabledElement = (0,esm.getEnabledElement)(element);
|
|
10422
10495
|
const deltaPointsWorld = deltaPoints.world;
|
|
10496
|
+
const deltaPointsCanvas = deltaPoints.canvas;
|
|
10423
10497
|
if (deltaPointsWorld[0] === 0 &&
|
|
10424
10498
|
deltaPointsWorld[1] === 0 &&
|
|
10425
10499
|
deltaPointsWorld[2] === 0) {
|
|
10426
10500
|
return;
|
|
10427
10501
|
}
|
|
10428
|
-
const
|
|
10502
|
+
const viewport = enabledElement.viewport;
|
|
10503
|
+
const camera = viewport.getCamera();
|
|
10429
10504
|
const { focalPoint, position } = camera;
|
|
10505
|
+
if (this.configuration.limitToViewport &&
|
|
10506
|
+
!this._checkImageInViewport(viewport, deltaPointsCanvas)) {
|
|
10507
|
+
return;
|
|
10508
|
+
}
|
|
10430
10509
|
const updatedPosition = [
|
|
10431
10510
|
position[0] - deltaPointsWorld[0],
|
|
10432
10511
|
position[1] - deltaPointsWorld[1],
|
|
@@ -10437,11 +10516,11 @@ class PanTool extends base/* BaseTool */.oS {
|
|
|
10437
10516
|
focalPoint[1] - deltaPointsWorld[1],
|
|
10438
10517
|
focalPoint[2] - deltaPointsWorld[2],
|
|
10439
10518
|
];
|
|
10440
|
-
|
|
10519
|
+
viewport.setCamera({
|
|
10441
10520
|
focalPoint: updatedFocalPoint,
|
|
10442
10521
|
position: updatedPosition,
|
|
10443
10522
|
});
|
|
10444
|
-
|
|
10523
|
+
viewport.render();
|
|
10445
10524
|
}
|
|
10446
10525
|
}
|
|
10447
10526
|
PanTool.toolName = 'Pan';
|
|
@@ -20271,68 +20350,79 @@ class EllipticalROITool extends base/* AnnotationTool */.EC {
|
|
|
20271
20350
|
pos1Index[0] = Math.floor(pos1Index[0]);
|
|
20272
20351
|
pos1Index[1] = Math.floor(pos1Index[1]);
|
|
20273
20352
|
pos1Index[2] = Math.floor(pos1Index[2]);
|
|
20274
|
-
const
|
|
20275
|
-
|
|
20276
|
-
|
|
20277
|
-
|
|
20278
|
-
|
|
20279
|
-
|
|
20280
|
-
|
|
20281
|
-
|
|
20282
|
-
|
|
20283
|
-
|
|
20284
|
-
|
|
20285
|
-
|
|
20286
|
-
|
|
20287
|
-
|
|
20288
|
-
|
|
20289
|
-
|
|
20290
|
-
|
|
20291
|
-
|
|
20292
|
-
|
|
20293
|
-
|
|
20294
|
-
|
|
20295
|
-
|
|
20296
|
-
|
|
20297
|
-
|
|
20298
|
-
|
|
20299
|
-
|
|
20300
|
-
|
|
20301
|
-
|
|
20302
|
-
|
|
20303
|
-
|
|
20304
|
-
|
|
20305
|
-
|
|
20306
|
-
|
|
20307
|
-
scale;
|
|
20308
|
-
|
|
20309
|
-
|
|
20310
|
-
|
|
20311
|
-
|
|
20312
|
-
|
|
20313
|
-
|
|
20314
|
-
|
|
20315
|
-
|
|
20316
|
-
|
|
20317
|
-
|
|
20318
|
-
|
|
20319
|
-
|
|
20320
|
-
|
|
20353
|
+
const pos2Index = EllipticalROITool_transformWorldToIndex(imageData, worldPos2);
|
|
20354
|
+
pos2Index[0] = Math.floor(pos2Index[0]);
|
|
20355
|
+
pos2Index[1] = Math.floor(pos2Index[1]);
|
|
20356
|
+
pos2Index[2] = Math.floor(pos2Index[2]);
|
|
20357
|
+
if (this._isInsideVolume(pos1Index, pos2Index, dimensions)) {
|
|
20358
|
+
const iMin = Math.min(pos1Index[0], pos2Index[0]);
|
|
20359
|
+
const iMax = Math.max(pos1Index[0], pos2Index[0]);
|
|
20360
|
+
const jMin = Math.min(pos1Index[1], pos2Index[1]);
|
|
20361
|
+
const jMax = Math.max(pos1Index[1], pos2Index[1]);
|
|
20362
|
+
const kMin = Math.min(pos1Index[2], pos2Index[2]);
|
|
20363
|
+
const kMax = Math.max(pos1Index[2], pos2Index[2]);
|
|
20364
|
+
const boundsIJK = [
|
|
20365
|
+
[iMin, iMax],
|
|
20366
|
+
[jMin, jMax],
|
|
20367
|
+
[kMin, kMax],
|
|
20368
|
+
];
|
|
20369
|
+
const center = [
|
|
20370
|
+
(topLeftWorld[0] + bottomRightWorld[0]) / 2,
|
|
20371
|
+
(topLeftWorld[1] + bottomRightWorld[1]) / 2,
|
|
20372
|
+
(topLeftWorld[2] + bottomRightWorld[2]) / 2,
|
|
20373
|
+
];
|
|
20374
|
+
const xRadius = Math.abs(topLeftWorld[0] - bottomRightWorld[0]) / 2;
|
|
20375
|
+
const yRadius = Math.abs(topLeftWorld[1] - bottomRightWorld[1]) / 2;
|
|
20376
|
+
const zRadius = Math.abs(topLeftWorld[2] - bottomRightWorld[2]) / 2;
|
|
20377
|
+
const ellipseObj = {
|
|
20378
|
+
center,
|
|
20379
|
+
xRadius: xRadius < esm.EPSILON / 2 ? 0 : xRadius,
|
|
20380
|
+
yRadius: yRadius < esm.EPSILON / 2 ? 0 : yRadius,
|
|
20381
|
+
zRadius: zRadius < esm.EPSILON / 2 ? 0 : zRadius,
|
|
20382
|
+
};
|
|
20383
|
+
const { worldWidth, worldHeight } = (0,getWorldWidthAndHeightFromTwoPoints/* default */.A)(viewPlaneNormal, viewUp, worldPos1, worldPos2);
|
|
20384
|
+
const isEmptyArea = worldWidth === 0 && worldHeight === 0;
|
|
20385
|
+
const handles = [pos1Index, pos2Index];
|
|
20386
|
+
const { scale, unit, areaUnit } = (0,getCalibratedUnits/* getCalibratedLengthUnitsAndScale */.Op)(image, handles);
|
|
20387
|
+
const aspect = (0,getCalibratedUnits/* getCalibratedAspect */.CQ)(image);
|
|
20388
|
+
const area = Math.abs(Math.PI *
|
|
20389
|
+
(worldWidth / scale / 2) *
|
|
20390
|
+
(worldHeight / aspect / scale / 2));
|
|
20391
|
+
const pixelUnitsOptions = {
|
|
20392
|
+
isPreScaled: (0,isViewportPreScaled/* isViewportPreScaled */.u)(viewport, targetId),
|
|
20393
|
+
isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
|
|
20394
|
+
};
|
|
20395
|
+
const modalityUnit = (0,getPixelValueUnits/* getPixelValueUnits */.j)(metadata.Modality, annotation.metadata.referencedImageId, pixelUnitsOptions);
|
|
20396
|
+
let pointsInShape;
|
|
20397
|
+
if (voxelManager) {
|
|
20398
|
+
pointsInShape = voxelManager.forEach(this.configuration.statsCalculator.statsCallback, {
|
|
20399
|
+
isInObject: (pointLPS) => (0,ellipse.pointInEllipse)(ellipseObj, pointLPS, { fast: true }),
|
|
20400
|
+
boundsIJK,
|
|
20401
|
+
imageData,
|
|
20402
|
+
returnPoints: this.configuration.storePointData,
|
|
20403
|
+
});
|
|
20404
|
+
}
|
|
20405
|
+
const stats = this.configuration.statsCalculator.getStatistics();
|
|
20406
|
+
cachedStats[targetId] = {
|
|
20407
|
+
Modality: metadata.Modality,
|
|
20408
|
+
area,
|
|
20409
|
+
mean: stats.mean?.value,
|
|
20410
|
+
max: stats.max?.value,
|
|
20411
|
+
min: stats.min?.value,
|
|
20412
|
+
stdDev: stats.stdDev?.value,
|
|
20413
|
+
statsArray: stats.array,
|
|
20414
|
+
pointsInShape,
|
|
20415
|
+
isEmptyArea,
|
|
20416
|
+
areaUnit,
|
|
20417
|
+
modalityUnit,
|
|
20418
|
+
};
|
|
20419
|
+
}
|
|
20420
|
+
else {
|
|
20421
|
+
this.isHandleOutsideImage = true;
|
|
20422
|
+
cachedStats[targetId] = {
|
|
20423
|
+
Modality: metadata.Modality,
|
|
20424
|
+
};
|
|
20321
20425
|
}
|
|
20322
|
-
const stats = this.configuration.statsCalculator.getStatistics();
|
|
20323
|
-
cachedStats[targetId] = {
|
|
20324
|
-
Modality: metadata.Modality,
|
|
20325
|
-
area,
|
|
20326
|
-
mean: stats.mean?.value,
|
|
20327
|
-
max: stats.max?.value,
|
|
20328
|
-
min: stats.min?.value,
|
|
20329
|
-
stdDev: stats.stdDev?.value,
|
|
20330
|
-
statsArray: stats.array,
|
|
20331
|
-
pointsInShape,
|
|
20332
|
-
isEmptyArea,
|
|
20333
|
-
areaUnit,
|
|
20334
|
-
modalityUnit,
|
|
20335
|
-
};
|
|
20336
20426
|
}
|
|
20337
20427
|
const invalidated = annotation.invalidated;
|
|
20338
20428
|
annotation.invalidated = false;
|
|
@@ -29054,6 +29144,7 @@ class LabelMapEditWithContourTool extends PlanarFreehandContourSegmentationTool/
|
|
|
29054
29144
|
esm.eventTarget.addEventListener(enums.Events.ANNOTATION_COMPLETED, this.annotationCompleted);
|
|
29055
29145
|
esm.eventTarget.addEventListener(enums.Events.TOOLGROUP_VIEWPORT_ADDED, this.onViewportAddedToToolGroupBinded);
|
|
29056
29146
|
esm.eventTarget.addEventListener(enums.Events.SEGMENTATION_MODIFIED, this.onSegmentationModifiedBinded);
|
|
29147
|
+
esm.eventTarget.addEventListener(enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED, this.onSegmentationModifiedBinded);
|
|
29057
29148
|
}
|
|
29058
29149
|
cleanUpListeners() {
|
|
29059
29150
|
LabelMapEditWithContourTool.annotationsToViewportMap.clear();
|
|
@@ -29062,6 +29153,7 @@ class LabelMapEditWithContourTool extends PlanarFreehandContourSegmentationTool/
|
|
|
29062
29153
|
esm.eventTarget.removeEventListener(enums.Events.ANNOTATION_COMPLETED, this.annotationCompleted);
|
|
29063
29154
|
esm.eventTarget.removeEventListener(enums.Events.TOOLGROUP_VIEWPORT_ADDED, this.onViewportAddedToToolGroup.bind(this));
|
|
29064
29155
|
esm.eventTarget.removeEventListener(enums.Events.SEGMENTATION_MODIFIED, this.onSegmentationModified.bind(this));
|
|
29156
|
+
esm.eventTarget.removeEventListener(enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED, this.onSegmentationModified.bind(this));
|
|
29065
29157
|
}
|
|
29066
29158
|
async checkContourSegmentation(viewportId) {
|
|
29067
29159
|
if (LabelMapEditWithContourTool.viewportIdsChecked.includes(viewportId)) {
|
|
@@ -36672,6 +36764,7 @@ class BrushTool extends _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__/* ["defa
|
|
|
36672
36764
|
},
|
|
36673
36765
|
}) {
|
|
36674
36766
|
super(toolProps, defaultToolProps);
|
|
36767
|
+
this._lastDragInfo = null;
|
|
36675
36768
|
this.onSetToolPassive = (evt) => {
|
|
36676
36769
|
this.disableCursor();
|
|
36677
36770
|
};
|
|
@@ -36683,14 +36776,24 @@ class BrushTool extends _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__/* ["defa
|
|
|
36683
36776
|
};
|
|
36684
36777
|
this.preMouseDownCallback = (evt) => {
|
|
36685
36778
|
const eventData = evt.detail;
|
|
36686
|
-
const { element } = eventData;
|
|
36779
|
+
const { element, currentPoints } = eventData;
|
|
36687
36780
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
36781
|
+
const { viewport } = enabledElement;
|
|
36688
36782
|
this._editData = this.createEditData(element);
|
|
36689
36783
|
this._activateDraw(element);
|
|
36690
36784
|
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_8__.hideElementCursor)(element);
|
|
36691
36785
|
evt.preventDefault();
|
|
36692
36786
|
this._previewData.isDrag = false;
|
|
36693
36787
|
this._previewData.timerStart = Date.now();
|
|
36788
|
+
const canvasPoint = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec2.clone */ .Zc.clone(currentPoints.canvas);
|
|
36789
|
+
const worldPoint = viewport.canvasToWorld([
|
|
36790
|
+
canvasPoint[0],
|
|
36791
|
+
canvasPoint[1],
|
|
36792
|
+
]);
|
|
36793
|
+
this._lastDragInfo = {
|
|
36794
|
+
canvas: canvasPoint,
|
|
36795
|
+
world: gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.clone */ .eR.clone(worldPoint),
|
|
36796
|
+
};
|
|
36694
36797
|
const hoverData = this._hoverData || this.createHoverData(element);
|
|
36695
36798
|
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(hoverData.viewportIdsToRender);
|
|
36696
36799
|
const operationData = this.getOperationData(element);
|
|
@@ -36765,6 +36868,7 @@ class BrushTool extends _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__/* ["defa
|
|
|
36765
36868
|
const eventData = evt.detail;
|
|
36766
36869
|
const { element, currentPoints } = eventData;
|
|
36767
36870
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
36871
|
+
const { viewport } = enabledElement;
|
|
36768
36872
|
this.updateCursor(evt);
|
|
36769
36873
|
const { viewportIdsToRender } = this._hoverData;
|
|
36770
36874
|
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(viewportIdsToRender);
|
|
@@ -36779,11 +36883,39 @@ class BrushTool extends _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__/* ["defa
|
|
|
36779
36883
|
window.clearTimeout(this._previewData.timer);
|
|
36780
36884
|
this._previewData.timer = null;
|
|
36781
36885
|
}
|
|
36782
|
-
|
|
36886
|
+
if (!this._lastDragInfo) {
|
|
36887
|
+
const startCanvas = this._previewData.startPoint;
|
|
36888
|
+
const startWorld = viewport.canvasToWorld([
|
|
36889
|
+
startCanvas[0],
|
|
36890
|
+
startCanvas[1],
|
|
36891
|
+
]);
|
|
36892
|
+
this._lastDragInfo = {
|
|
36893
|
+
canvas: gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec2.clone */ .Zc.clone(startCanvas),
|
|
36894
|
+
world: gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.clone */ .eR.clone(startWorld),
|
|
36895
|
+
};
|
|
36896
|
+
}
|
|
36897
|
+
const currentCanvas = currentPoints.canvas;
|
|
36898
|
+
const currentWorld = viewport.canvasToWorld([
|
|
36899
|
+
currentCanvas[0],
|
|
36900
|
+
currentCanvas[1],
|
|
36901
|
+
]);
|
|
36902
|
+
this._hoverData = this.createHoverData(element, currentCanvas);
|
|
36903
|
+
this._calculateCursor(element, currentCanvas);
|
|
36904
|
+
const operationData = this.getOperationData(element);
|
|
36905
|
+
operationData.strokePointsWorld = [
|
|
36906
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.clone */ .eR.clone(this._lastDragInfo.world),
|
|
36907
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.clone */ .eR.clone(currentWorld),
|
|
36908
|
+
];
|
|
36909
|
+
this._previewData.preview = this.applyActiveStrategy(enabledElement, operationData);
|
|
36910
|
+
const currentCanvasClone = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec2.clone */ .Zc.clone(currentCanvas);
|
|
36911
|
+
this._lastDragInfo = {
|
|
36912
|
+
canvas: currentCanvasClone,
|
|
36913
|
+
world: gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.clone */ .eR.clone(currentWorld),
|
|
36914
|
+
};
|
|
36783
36915
|
this._previewData.element = element;
|
|
36784
36916
|
this._previewData.timerStart = Date.now() + dragTimeMs;
|
|
36785
36917
|
this._previewData.isDrag = true;
|
|
36786
|
-
this._previewData.startPoint =
|
|
36918
|
+
this._previewData.startPoint = currentCanvasClone;
|
|
36787
36919
|
};
|
|
36788
36920
|
this._endCallback = (evt) => {
|
|
36789
36921
|
const eventData = evt.detail;
|
|
@@ -36798,6 +36930,7 @@ class BrushTool extends _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__/* ["defa
|
|
|
36798
36930
|
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_8__.resetElementCursor)(element);
|
|
36799
36931
|
this.updateCursor(evt);
|
|
36800
36932
|
this._editData = null;
|
|
36933
|
+
this._lastDragInfo = null;
|
|
36801
36934
|
this.applyActiveStrategyCallback(enabledElement, operationData, _enums__WEBPACK_IMPORTED_MODULE_2__.StrategyCallbacks.OnInteractionEnd);
|
|
36802
36935
|
if (!this._previewData.isDrag) {
|
|
36803
36936
|
this.acceptPreview(element);
|
|
@@ -37384,7 +37517,7 @@ function lightenColor(r, g, b, a, factor = 0.4) {
|
|
|
37384
37517
|
/* harmony export */ pB: () => (/* binding */ CIRCLE_STRATEGY),
|
|
37385
37518
|
/* harmony export */ q: () => (/* binding */ thresholdInsideCircle)
|
|
37386
37519
|
/* harmony export */ });
|
|
37387
|
-
/* unused harmony exports fillOutsideCircle, CIRCLE_THRESHOLD_STRATEGY */
|
|
37520
|
+
/* unused harmony exports fillOutsideCircle, CIRCLE_THRESHOLD_STRATEGY, createPointInEllipse */
|
|
37388
37521
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3823);
|
|
37389
37522
|
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15327);
|
|
37390
37523
|
/* harmony import */ var _utilities_boundingBox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72282);
|
|
@@ -37399,7 +37532,7 @@ function lightenColor(r, g, b, a, factor = 0.4) {
|
|
|
37399
37532
|
|
|
37400
37533
|
|
|
37401
37534
|
|
|
37402
|
-
const { transformWorldToIndex, isEqual } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities;
|
|
37535
|
+
const { transformWorldToIndex, transformIndexToWorld, isEqual } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities;
|
|
37403
37536
|
function getEllipseCornersFromCanvasCoordinates(canvasCoordinates) {
|
|
37404
37537
|
const [bottom, top, left, right] = canvasCoordinates;
|
|
37405
37538
|
const topLeft = [left[0], top[1]];
|
|
@@ -37408,9 +37541,82 @@ function getEllipseCornersFromCanvasCoordinates(canvasCoordinates) {
|
|
|
37408
37541
|
const topRight = [right[0], top[1]];
|
|
37409
37542
|
return [topLeft, bottomRight, bottomLeft, topRight];
|
|
37410
37543
|
}
|
|
37544
|
+
function createCircleCornersForCenter(center, viewUp, viewRight, radius) {
|
|
37545
|
+
const centerVec = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(center[0], center[1], center[2]);
|
|
37546
|
+
const top = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37547
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scaleAndAdd */ .eR.scaleAndAdd(top, centerVec, viewUp, radius);
|
|
37548
|
+
const bottom = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37549
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scaleAndAdd */ .eR.scaleAndAdd(bottom, centerVec, viewUp, -radius);
|
|
37550
|
+
const right = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37551
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scaleAndAdd */ .eR.scaleAndAdd(right, centerVec, viewRight, radius);
|
|
37552
|
+
const left = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37553
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scaleAndAdd */ .eR.scaleAndAdd(left, centerVec, viewRight, -radius);
|
|
37554
|
+
return [
|
|
37555
|
+
bottom,
|
|
37556
|
+
top,
|
|
37557
|
+
left,
|
|
37558
|
+
right,
|
|
37559
|
+
];
|
|
37560
|
+
}
|
|
37561
|
+
function createStrokePredicate(centers, radius) {
|
|
37562
|
+
if (!centers.length || radius <= 0) {
|
|
37563
|
+
return null;
|
|
37564
|
+
}
|
|
37565
|
+
const radiusSquared = radius * radius;
|
|
37566
|
+
const centerVecs = centers.map((point) => [point[0], point[1], point[2]]);
|
|
37567
|
+
const segments = [];
|
|
37568
|
+
for (let i = 1; i < centerVecs.length; i++) {
|
|
37569
|
+
const start = centerVecs[i - 1];
|
|
37570
|
+
const end = centerVecs[i];
|
|
37571
|
+
const dx = end[0] - start[0];
|
|
37572
|
+
const dy = end[1] - start[1];
|
|
37573
|
+
const dz = end[2] - start[2];
|
|
37574
|
+
const lengthSquared = dx * dx + dy * dy + dz * dz;
|
|
37575
|
+
segments.push({ start, vector: [dx, dy, dz], lengthSquared });
|
|
37576
|
+
}
|
|
37577
|
+
return (worldPoint) => {
|
|
37578
|
+
if (!worldPoint) {
|
|
37579
|
+
return false;
|
|
37580
|
+
}
|
|
37581
|
+
for (const centerVec of centerVecs) {
|
|
37582
|
+
const dx = worldPoint[0] - centerVec[0];
|
|
37583
|
+
const dy = worldPoint[1] - centerVec[1];
|
|
37584
|
+
const dz = worldPoint[2] - centerVec[2];
|
|
37585
|
+
if (dx * dx + dy * dy + dz * dz <= radiusSquared) {
|
|
37586
|
+
return true;
|
|
37587
|
+
}
|
|
37588
|
+
}
|
|
37589
|
+
for (const { start, vector, lengthSquared } of segments) {
|
|
37590
|
+
if (lengthSquared === 0) {
|
|
37591
|
+
const dx = worldPoint[0] - start[0];
|
|
37592
|
+
const dy = worldPoint[1] - start[1];
|
|
37593
|
+
const dz = worldPoint[2] - start[2];
|
|
37594
|
+
if (dx * dx + dy * dy + dz * dz <= radiusSquared) {
|
|
37595
|
+
return true;
|
|
37596
|
+
}
|
|
37597
|
+
continue;
|
|
37598
|
+
}
|
|
37599
|
+
const dx = worldPoint[0] - start[0];
|
|
37600
|
+
const dy = worldPoint[1] - start[1];
|
|
37601
|
+
const dz = worldPoint[2] - start[2];
|
|
37602
|
+
const dot = dx * vector[0] + dy * vector[1] + dz * vector[2];
|
|
37603
|
+
const t = Math.max(0, Math.min(1, dot / lengthSquared));
|
|
37604
|
+
const projX = start[0] + vector[0] * t;
|
|
37605
|
+
const projY = start[1] + vector[1] * t;
|
|
37606
|
+
const projZ = start[2] + vector[2] * t;
|
|
37607
|
+
const distX = worldPoint[0] - projX;
|
|
37608
|
+
const distY = worldPoint[1] - projY;
|
|
37609
|
+
const distZ = worldPoint[2] - projZ;
|
|
37610
|
+
if (distX * distX + distY * distY + distZ * distZ <= radiusSquared) {
|
|
37611
|
+
return true;
|
|
37612
|
+
}
|
|
37613
|
+
}
|
|
37614
|
+
return false;
|
|
37615
|
+
};
|
|
37616
|
+
}
|
|
37411
37617
|
const initializeCircle = {
|
|
37412
37618
|
[_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.Initialize]: (operationData) => {
|
|
37413
|
-
const { points, viewport, segmentationImageData, } = operationData;
|
|
37619
|
+
const { points, viewport, segmentationImageData, viewUp, viewPlaneNormal, } = operationData;
|
|
37414
37620
|
if (!points) {
|
|
37415
37621
|
return;
|
|
37416
37622
|
}
|
|
@@ -37424,18 +37630,35 @@ const initializeCircle = {
|
|
|
37424
37630
|
}
|
|
37425
37631
|
operationData.centerWorld = center;
|
|
37426
37632
|
operationData.centerIJK = transformWorldToIndex(segmentationImageData, center);
|
|
37633
|
+
const brushRadius = points.length >= 2 ? gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.distance */ .eR.distance(points[0], points[1]) / 2 : 0;
|
|
37427
37634
|
const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
|
|
37428
37635
|
const corners = getEllipseCornersFromCanvasCoordinates(canvasCoordinates);
|
|
37429
37636
|
const cornersInWorld = corners.map((corner) => viewport.canvasToWorld(corner));
|
|
37430
|
-
const
|
|
37431
|
-
|
|
37432
|
-
|
|
37637
|
+
const normalizedViewUp = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(viewUp[0], viewUp[1], viewUp[2]);
|
|
37638
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.normalize */ .eR.normalize(normalizedViewUp, normalizedViewUp);
|
|
37639
|
+
const normalizedPlaneNormal = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(viewPlaneNormal[0], viewPlaneNormal[1], viewPlaneNormal[2]);
|
|
37640
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.normalize */ .eR.normalize(normalizedPlaneNormal, normalizedPlaneNormal);
|
|
37641
|
+
const viewRight = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37642
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.cross */ .eR.cross(viewRight, normalizedViewUp, normalizedPlaneNormal);
|
|
37643
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.normalize */ .eR.normalize(viewRight, viewRight);
|
|
37644
|
+
const strokeCentersSource = operationData.strokePointsWorld &&
|
|
37645
|
+
operationData.strokePointsWorld.length > 0
|
|
37646
|
+
? operationData.strokePointsWorld
|
|
37647
|
+
: [operationData.centerWorld];
|
|
37648
|
+
const strokeCenters = strokeCentersSource.map((point) => gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.clone */ .eR.clone(point));
|
|
37649
|
+
const strokeCornersWorld = strokeCenters.flatMap((centerPoint) => createCircleCornersForCenter(centerPoint, normalizedViewUp, viewRight, brushRadius));
|
|
37650
|
+
const circleCornersIJK = strokeCornersWorld.map((world) => transformWorldToIndex(segmentationImageData, world));
|
|
37433
37651
|
const boundsIJK = (0,_utilities_boundingBox__WEBPACK_IMPORTED_MODULE_2__.getBoundingBoxAroundShapeIJK)(circleCornersIJK, segmentationImageData.getDimensions());
|
|
37434
|
-
operationData.
|
|
37652
|
+
operationData.strokePointsWorld = strokeCenters;
|
|
37653
|
+
operationData.isInObject = createPointInEllipse(cornersInWorld, {
|
|
37654
|
+
strokePointsWorld: strokeCenters,
|
|
37655
|
+
segmentationImageData,
|
|
37656
|
+
radius: brushRadius,
|
|
37657
|
+
});
|
|
37435
37658
|
operationData.isInObjectBoundsIJK = boundsIJK;
|
|
37436
37659
|
},
|
|
37437
37660
|
};
|
|
37438
|
-
function createPointInEllipse(cornersInWorld = []) {
|
|
37661
|
+
function createPointInEllipse(cornersInWorld = [], options = {}) {
|
|
37439
37662
|
if (!cornersInWorld || cornersInWorld.length !== 4) {
|
|
37440
37663
|
throw new Error('createPointInEllipse: cornersInWorld must have 4 points');
|
|
37441
37664
|
}
|
|
@@ -37454,6 +37677,8 @@ function createPointInEllipse(cornersInWorld = []) {
|
|
|
37454
37677
|
const normal = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37455
37678
|
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.cross */ .eR.cross(normal, majorAxisVec, minorAxisVec);
|
|
37456
37679
|
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.normalize */ .eR.normalize(normal, normal);
|
|
37680
|
+
const radiusForStroke = options.radius ?? Math.max(xRadius, yRadius);
|
|
37681
|
+
const strokePredicate = createStrokePredicate(options.strokePointsWorld || [], radiusForStroke);
|
|
37457
37682
|
if (isEqual(xRadius, yRadius)) {
|
|
37458
37683
|
const radius = xRadius;
|
|
37459
37684
|
const sphereObj = {
|
|
@@ -37461,11 +37686,33 @@ function createPointInEllipse(cornersInWorld = []) {
|
|
|
37461
37686
|
radius,
|
|
37462
37687
|
radius2: radius * radius,
|
|
37463
37688
|
};
|
|
37464
|
-
return (pointLPS) =>
|
|
37689
|
+
return (pointLPS, pointIJK) => {
|
|
37690
|
+
let worldPoint = pointLPS;
|
|
37691
|
+
if (!worldPoint && pointIJK && options.segmentationImageData) {
|
|
37692
|
+
worldPoint = transformIndexToWorld(options.segmentationImageData, pointIJK);
|
|
37693
|
+
}
|
|
37694
|
+
if (!worldPoint) {
|
|
37695
|
+
return false;
|
|
37696
|
+
}
|
|
37697
|
+
if (strokePredicate?.(worldPoint)) {
|
|
37698
|
+
return true;
|
|
37699
|
+
}
|
|
37700
|
+
return (0,_utilities_math_sphere__WEBPACK_IMPORTED_MODULE_6__/* .pointInSphere */ .d)(sphereObj, worldPoint);
|
|
37701
|
+
};
|
|
37465
37702
|
}
|
|
37466
|
-
return (pointLPS) => {
|
|
37703
|
+
return (pointLPS, pointIJK) => {
|
|
37704
|
+
let worldPoint = pointLPS;
|
|
37705
|
+
if (!worldPoint && pointIJK && options.segmentationImageData) {
|
|
37706
|
+
worldPoint = transformIndexToWorld(options.segmentationImageData, pointIJK);
|
|
37707
|
+
}
|
|
37708
|
+
if (!worldPoint) {
|
|
37709
|
+
return false;
|
|
37710
|
+
}
|
|
37711
|
+
if (strokePredicate?.(worldPoint)) {
|
|
37712
|
+
return true;
|
|
37713
|
+
}
|
|
37467
37714
|
const pointVec = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37468
|
-
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.subtract */ .eR.subtract(pointVec,
|
|
37715
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.subtract */ .eR.subtract(pointVec, worldPoint, center);
|
|
37469
37716
|
const distToPlane = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.dot */ .eR.dot(pointVec, normal);
|
|
37470
37717
|
const proj = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create();
|
|
37471
37718
|
gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scaleAndAdd */ .eR.scaleAndAdd(proj, pointVec, normal, -distToPlane);
|
|
@@ -44223,7 +44223,7 @@ function toLowHighRange(windowWidth, windowCenter, voiLUTFunction = _enums_VOILU
|
|
|
44223
44223
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
44224
44224
|
/* harmony export */ r: () => (/* binding */ version)
|
|
44225
44225
|
/* harmony export */ });
|
|
44226
|
-
const version = '4.3
|
|
44226
|
+
const version = '4.5.3';
|
|
44227
44227
|
|
|
44228
44228
|
|
|
44229
44229
|
/***/ }),
|
|
@@ -48335,8 +48335,15 @@ function metaDataProvider_metaDataProvider(type, imageId) {
|
|
|
48335
48335
|
return getTransferSyntax(imageId, metaData);
|
|
48336
48336
|
}
|
|
48337
48337
|
if (type === MetadataModules.PET_SERIES) {
|
|
48338
|
+
let correctedImageData = metaData['00280051'];
|
|
48339
|
+
let correctedImage = metaData_getValue(metaData['00280051']);
|
|
48340
|
+
if (correctedImageData &&
|
|
48341
|
+
correctedImageData.Value &&
|
|
48342
|
+
Array.isArray(correctedImageData.Value)) {
|
|
48343
|
+
correctedImage = correctedImageData.Value.join('\\');
|
|
48344
|
+
}
|
|
48338
48345
|
return {
|
|
48339
|
-
correctedImage
|
|
48346
|
+
correctedImage,
|
|
48340
48347
|
units: metaData_getValue(metaData['00541001']),
|
|
48341
48348
|
decayCorrection: metaData_getValue(metaData['00541102']),
|
|
48342
48349
|
};
|
|
@@ -135421,7 +135428,7 @@ const detectionOptions = {
|
|
|
135421
135428
|
}
|
|
135422
135429
|
});
|
|
135423
135430
|
;// ../../i18n/package.json
|
|
135424
|
-
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.12.0-beta.
|
|
135431
|
+
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.12.0-beta.53"}');
|
|
135425
135432
|
;// ../../i18n/src/utils.js
|
|
135426
135433
|
const languagesMap = {
|
|
135427
135434
|
ar: 'Arabic',
|
|
@@ -386133,7 +386140,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
|
|
|
386133
386140
|
/******/ // This function allow to reference async chunks
|
|
386134
386141
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
386135
386142
|
/******/ // return url for filenames based on template
|
|
386136
|
-
/******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"
|
|
386143
|
+
/******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"cc4e5b3a9acca13007a5","147":"30b16832e09898deaf32","213":"d174db20fab2fdfed4f8","319":"fc959064ddf2f6978b54","414":"6f9b2a00f06626f05c27","572":"ba4364ed21d03c7a9df1","732":"6978ac30a1e36abf06db","810":"4f3a7ca74971239c1498","934":"cce2fe2754a928b8cd6d","1447":"b15051ce6a9bcec1ac6a","1459":"d4ef552f8dec2c8b15fc","1604":"ba4b8c8f64d258a40850","1807":"ddc2996069271a8652a5","1919":"7c1b4166b95e7dffe973","1927":"8941122be98d6aea153c","2007":"f58dd6d3d25dd22cfefd","2108":"e84aa8d858d8c4f2413e","2243":"727d1f866dda05467f19","2345":"839224623fb00f805981","2424":"132b9ea62e24599d01f7","2518":"57c229a14e22d23db384","2701":"3c34bd7d28cb2d095a5c","2974":"a90a9df917b90bc02c69","3054":"b7bb02c6cd9273c422f5","3409":"257f7edb1585ea06ba3c","3694":"afdef7ac00941da4dd32","4019":"13e7f662a9e489b74a27","4113":"85916db39290d43aa53b","4202":"1cef28d8aec1155d35d1","4759":"c3bfca952eea20a0d6f9","5261":"6e1a017f8f1027557f5b","5349":"44217fe4d4ce9a3a9be3","5457":"51285f55e1389d654257","5485":"371660cf6663e90cd622","5674":"8c34228471ff9e53b8c3","5802":"48b958ebd8d250156814","6027":"f220a72a6e4232c38a87","6201":"40aca7bfb7513a6ebda7","6939":"41fbdef87597b5172ec6","6991":"48929c562b9d3012e468","7159":"122cd4e6d8fd1287d07f","7197":"52da128e3f00a7ad7902","7412":"c7950ea929406915ba33","7431":"f6ee76ae243ffe1c811a","7639":"1226ddb2bc46f5cae750","8094":"5c44190a325ac23e3e5c","8402":"edb924cd47cd168f621c","8558":"9f596952dd6a5fa6f629","8740":"39b40ee21a873e824ce8","8815":"525c88f93f5bd57e4980","9862":"1133b0f6bd2b035c85bd"}[chunkId] + ".js";
|
|
386137
386144
|
/******/ };
|
|
386138
386145
|
/******/ })();
|
|
386139
386146
|
/******/
|