@ohif/app 3.8.0-beta.2 → 3.8.0-beta.21
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/{99.bundle.162517ee32cfe72a492e.js → 126.bundle.ecc43640cdea0799d233.js} +199 -137
- package/dist/{181.bundle.2ddc6f90740895a3949c.js → 181.bundle.bce8ecb8af857b2513df.js} +6 -6
- package/dist/{19.bundle.b3e9246d53aa79ae7960.js → 19.bundle.83bb9e609a5341b2c539.js} +7 -7
- package/dist/{221.bundle.26e8c46147d22ac7db87.js → 221.bundle.85989130912bdd3e4786.js} +10 -10
- package/dist/{743.bundle.489f7df3a089d4d374e1.js → 231.bundle.8aad229e39e23731d6c1.js} +18205 -17189
- package/dist/{236.bundle.2a2baeb75c8d28cc00bb.js → 236.bundle.07aab629b6fae960fd8b.js} +3 -3
- package/dist/{250.bundle.8084960e3318cda37317.js → 250.bundle.3f9fbb8ea16d267d6405.js} +6 -6
- package/dist/{359.bundle.161e1d8b66e9040c25ed.js → 359.bundle.51a3b9589ec6df17ceb3.js} +2 -2
- package/dist/{410.bundle.18de66c1ed27406c254f.js → 410.bundle.02218cd4a0d6112a31c1.js} +2 -2
- package/dist/{342.bundle.c11bb4c95bfb7fb0cfda.js → 43.bundle.b4a1abbd1256e58007eb.js} +131 -53
- package/dist/{451.bundle.9fd36f52ff69594f0669.js → 451.bundle.57c21db5d003c75e9d61.js} +2 -2
- package/dist/{471.bundle.b3d77b83b1593c09a504.js → 471.bundle.49c8d281adbae4a2c4df.js} +2 -2
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 485.bundle.8667a696ac2eaf99e4fa.js} +9 -98
- package/dist/{370.bundle.e6179cf74d133ce903f9.js → 563.bundle.cd25976497ad15a91e75.js} +320 -179
- package/dist/{82.bundle.48e08e39193f3f74377d.js → 575.bundle.8933c681f870a88af641.js} +166 -59
- package/dist/{613.bundle.9b005bbf039de90b69ee.js → 613.bundle.3239437a99b4a8cb954c.js} +7 -3
- package/dist/{663.bundle.e23c4e894c0792804c6f.js → 663.bundle.12656b0d6714c8f86736.js} +13 -11
- package/dist/{788.bundle.c3eec6c3ceea01af04b0.js → 788.bundle.0f9ae3c58f0f147f1fb9.js} +6 -6
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 82.bundle.122d1b58bc3e22439dd9.js} +12007 -3800
- package/dist/{822.bundle.891f2e57b1b7bc2f4cb4.js → 822.bundle.4f0424bd1dc0308bb489.js} +3 -3
- package/dist/{886.bundle.4b3a7f2079d085fdbcb3.js → 886.bundle.c8dd3ecc42a4253de278.js} +2 -2
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 933.bundle.6184b84edf14c687b936.js} +29 -10
- package/dist/{app.bundle.e6a19e792f9e31bb385a.js → app.bundle.82dcae1eee3b35631dd0.js} +11801 -11307
- package/dist/app.bundle.css +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- /package/dist/{12.bundle.7d9eec7fe48bf64d27fc.js → 12.bundle.1b0367478839ed9be1a7.js} +0 -0
- /package/dist/{202.bundle.d3490836f71e001dd30f.js → 202.bundle.ec714227032b22d4fa24.js} +0 -0
- /package/dist/{281.bundle.7accd3c1ccfd8625d3b6.js → 281.bundle.94ff32614db4a86841b5.js} +0 -0
- /package/dist/{506.bundle.d47786b157f68022ef80.js → 506.bundle.738a7d987830d0e9a157.js} +0 -0
- /package/dist/{82.css → 575.css} +0 -0
- /package/dist/{687.bundle.7dadbdd458571591c220.js → 687.bundle.626b5a936b1111eaa753.js} +0 -0
- /package/dist/{814.bundle.52c2b553bac85767a145.js → 814.bundle.aa347b0ce9d2ab9a055d.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
1
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[575],{
|
|
2
2
|
|
|
3
|
-
/***/
|
|
3
|
+
/***/ 41420:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
@@ -9,6 +9,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9
9
|
|
|
10
10
|
// EXPORTS
|
|
11
11
|
__webpack_require__.d(__webpack_exports__, {
|
|
12
|
+
ImageOverlayViewerTool: () => (/* reexport */ tools_ImageOverlayViewerTool),
|
|
12
13
|
Types: () => (/* reexport */ types_namespaceObject),
|
|
13
14
|
"default": () => (/* binding */ cornerstone_src),
|
|
14
15
|
getActiveViewportEnabledElement: () => (/* reexport */ getActiveViewportEnabledElement),
|
|
@@ -34,14 +35,14 @@ __webpack_require__.r(types_namespaceObject);
|
|
|
34
35
|
|
|
35
36
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
36
37
|
var react = __webpack_require__(43001);
|
|
37
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
38
|
-
var esm = __webpack_require__(
|
|
39
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js +
|
|
40
|
-
var dist_esm = __webpack_require__(
|
|
38
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
|
|
39
|
+
var esm = __webpack_require__(62231);
|
|
40
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 391 modules
|
|
41
|
+
var dist_esm = __webpack_require__(28082);
|
|
41
42
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
42
43
|
var src = __webpack_require__(71771);
|
|
43
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js +
|
|
44
|
-
var streaming_image_volume_loader_dist_esm = __webpack_require__(
|
|
44
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 15 modules
|
|
45
|
+
var streaming_image_volume_loader_dist_esm = __webpack_require__(32483);
|
|
45
46
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js
|
|
46
47
|
var cornerstoneDICOMImageLoader_min = __webpack_require__(61539);
|
|
47
48
|
var cornerstoneDICOMImageLoader_min_default = /*#__PURE__*/__webpack_require__.n(cornerstoneDICOMImageLoader_min);
|
|
@@ -88,7 +89,7 @@ function initWADOImageLoader(userAuthenticationService, appConfig, extensionMana
|
|
|
88
89
|
// Until the default is set to true (which is the case for cornerstone3D),
|
|
89
90
|
// we should set this flag to false.
|
|
90
91
|
convertFloatPixelDataToInt: false,
|
|
91
|
-
use16BitDataType: Boolean(appConfig.
|
|
92
|
+
use16BitDataType: Boolean(appConfig.useNorm16Texture) || Boolean(appConfig.preferSizeOverAccuracy)
|
|
92
93
|
},
|
|
93
94
|
beforeSend: function (xhr) {
|
|
94
95
|
//TODO should be removed in the future and request emitted by DicomWebDataSource
|
|
@@ -118,8 +119,8 @@ function destroy() {
|
|
|
118
119
|
}
|
|
119
120
|
webWorkers.length = 0;
|
|
120
121
|
}
|
|
121
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
122
|
-
var ui_src = __webpack_require__(
|
|
122
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
123
|
+
var ui_src = __webpack_require__(22582);
|
|
123
124
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/callInputDialog.tsx
|
|
124
125
|
|
|
125
126
|
|
|
@@ -350,8 +351,46 @@ function onCompletedCalibrationLine(servicesManager, csToolsEvent) {
|
|
|
350
351
|
});
|
|
351
352
|
});
|
|
352
353
|
}
|
|
353
|
-
// EXTERNAL MODULE: ../../core/src/utils/index.js +
|
|
354
|
-
var utils = __webpack_require__(
|
|
354
|
+
// EXTERNAL MODULE: ../../core/src/utils/index.js + 26 modules
|
|
355
|
+
var utils = __webpack_require__(3225);
|
|
356
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/tools/OverlayPlaneModuleProvider.ts
|
|
357
|
+
|
|
358
|
+
const _cachedOverlayMetadata = new Map();
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Image Overlay Viewer tool is not a traditional tool that requires user interactin.
|
|
362
|
+
* But it is used to display Pixel Overlays. And it will provide toggling capability.
|
|
363
|
+
*
|
|
364
|
+
* The documentation for Overlay Plane Module of DICOM can be found in [C.9.2 of
|
|
365
|
+
* Part-3 of DICOM standard](https://dicom.nema.org/medical/dicom/2018b/output/chtml/part03/sect_C.9.2.html)
|
|
366
|
+
*
|
|
367
|
+
* Image Overlay rendered by this tool can be toggled on and off using
|
|
368
|
+
* toolGroup.setToolEnabled() and toolGroup.setToolDisabled()
|
|
369
|
+
*/
|
|
370
|
+
const OverlayPlaneModuleProvider = {
|
|
371
|
+
/** Adds the metadata for overlayPlaneModule */
|
|
372
|
+
add: (imageId, metadata) => {
|
|
373
|
+
if (_cachedOverlayMetadata.get(imageId) === metadata) {
|
|
374
|
+
// This is a no-op here as the tool re-caches the data
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
_cachedOverlayMetadata.set(imageId, metadata);
|
|
378
|
+
},
|
|
379
|
+
/** Standard getter for metadata */
|
|
380
|
+
get: (type, query) => {
|
|
381
|
+
if (Array.isArray(query)) {
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
if (type !== 'overlayPlaneModule') {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
return _cachedOverlayMetadata.get(query);
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
// Needs to be higher priority than default provider
|
|
392
|
+
esm.metaData.addProvider(OverlayPlaneModuleProvider.get, 10_000);
|
|
393
|
+
/* harmony default export */ const tools_OverlayPlaneModuleProvider = (OverlayPlaneModuleProvider);
|
|
355
394
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/tools/ImageOverlayViewerTool.tsx
|
|
356
395
|
|
|
357
396
|
|
|
@@ -377,12 +416,7 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
|
|
|
377
416
|
}
|
|
378
417
|
};
|
|
379
418
|
super(toolProps, defaultToolProps);
|
|
380
|
-
this.
|
|
381
|
-
this._cachedStats = {};
|
|
382
|
-
this.onSetToolDisabled = () => {
|
|
383
|
-
this._cachedStats = {};
|
|
384
|
-
this._cachedOverlayMetadata = new Map();
|
|
385
|
-
};
|
|
419
|
+
this.onSetToolDisabled = () => {};
|
|
386
420
|
this.renderAnnotation = (enabledElement, svgDrawingHelper) => {
|
|
387
421
|
const {
|
|
388
422
|
viewport
|
|
@@ -391,14 +425,23 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
|
|
|
391
425
|
if (!imageId) {
|
|
392
426
|
return;
|
|
393
427
|
}
|
|
394
|
-
const
|
|
428
|
+
const overlayMetadata = esm.metaData.get('overlayPlaneModule', imageId);
|
|
429
|
+
const overlays = overlayMetadata?.overlays;
|
|
395
430
|
|
|
396
431
|
// no overlays
|
|
397
432
|
if (!overlays?.length) {
|
|
398
433
|
return;
|
|
399
434
|
}
|
|
400
|
-
|
|
401
|
-
|
|
435
|
+
|
|
436
|
+
// Fix the x, y positions
|
|
437
|
+
overlays.forEach(overlay => {
|
|
438
|
+
overlay.x ||= 0;
|
|
439
|
+
overlay.y ||= 0;
|
|
440
|
+
});
|
|
441
|
+
|
|
442
|
+
// Will clear cached stat data when the overlay data changes
|
|
443
|
+
ImageOverlayViewerTool.addOverlayPlaneModule(imageId, overlayMetadata);
|
|
444
|
+
this._getCachedStat(imageId, overlayMetadata, this.configuration.fillColor).then(cachedStat => {
|
|
402
445
|
cachedStat.overlays.forEach(overlay => {
|
|
403
446
|
this._renderOverlay(enabledElement, svgDrawingHelper, overlay);
|
|
404
447
|
});
|
|
@@ -472,10 +515,11 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
|
|
|
472
515
|
return true;
|
|
473
516
|
}
|
|
474
517
|
async _getCachedStat(imageId, overlayMetadata, color) {
|
|
475
|
-
|
|
476
|
-
|
|
518
|
+
const missingOverlay = overlayMetadata.overlays.filter(overlay => overlay.pixelData && !overlay.dataUrl);
|
|
519
|
+
if (missingOverlay.length === 0) {
|
|
520
|
+
return overlayMetadata;
|
|
477
521
|
}
|
|
478
|
-
const overlays = await Promise.all(overlayMetadata.filter(overlay => overlay.pixelData).map(async (overlay, idx) => {
|
|
522
|
+
const overlays = await Promise.all(overlayMetadata.overlays.filter(overlay => overlay.pixelData).map(async (overlay, idx) => {
|
|
479
523
|
let pixelData = null;
|
|
480
524
|
if (overlay.pixelData.Value) {
|
|
481
525
|
pixelData = overlay.pixelData.Value;
|
|
@@ -490,7 +534,7 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
|
|
|
490
534
|
const dataUrl = this._renderOverlayToDataUrl({
|
|
491
535
|
width: overlay.columns,
|
|
492
536
|
height: overlay.rows
|
|
493
|
-
}, color, pixelData);
|
|
537
|
+
}, overlay.color || color, pixelData);
|
|
494
538
|
return {
|
|
495
539
|
...overlay,
|
|
496
540
|
_id: (0,utils/* guid */.M8)(),
|
|
@@ -499,11 +543,8 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
|
|
|
499
543
|
color
|
|
500
544
|
};
|
|
501
545
|
}));
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
overlays: overlays.filter(overlay => overlay)
|
|
505
|
-
};
|
|
506
|
-
return this._cachedStats[imageId];
|
|
546
|
+
overlayMetadata.overlays = overlays;
|
|
547
|
+
return overlayMetadata;
|
|
507
548
|
}
|
|
508
549
|
|
|
509
550
|
/**
|
|
@@ -562,6 +603,11 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
|
|
|
562
603
|
}
|
|
563
604
|
}
|
|
564
605
|
ImageOverlayViewerTool.toolName = 'ImageOverlayViewer';
|
|
606
|
+
/**
|
|
607
|
+
* The overlay plane module provider add method is exposed here to be used
|
|
608
|
+
* when updating the overlay for this tool to use for displaying data.
|
|
609
|
+
*/
|
|
610
|
+
ImageOverlayViewerTool.addOverlayPlaneModule = tools_OverlayPlaneModuleProvider.add;
|
|
565
611
|
/* harmony default export */ const tools_ImageOverlayViewerTool = (ImageOverlayViewerTool);
|
|
566
612
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/initCornerstoneTools.js
|
|
567
613
|
|
|
@@ -1554,7 +1600,6 @@ const ArrowAnnotate_Length = {
|
|
|
1554
1600
|
toolName: metadata.toolName,
|
|
1555
1601
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
1556
1602
|
label: data.text,
|
|
1557
|
-
text: data.text,
|
|
1558
1603
|
displayText: displayText,
|
|
1559
1604
|
data: data.cachedStats,
|
|
1560
1605
|
type: getValueTypeFromToolType(toolName),
|
|
@@ -3540,8 +3585,8 @@ async function init(_ref) {
|
|
|
3540
3585
|
}
|
|
3541
3586
|
await (0,esm.init)({
|
|
3542
3587
|
rendering: {
|
|
3543
|
-
preferSizeOverAccuracy: Boolean(appConfig.
|
|
3544
|
-
useNorm16Texture: Boolean(appConfig.
|
|
3588
|
+
preferSizeOverAccuracy: Boolean(appConfig.preferSizeOverAccuracy),
|
|
3589
|
+
useNorm16Texture: Boolean(appConfig.useNorm16Texture)
|
|
3545
3590
|
}
|
|
3546
3591
|
});
|
|
3547
3592
|
|
|
@@ -3710,6 +3755,18 @@ async function init(_ref) {
|
|
|
3710
3755
|
});
|
|
3711
3756
|
});
|
|
3712
3757
|
};
|
|
3758
|
+
|
|
3759
|
+
/**
|
|
3760
|
+
* Runs error handler for failed requests.
|
|
3761
|
+
* @param event
|
|
3762
|
+
*/
|
|
3763
|
+
const imageLoadFailedHandler = _ref2 => {
|
|
3764
|
+
let {
|
|
3765
|
+
detail
|
|
3766
|
+
} = _ref2;
|
|
3767
|
+
const handler = src/* errorHandler */.Po.getHTTPErrorHandler();
|
|
3768
|
+
handler(detail.error);
|
|
3769
|
+
};
|
|
3713
3770
|
const resetCrosshairs = evt => {
|
|
3714
3771
|
const {
|
|
3715
3772
|
element
|
|
@@ -3737,6 +3794,8 @@ async function init(_ref) {
|
|
|
3737
3794
|
} = evt.detail;
|
|
3738
3795
|
dist_esm.utilities.stackContextPrefetch.enable(element);
|
|
3739
3796
|
});
|
|
3797
|
+
esm.eventTarget.addEventListener(esm.EVENTS.IMAGE_LOAD_FAILED, imageLoadFailedHandler);
|
|
3798
|
+
esm.eventTarget.addEventListener(esm.EVENTS.IMAGE_LOAD_ERROR, imageLoadFailedHandler);
|
|
3740
3799
|
function elementEnabledHandler(evt) {
|
|
3741
3800
|
const {
|
|
3742
3801
|
element
|
|
@@ -4444,6 +4503,8 @@ function getCustomizationModule() {
|
|
|
4444
4503
|
}];
|
|
4445
4504
|
}
|
|
4446
4505
|
/* harmony default export */ const src_getCustomizationModule = (getCustomizationModule);
|
|
4506
|
+
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 10 modules
|
|
4507
|
+
var gl_matrix_esm = __webpack_require__(45451);
|
|
4447
4508
|
// EXTERNAL MODULE: ../../../node_modules/html2canvas/dist/html2canvas.esm.js
|
|
4448
4509
|
var html2canvas_esm = __webpack_require__(76010);
|
|
4449
4510
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx
|
|
@@ -4767,6 +4828,7 @@ function getReconstructableStackViewports(viewportGridService, displaySetService
|
|
|
4767
4828
|
|
|
4768
4829
|
|
|
4769
4830
|
|
|
4831
|
+
|
|
4770
4832
|
function commandsModule(_ref) {
|
|
4771
4833
|
let {
|
|
4772
4834
|
servicesManager,
|
|
@@ -5157,10 +5219,18 @@ function commandsModule(_ref) {
|
|
|
5157
5219
|
const {
|
|
5158
5220
|
viewport
|
|
5159
5221
|
} = enabledElement;
|
|
5160
|
-
if (viewport instanceof esm.
|
|
5161
|
-
const
|
|
5162
|
-
|
|
5163
|
-
|
|
5222
|
+
if (viewport instanceof esm.BaseVolumeViewport) {
|
|
5223
|
+
const camera = viewport.getCamera();
|
|
5224
|
+
const rotAngle = rotation * Math.PI / 180;
|
|
5225
|
+
const rotMat = gl_matrix_esm/* mat4.identity */._E.identity(new Float32Array(16));
|
|
5226
|
+
gl_matrix_esm/* mat4.rotate */._E.rotate(rotMat, rotMat, rotAngle, camera.viewPlaneNormal);
|
|
5227
|
+
const rotatedViewUp = gl_matrix_esm/* vec3.transformMat4 */.R3.transformMat4(gl_matrix_esm/* vec3.create */.R3.create(), camera.viewUp, rotMat);
|
|
5228
|
+
viewport.setCamera({
|
|
5229
|
+
viewUp: rotatedViewUp
|
|
5230
|
+
});
|
|
5231
|
+
viewport.render();
|
|
5232
|
+
} else if (viewport.getRotation !== undefined) {
|
|
5233
|
+
const currentRotation = viewport.getRotation();
|
|
5164
5234
|
const newRotation = (currentRotation + rotation) % 360;
|
|
5165
5235
|
viewport.setProperties({
|
|
5166
5236
|
rotation: newRotation
|
|
@@ -5236,13 +5306,8 @@ function commandsModule(_ref) {
|
|
|
5236
5306
|
const {
|
|
5237
5307
|
viewport
|
|
5238
5308
|
} = enabledElement;
|
|
5239
|
-
|
|
5240
|
-
|
|
5241
|
-
viewport.resetCamera();
|
|
5242
|
-
} else {
|
|
5243
|
-
viewport.resetProperties();
|
|
5244
|
-
viewport.resetCamera();
|
|
5245
|
-
}
|
|
5309
|
+
viewport.resetProperties?.();
|
|
5310
|
+
viewport.resetCamera();
|
|
5246
5311
|
viewport.render();
|
|
5247
5312
|
},
|
|
5248
5313
|
scaleViewport: _ref12 => {
|
|
@@ -5398,6 +5463,27 @@ function commandsModule(_ref) {
|
|
|
5398
5463
|
cornerstoneViewportService.storePresentation({
|
|
5399
5464
|
viewportId
|
|
5400
5465
|
});
|
|
5466
|
+
},
|
|
5467
|
+
attachProtocolViewportDataListener: _ref20 => {
|
|
5468
|
+
let {
|
|
5469
|
+
protocol,
|
|
5470
|
+
stageIndex
|
|
5471
|
+
} = _ref20;
|
|
5472
|
+
const EVENT = cornerstoneViewportService.EVENTS.VIEWPORT_DATA_CHANGED;
|
|
5473
|
+
const command = protocol.callbacks.onViewportDataInitialized;
|
|
5474
|
+
const numPanes = protocol.stages?.[stageIndex]?.viewports.length ?? 1;
|
|
5475
|
+
let numPanesWithData = 0;
|
|
5476
|
+
const {
|
|
5477
|
+
unsubscribe
|
|
5478
|
+
} = cornerstoneViewportService.subscribe(EVENT, evt => {
|
|
5479
|
+
numPanesWithData++;
|
|
5480
|
+
if (numPanesWithData === numPanes) {
|
|
5481
|
+
commandsManager.run(...command);
|
|
5482
|
+
|
|
5483
|
+
// Unsubscribe from the event
|
|
5484
|
+
unsubscribe(EVENT);
|
|
5485
|
+
}
|
|
5486
|
+
});
|
|
5401
5487
|
}
|
|
5402
5488
|
};
|
|
5403
5489
|
const definitions = {
|
|
@@ -5546,6 +5632,9 @@ function commandsModule(_ref) {
|
|
|
5546
5632
|
},
|
|
5547
5633
|
cleanUpCrosshairs: {
|
|
5548
5634
|
commandFn: actions.cleanUpCrosshairs
|
|
5635
|
+
},
|
|
5636
|
+
attachProtocolViewportDataListener: {
|
|
5637
|
+
commandFn: actions.attachProtocolViewportDataListener
|
|
5549
5638
|
}
|
|
5550
5639
|
};
|
|
5551
5640
|
return {
|
|
@@ -8600,14 +8689,16 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
|
|
|
8600
8689
|
viewportInfo.setViewportId(viewportId);
|
|
8601
8690
|
this.viewportsById.set(viewportId, viewportInfo);
|
|
8602
8691
|
const viewport = renderingEngine.getViewport(viewportId);
|
|
8603
|
-
this._setDisplaySets(viewport, viewportData, viewportInfo, presentations);
|
|
8692
|
+
const displaySetPromise = this._setDisplaySets(viewport, viewportData, viewportInfo, presentations);
|
|
8604
8693
|
|
|
8605
8694
|
// The broadcast event here ensures that listeners have a valid, up to date
|
|
8606
8695
|
// viewport to access. Doing it too early can result in exceptions or
|
|
8607
8696
|
// invalid data.
|
|
8608
|
-
|
|
8609
|
-
|
|
8610
|
-
|
|
8697
|
+
displaySetPromise.then(() => {
|
|
8698
|
+
this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED, {
|
|
8699
|
+
viewportData,
|
|
8700
|
+
viewportId
|
|
8701
|
+
});
|
|
8611
8702
|
});
|
|
8612
8703
|
}
|
|
8613
8704
|
getCornerstoneViewport(viewportId) {
|
|
@@ -8621,7 +8712,7 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
|
|
|
8621
8712
|
getViewportInfo(viewportId) {
|
|
8622
8713
|
return this.viewportsById.get(viewportId);
|
|
8623
8714
|
}
|
|
8624
|
-
_setStackViewport(viewport, viewportData, viewportInfo, presentations) {
|
|
8715
|
+
async _setStackViewport(viewport, viewportData, viewportInfo, presentations) {
|
|
8625
8716
|
const displaySetOptions = viewportInfo.getDisplaySetOptions();
|
|
8626
8717
|
const {
|
|
8627
8718
|
imageIds,
|
|
@@ -8655,7 +8746,7 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
|
|
|
8655
8746
|
properties.invert = voiInverted;
|
|
8656
8747
|
}
|
|
8657
8748
|
}
|
|
8658
|
-
viewport.setStack(imageIds, initialImageIndexToUse).then(() => {
|
|
8749
|
+
return viewport.setStack(imageIds, initialImageIndexToUse).then(() => {
|
|
8659
8750
|
viewport.setProperties({
|
|
8660
8751
|
...properties
|
|
8661
8752
|
});
|
|
@@ -8928,26 +9019,31 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
|
|
|
8928
9019
|
const viewportInfo = this.getViewportInfo(viewportId);
|
|
8929
9020
|
const viewport = this.getCornerstoneViewport(viewportId);
|
|
8930
9021
|
const viewportCamera = viewport.getCamera();
|
|
9022
|
+
let displaySetPromise;
|
|
8931
9023
|
if (viewport instanceof esm.VolumeViewport || viewport instanceof esm.VolumeViewport3D) {
|
|
8932
|
-
this._setVolumeViewport(viewport, viewportData, viewportInfo).then(() => {
|
|
9024
|
+
displaySetPromise = this._setVolumeViewport(viewport, viewportData, viewportInfo).then(() => {
|
|
8933
9025
|
if (keepCamera) {
|
|
8934
9026
|
viewport.setCamera(viewportCamera);
|
|
8935
9027
|
viewport.render();
|
|
8936
9028
|
}
|
|
8937
9029
|
});
|
|
8938
|
-
return;
|
|
8939
9030
|
}
|
|
8940
9031
|
if (viewport instanceof esm.StackViewport) {
|
|
8941
|
-
this._setStackViewport(viewport, viewportData, viewportInfo);
|
|
8942
|
-
return;
|
|
9032
|
+
displaySetPromise = this._setStackViewport(viewport, viewportData, viewportInfo);
|
|
8943
9033
|
}
|
|
9034
|
+
displaySetPromise.then(() => {
|
|
9035
|
+
this._broadcastEvent(this.EVENTS.VIEWPORT_DATA_CHANGED, {
|
|
9036
|
+
viewportData,
|
|
9037
|
+
viewportId
|
|
9038
|
+
});
|
|
9039
|
+
});
|
|
8944
9040
|
}
|
|
8945
9041
|
_setDisplaySets(viewport, viewportData, viewportInfo) {
|
|
8946
9042
|
let presentations = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
8947
9043
|
if (viewport instanceof esm.StackViewport) {
|
|
8948
|
-
this._setStackViewport(viewport, viewportData, viewportInfo, presentations);
|
|
9044
|
+
return this._setStackViewport(viewport, viewportData, viewportInfo, presentations);
|
|
8949
9045
|
} else if (viewport instanceof esm.VolumeViewport || viewport instanceof esm.VolumeViewport3D) {
|
|
8950
|
-
this._setVolumeViewport(viewport, viewportData, viewportInfo, presentations);
|
|
9046
|
+
return this._setVolumeViewport(viewport, viewportData, viewportInfo, presentations);
|
|
8951
9047
|
} else {
|
|
8952
9048
|
throw new Error('Unknown viewport type');
|
|
8953
9049
|
}
|
|
@@ -9181,7 +9277,8 @@ class DicomLoaderService {
|
|
|
9181
9277
|
SOPInstanceUID,
|
|
9182
9278
|
authorizationHeaders,
|
|
9183
9279
|
wadoRoot,
|
|
9184
|
-
wadoUri
|
|
9280
|
+
wadoUri,
|
|
9281
|
+
instance
|
|
9185
9282
|
} = dataset;
|
|
9186
9283
|
// Retrieve wadors or just try to fetch wadouri
|
|
9187
9284
|
if (!someInvalidStrings(wadoRoot)) {
|
|
@@ -9190,6 +9287,15 @@ class DicomLoaderService {
|
|
|
9190
9287
|
return fetchIt(wadoUri, {
|
|
9191
9288
|
headers: authorizationHeaders
|
|
9192
9289
|
});
|
|
9290
|
+
} else if (!someInvalidStrings(instance?.url)) {
|
|
9291
|
+
// make sure the url is absolute, remove the scope
|
|
9292
|
+
// from it if it is not absolute. For instance it might be dicomweb:http://....
|
|
9293
|
+
// and we need to remove the dicomweb: part
|
|
9294
|
+
const url = instance.url;
|
|
9295
|
+
const absoluteUrl = url.startsWith('http') ? url : url.substring(url.indexOf(':') + 1);
|
|
9296
|
+
return fetchIt(absoluteUrl, {
|
|
9297
|
+
headers: authorizationHeaders
|
|
9298
|
+
});
|
|
9193
9299
|
}
|
|
9194
9300
|
}
|
|
9195
9301
|
*getLoaderIterator(dataset, studies, headers) {
|
|
@@ -9243,6 +9349,7 @@ function src_extends() { src_extends = Object.assign ? Object.assign.bind() : fu
|
|
|
9243
9349
|
|
|
9244
9350
|
|
|
9245
9351
|
|
|
9352
|
+
|
|
9246
9353
|
|
|
9247
9354
|
|
|
9248
9355
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
@@ -9398,7 +9505,7 @@ const reset = () => {
|
|
|
9398
9505
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9399
9506
|
/* harmony export */ Z: () => (/* binding */ getSOPInstanceAttributes)
|
|
9400
9507
|
/* harmony export */ });
|
|
9401
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
9508
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62231);
|
|
9402
9509
|
|
|
9403
9510
|
|
|
9404
9511
|
/**
|
|
@@ -20,8 +20,8 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/mode-segmentation"}');
|
|
|
20
20
|
|
|
21
21
|
const id = package_namespaceObject.u2;
|
|
22
22
|
|
|
23
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
24
|
-
var ui_src = __webpack_require__(
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
24
|
+
var ui_src = __webpack_require__(22582);
|
|
25
25
|
;// CONCATENATED MODULE: ../../../modes/segmentation/src/toolbarButtons.ts
|
|
26
26
|
|
|
27
27
|
|
|
@@ -467,12 +467,16 @@ function modeFactory(_ref) {
|
|
|
467
467
|
},
|
|
468
468
|
/**
|
|
469
469
|
* A boolean return value that indicates whether the mode is valid for the
|
|
470
|
-
* modalities of the selected studies.
|
|
470
|
+
* modalities of the selected studies. Currently we don't have stack viewport
|
|
471
|
+
* segmentations and we should exclude them
|
|
471
472
|
*/
|
|
472
473
|
isValidMode: _ref4 => {
|
|
473
474
|
let {
|
|
474
475
|
modalities
|
|
475
476
|
} = _ref4;
|
|
477
|
+
if (modalities.length === 1) {
|
|
478
|
+
return !['SM', 'US', 'MG', 'OT', 'DOC', 'CR'].includes(modalities[0]);
|
|
479
|
+
}
|
|
476
480
|
return true;
|
|
477
481
|
},
|
|
478
482
|
/**
|
|
@@ -29,10 +29,10 @@ const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
|
|
|
29
29
|
var src = __webpack_require__(71771);
|
|
30
30
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 10 modules
|
|
31
31
|
var esm = __webpack_require__(45451);
|
|
32
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js +
|
|
33
|
-
var dist_esm = __webpack_require__(
|
|
34
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
35
|
-
var core_dist_esm = __webpack_require__(
|
|
32
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 391 modules
|
|
33
|
+
var dist_esm = __webpack_require__(28082);
|
|
34
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
|
|
35
|
+
var core_dist_esm = __webpack_require__(62231);
|
|
36
36
|
// EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-sr/src/tools/modules/dicomSRModule.js
|
|
37
37
|
var dicomSRModule = __webpack_require__(64035);
|
|
38
38
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/constants/scoordTypes.js
|
|
@@ -724,9 +724,11 @@ function _checkIfCanAddMeasurementsToDisplaySet(srDisplaySet, newDisplaySet, dat
|
|
|
724
724
|
// This also filters out _this_ displaySet, as it is not an ImageSet.
|
|
725
725
|
return;
|
|
726
726
|
}
|
|
727
|
+
if (newDisplaySet.unsupported) {
|
|
728
|
+
return;
|
|
729
|
+
}
|
|
727
730
|
const {
|
|
728
|
-
sopClassUids
|
|
729
|
-
images
|
|
731
|
+
sopClassUids
|
|
730
732
|
} = newDisplaySet;
|
|
731
733
|
|
|
732
734
|
// Check if any have the newDisplaySet is the correct SOPClass.
|
|
@@ -1531,7 +1533,7 @@ const dicomSRExtension = {
|
|
|
1531
1533
|
/* harmony export */ yR: () => (/* binding */ getTrackingUniqueIdentifiersForElement)
|
|
1532
1534
|
/* harmony export */ });
|
|
1533
1535
|
/* unused harmony export setActiveTrackingUniqueIdentifierForElement */
|
|
1534
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
1536
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62231);
|
|
1535
1537
|
|
|
1536
1538
|
const state = {
|
|
1537
1539
|
TrackingUniqueIdentifier: null,
|
|
@@ -1594,8 +1596,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1594
1596
|
Z: () => (/* binding */ hydrateStructuredReport)
|
|
1595
1597
|
});
|
|
1596
1598
|
|
|
1597
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
1598
|
-
var esm = __webpack_require__(
|
|
1599
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
|
|
1600
|
+
var esm = __webpack_require__(62231);
|
|
1599
1601
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
1600
1602
|
var src = __webpack_require__(71771);
|
|
1601
1603
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/getLabelFromDCMJSImportedToolData.js
|
|
@@ -1622,8 +1624,8 @@ function getLabelFromDCMJSImportedToolData(toolData) {
|
|
|
1622
1624
|
}
|
|
1623
1625
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/adapters.es.js
|
|
1624
1626
|
var adapters_es = __webpack_require__(91202);
|
|
1625
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js +
|
|
1626
|
-
var dist_esm = __webpack_require__(
|
|
1627
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 391 modules
|
|
1628
|
+
var dist_esm = __webpack_require__(28082);
|
|
1627
1629
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/hydrateStructuredReport.js
|
|
1628
1630
|
|
|
1629
1631
|
|
|
@@ -696,8 +696,8 @@ var react = __webpack_require__(43001);
|
|
|
696
696
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
697
697
|
var prop_types = __webpack_require__(3827);
|
|
698
698
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
699
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
700
|
-
var src = __webpack_require__(
|
|
699
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
700
|
+
var src = __webpack_require__(22582);
|
|
701
701
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
702
702
|
var core_src = __webpack_require__(71771);
|
|
703
703
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
@@ -1542,10 +1542,10 @@ function getPanelModule(_ref) {
|
|
|
1542
1542
|
}];
|
|
1543
1543
|
}
|
|
1544
1544
|
/* harmony default export */ const src_getPanelModule = (getPanelModule);
|
|
1545
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js +
|
|
1546
|
-
var esm = __webpack_require__(
|
|
1547
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
1548
|
-
var dist_esm = __webpack_require__(
|
|
1545
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 391 modules
|
|
1546
|
+
var esm = __webpack_require__(28082);
|
|
1547
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
|
|
1548
|
+
var dist_esm = __webpack_require__(62231);
|
|
1549
1549
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/measurementServiceMappings/constants/supportedTools.js
|
|
1550
1550
|
/* harmony default export */ const supportedTools = (['RectangleROIStartEndThreshold']);
|
|
1551
1551
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
|