@ohif/app 3.8.0-beta.7 → 3.8.0-beta.70
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/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
- package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.21827fec690c01ee9ab3.js} +85 -112
- package/dist/{19.bundle.e5579df6d7b74af50b1d.js → 155.bundle.0dabe8513b605b01ac3d.js} +334 -287
- package/dist/{687.bundle.9d0330ea5d61fe3117da.js → 164.bundle.0b1a2be351543c1433e8.js} +22 -38
- package/dist/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/{506.bundle.ab8226d3d81abe874544.js → 188.bundle.81e83b073b6fd4ae0058.js} +23 -28
- package/dist/191.bundle.7d89c921abefd1140d50.js +30360 -0
- package/dist/{221.bundle.c2dc03d8fa4235dc1285.js → 2.bundle.04dbbf67a52fe109749c.js} +351 -546
- package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
- package/dist/290.bundle.952de53057f98e2c5ef0.js +8883 -0
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.3a0d5062d65296c4bf5d.js} +102 -127
- package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
- package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.6e49f63ea7cea4645c0a.js} +544 -860
- package/dist/41.bundle.6ec0794a483e9a30eb94.js +831 -0
- package/dist/425.bundle.ffcdde2143a5757926b9.js +2957 -0
- package/dist/425.css +2 -0
- package/dist/{126.bundle.42df2dafc9c0310da188.js → 448.bundle.9177b9d909654efbc8d5.js} +316 -427
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 504.bundle.993d7e2dec36257d4ce4.js} +14338 -27291
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.566bfd08dccb4cf6d98b.js} +75 -105
- package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1110b24e96863d719a95.js} +39 -56
- package/dist/{663.bundle.9f359963019cd8ccf8f9.js → 559.bundle.4f111410af43324629ca.js} +151 -147
- package/dist/{181.bundle.a62b9f0ec692299acb35.js → 574.bundle.83afbc7922736fc6846d.js} +1246 -289
- package/dist/{181.css → 574.css} +1 -1
- package/dist/{410.bundle.38c9d3820e152e89288e.js → 594.bundle.ffeebda1bb9a81182a80.js} +183 -221
- package/dist/{776.bundle.004382036bdbd8ee2b95.js → 595.bundle.1c1a50c4ff87763b786a.js} +3128 -1028
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
- package/dist/699.bundle.db05df7b8e2ad605e928.js +767 -0
- package/dist/{359.bundle.8abe0036a7bf6b5fd115.js → 724.bundle.eada9d6c23678a5a2947.js} +130 -254
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.c8de818cf1a3ff0cf7d2.js} +512 -879
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
- package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.959ef65b18c1d3b5e2b4.js} +77 -96
- package/dist/{236.bundle.c9e70d55e7b2574c1ecd.js → 889.bundle.67c6e5f988c9b1d289ef.js} +198 -197
- package/dist/{342.bundle.d9668551811e3a88aaa4.js → 90.bundle.f41c8c4fc78cdfd4de30.js} +1430 -1055
- package/dist/{281.bundle.16a2933086a57e60c96c.js → 905.bundle.eb821474b36b96b897f9.js} +155 -122
- package/dist/{814.bundle.a1aba9c1e3d336008351.js → 907.bundle.ca904d9747480a0e4bf1.js} +16 -30
- package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
- package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
- package/dist/{12.bundle.37a8b47d2ae587cb9226.js → 961.bundle.65967b1a4af002af1d1d.js} +16 -31
- package/dist/987.bundle.6bdfb3cd8762b8889632.js +122950 -0
- package/dist/app-config.js +1 -0
- package/dist/app.bundle.css +15 -13
- package/dist/{app.bundle.437d085e13599d1e1ced.js → app.bundle.e21e5afd46fb064cb5de.js} +147713 -61638
- package/dist/assets/images/CT-AAA.png +0 -0
- package/dist/assets/images/CT-AAA2.png +0 -0
- package/dist/assets/images/CT-Air.png +0 -0
- package/dist/assets/images/CT-Bone.png +0 -0
- package/dist/assets/images/CT-Bones.png +0 -0
- package/dist/assets/images/CT-Cardiac.png +0 -0
- package/dist/assets/images/CT-Cardiac2.png +0 -0
- package/dist/assets/images/CT-Cardiac3.png +0 -0
- package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
- package/dist/assets/images/CT-Chest-Vessels.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
- package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
- package/dist/assets/images/CT-Fat.png +0 -0
- package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
- package/dist/assets/images/CT-Lung.png +0 -0
- package/dist/assets/images/CT-MIP.png +0 -0
- package/dist/assets/images/CT-Muscle.png +0 -0
- package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
- package/dist/assets/images/CT-Soft-Tissue.png +0 -0
- package/dist/assets/images/DTI-FA-Brain.png +0 -0
- package/dist/assets/images/MR-Angio.png +0 -0
- package/dist/assets/images/MR-Default.png +0 -0
- package/dist/assets/images/MR-MIP.png +0 -0
- package/dist/assets/images/MR-T2-Brain.png +0 -0
- package/dist/assets/images/VolumeRendering.png +0 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
- package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
- package/dist/polySeg.bundle.e7b4c29fb9173e8567b8.js +252 -0
- package/dist/serve.json +12 -0
- package/dist/sw.js +1 -1
- package/package.json +25 -22
- package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
- package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
- package/dist/613.bundle.aed640a7900dbcb688f5.js +0 -532
- package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
- package/dist/75788f12450d4c5ed494.wasm +0 -0
- package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
- package/dist/788.bundle.dcd53828d1bb2ac64d04.js +0 -2682
- package/dist/82.bundle.5a94dd7645e5c5476f59.js +0 -1049
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
- /package/dist/{19.css → 155.css} +0 -0
- /package/dist/{221.css → 2.css} +0 -0
- /package/dist/{579.css → 481.css} +0 -0
- /package/dist/{250.css → 544.css} +0 -0
- /package/dist/{776.css → 595.css} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[889],{
|
|
2
3
|
|
|
3
|
-
/***/
|
|
4
|
+
/***/ 62889:
|
|
4
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
5
6
|
|
|
6
|
-
"use strict";
|
|
7
7
|
// ESM COMPAT FLAG
|
|
8
8
|
__webpack_require__.r(__webpack_exports__);
|
|
9
9
|
|
|
@@ -13,21 +13,21 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/package.json
|
|
16
|
-
const package_namespaceObject = JSON.parse('{"
|
|
16
|
+
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-dicom-microscopy"}');
|
|
17
17
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/id.js
|
|
18
18
|
|
|
19
|
-
const id = package_namespaceObject.
|
|
19
|
+
const id = package_namespaceObject.UU;
|
|
20
20
|
|
|
21
21
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
22
|
-
var react = __webpack_require__(
|
|
23
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
24
|
-
var src = __webpack_require__(
|
|
25
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
26
|
-
var core_src = __webpack_require__(
|
|
22
|
+
var react = __webpack_require__(41766);
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 542 modules
|
|
24
|
+
var src = __webpack_require__(48804);
|
|
25
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
|
|
26
|
+
var core_src = __webpack_require__(85073);
|
|
27
27
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
28
|
-
var es = __webpack_require__(
|
|
29
|
-
// EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js +
|
|
30
|
-
var esm = __webpack_require__(
|
|
28
|
+
var es = __webpack_require__(80619);
|
|
29
|
+
// EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 996 modules
|
|
30
|
+
var esm = __webpack_require__(23109);
|
|
31
31
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/coordinateFormatScoord3d2Geometry.js
|
|
32
32
|
|
|
33
33
|
|
|
@@ -117,9 +117,9 @@ function mapSlideCoord2PixelCoord(options) {
|
|
|
117
117
|
}
|
|
118
118
|
const point = options.point;
|
|
119
119
|
const m = [[orientation[0] * spacing[1], orientation[3] * spacing[0], offset[0]], [orientation[1] * spacing[1], orientation[4] * spacing[0], offset[1]], [0, 0, 1]];
|
|
120
|
-
const mInverted = (0,esm/* inv */.
|
|
120
|
+
const mInverted = (0,esm/* inv */.WCD)(m);
|
|
121
121
|
const vSlide = [[point[0]], [point[1]], [1]];
|
|
122
|
-
const vImage = (0,esm/* multiply */.
|
|
122
|
+
const vImage = (0,esm/* multiply */.lwT)(mInverted, vSlide);
|
|
123
123
|
const row = Number(vImage[1][0].toFixed(4));
|
|
124
124
|
const col = Number(vImage[0][0].toFixed(4));
|
|
125
125
|
return [col, row];
|
|
@@ -212,7 +212,7 @@ const EVENTS = {
|
|
|
212
212
|
* ViewerManager encapsulates the complexity of the third-party viewer and
|
|
213
213
|
* expose only the features/behaviors that are relevant to the application
|
|
214
214
|
*/
|
|
215
|
-
class ViewerManager extends core_src/* PubSubService */.
|
|
215
|
+
class ViewerManager extends core_src/* PubSubService */.Rc {
|
|
216
216
|
constructor(viewer, viewportId, container, studyInstanceUID, seriesInstanceUID) {
|
|
217
217
|
super(EVENTS);
|
|
218
218
|
this.viewer = viewer;
|
|
@@ -414,11 +414,10 @@ class ViewerManager extends core_src/* PubSubService */.hC {
|
|
|
414
414
|
* @param {object} roi.properties - ROI properties
|
|
415
415
|
* @returns {void}
|
|
416
416
|
*/
|
|
417
|
-
updateROIProperties(
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
} = _ref;
|
|
417
|
+
updateROIProperties({
|
|
418
|
+
uid,
|
|
419
|
+
properties
|
|
420
|
+
}) {
|
|
422
421
|
this.viewer.updateROI({
|
|
423
422
|
uid,
|
|
424
423
|
properties
|
|
@@ -616,10 +615,8 @@ const RoiAnnotation_EVENTS = {
|
|
|
616
615
|
/**
|
|
617
616
|
* Represents a single annotation for the Microscopy Viewer
|
|
618
617
|
*/
|
|
619
|
-
class RoiAnnotation extends core_src/* PubSubService */.
|
|
620
|
-
constructor(roiGraphic, studyInstanceUID, seriesInstanceUID) {
|
|
621
|
-
let label = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
622
|
-
let viewState = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
618
|
+
class RoiAnnotation extends core_src/* PubSubService */.Rc {
|
|
619
|
+
constructor(roiGraphic, studyInstanceUID, seriesInstanceUID, label = '', viewState = null) {
|
|
623
620
|
super(RoiAnnotation_EVENTS);
|
|
624
621
|
this.uid = roiGraphic.uid;
|
|
625
622
|
this.roiGraphic = roiGraphic;
|
|
@@ -770,6 +767,7 @@ class RoiAnnotation extends core_src/* PubSubService */.hC {
|
|
|
770
767
|
|
|
771
768
|
/* harmony default export */ const utils_RoiAnnotation = (RoiAnnotation);
|
|
772
769
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/services/MicroscopyService.ts
|
|
770
|
+
var _class;
|
|
773
771
|
|
|
774
772
|
|
|
775
773
|
|
|
@@ -788,7 +786,7 @@ const MicroscopyService_EVENTS = {
|
|
|
788
786
|
* viewers and handle their ROI graphics to create, remove and modify the
|
|
789
787
|
* ROI annotations relevant to the application
|
|
790
788
|
*/
|
|
791
|
-
class MicroscopyService extends core_src/* PubSubService */.
|
|
789
|
+
class MicroscopyService extends core_src/* PubSubService */.Rc {
|
|
792
790
|
constructor(serviceManager) {
|
|
793
791
|
super(MicroscopyService_EVENTS);
|
|
794
792
|
this.serviceManager = void 0;
|
|
@@ -1296,6 +1294,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
1296
1294
|
this.managedViewers.forEach(mv => mv.activateInteractions(interactions));
|
|
1297
1295
|
this.activeInteractions = interactions;
|
|
1298
1296
|
}
|
|
1297
|
+
getActiveInteractions() {
|
|
1298
|
+
return this.activeInteractions;
|
|
1299
|
+
}
|
|
1299
1300
|
|
|
1300
1301
|
/**
|
|
1301
1302
|
* Triggers the relabelling process for the given RoiAnnotation instance, by
|
|
@@ -1304,21 +1305,16 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
1304
1305
|
* @param {RoiAnnotation} roiAnnotation The instance to be relabelled
|
|
1305
1306
|
* @param {boolean} newAnnotation Whether the annotation is newly drawn (so it deletes on cancel).
|
|
1306
1307
|
*/
|
|
1307
|
-
triggerRelabel(roiAnnotation) {
|
|
1308
|
-
let newAnnotation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1309
|
-
let onRelabel = arguments.length > 2 ? arguments[2] : undefined;
|
|
1308
|
+
triggerRelabel(roiAnnotation, newAnnotation = false, onRelabel) {
|
|
1310
1309
|
if (!onRelabel) {
|
|
1311
|
-
onRelabel =
|
|
1312
|
-
|
|
1310
|
+
onRelabel = ({
|
|
1311
|
+
label
|
|
1312
|
+
}) => this.managedViewers.forEach(mv => mv.updateROIProperties({
|
|
1313
|
+
uid: roiAnnotation.uid,
|
|
1314
|
+
properties: {
|
|
1313
1315
|
label
|
|
1314
|
-
}
|
|
1315
|
-
|
|
1316
|
-
uid: roiAnnotation.uid,
|
|
1317
|
-
properties: {
|
|
1318
|
-
label
|
|
1319
|
-
}
|
|
1320
|
-
}));
|
|
1321
|
-
};
|
|
1316
|
+
}
|
|
1317
|
+
}));
|
|
1322
1318
|
}
|
|
1323
1319
|
this._broadcastEvent(MicroscopyService_EVENTS.RELABEL, {
|
|
1324
1320
|
roiAnnotation,
|
|
@@ -1354,21 +1350,21 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
1354
1350
|
this.managedViewers.forEach(mv => mv.setROIStyle(uid, styleOptions));
|
|
1355
1351
|
}
|
|
1356
1352
|
}
|
|
1353
|
+
_class = MicroscopyService;
|
|
1357
1354
|
MicroscopyService.REGISTRATION = serviceManager => {
|
|
1358
1355
|
return {
|
|
1359
1356
|
name: 'microscopyService',
|
|
1360
1357
|
altName: 'MicroscopyService',
|
|
1361
|
-
create:
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
return new MicroscopyService(serviceManager);
|
|
1358
|
+
create: ({
|
|
1359
|
+
configuration = {}
|
|
1360
|
+
}) => {
|
|
1361
|
+
return new _class(serviceManager);
|
|
1366
1362
|
}
|
|
1367
1363
|
};
|
|
1368
1364
|
};
|
|
1369
1365
|
|
|
1370
1366
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
1371
|
-
var dcmjs_es = __webpack_require__(
|
|
1367
|
+
var dcmjs_es = __webpack_require__(31426);
|
|
1372
1368
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/callInputDialog.tsx
|
|
1373
1369
|
|
|
1374
1370
|
|
|
@@ -1382,19 +1378,17 @@ var dcmjs_es = __webpack_require__(67540);
|
|
|
1382
1378
|
* @param {func} callback
|
|
1383
1379
|
* @param {*} isArrowAnnotateInputDialog
|
|
1384
1380
|
*/
|
|
1385
|
-
function callInputDialog(
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
} = _ref;
|
|
1381
|
+
function callInputDialog({
|
|
1382
|
+
uiDialogService,
|
|
1383
|
+
title = 'Annotation',
|
|
1384
|
+
defaultValue = '',
|
|
1385
|
+
callback = (value, action) => {}
|
|
1386
|
+
}) {
|
|
1392
1387
|
const dialogId = 'microscopy-input-dialog';
|
|
1393
|
-
const onSubmitHandler =
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
} = _ref2;
|
|
1388
|
+
const onSubmitHandler = ({
|
|
1389
|
+
action,
|
|
1390
|
+
value
|
|
1391
|
+
}) => {
|
|
1398
1392
|
switch (action.id) {
|
|
1399
1393
|
case 'save':
|
|
1400
1394
|
callback(value.value, action.id);
|
|
@@ -1413,7 +1407,7 @@ function callInputDialog(_ref) {
|
|
|
1413
1407
|
centralize: true,
|
|
1414
1408
|
isDraggable: false,
|
|
1415
1409
|
showOverlay: true,
|
|
1416
|
-
content: src/* Dialog */.
|
|
1410
|
+
content: src/* Dialog */.lG,
|
|
1417
1411
|
contentProps: {
|
|
1418
1412
|
title: title,
|
|
1419
1413
|
value: {
|
|
@@ -1426,19 +1420,18 @@ function callInputDialog(_ref) {
|
|
|
1426
1420
|
actions: [{
|
|
1427
1421
|
id: 'cancel',
|
|
1428
1422
|
text: 'Cancel',
|
|
1429
|
-
type: src/* ButtonEnums.type */.
|
|
1423
|
+
type: src/* ButtonEnums.type */.Ny.NW.secondary
|
|
1430
1424
|
}, {
|
|
1431
1425
|
id: 'save',
|
|
1432
1426
|
text: 'Save',
|
|
1433
|
-
type: src/* ButtonEnums.type */.
|
|
1427
|
+
type: src/* ButtonEnums.type */.Ny.NW.primary
|
|
1434
1428
|
}],
|
|
1435
1429
|
onSubmit: onSubmitHandler,
|
|
1436
|
-
body:
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
return /*#__PURE__*/react.createElement(src/* Input */.II, {
|
|
1430
|
+
body: ({
|
|
1431
|
+
value,
|
|
1432
|
+
setValue
|
|
1433
|
+
}) => {
|
|
1434
|
+
return /*#__PURE__*/react.createElement(src/* Input */.pd, {
|
|
1442
1435
|
label: "Enter your annotation",
|
|
1443
1436
|
labelClassName: "text-white text-[14px] leading-[1.2]",
|
|
1444
1437
|
autoFocus: true,
|
|
@@ -1485,11 +1478,10 @@ const uid = '2.25.285241207697168520771311899641885187923';
|
|
|
1485
1478
|
*
|
|
1486
1479
|
* @return Comprehensive3DSR dataset
|
|
1487
1480
|
*/
|
|
1488
|
-
function constructSR(metadata,
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
} = _ref;
|
|
1481
|
+
function constructSR(metadata, {
|
|
1482
|
+
SeriesDescription,
|
|
1483
|
+
SeriesNumber
|
|
1484
|
+
}, annotations) {
|
|
1493
1485
|
// Handle malformed data
|
|
1494
1486
|
if (!metadata.SpecimenDescriptionSequence) {
|
|
1495
1487
|
metadata.SpecimenDescriptionSequence = {
|
|
@@ -1502,34 +1494,34 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1502
1494
|
} = metadata;
|
|
1503
1495
|
|
|
1504
1496
|
// construct Comprehensive3DSR dataset
|
|
1505
|
-
const observationContext = new dcmjs_es
|
|
1506
|
-
observerPersonContext: new dcmjs_es
|
|
1507
|
-
observerType: new dcmjs_es
|
|
1497
|
+
const observationContext = new dcmjs_es/* default.sr */.Ay.sr.templates.ObservationContext({
|
|
1498
|
+
observerPersonContext: new dcmjs_es/* default.sr */.Ay.sr.templates.ObserverContext({
|
|
1499
|
+
observerType: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1508
1500
|
value: '121006',
|
|
1509
1501
|
schemeDesignator: 'DCM',
|
|
1510
1502
|
meaning: 'Person'
|
|
1511
1503
|
}),
|
|
1512
|
-
observerIdentifyingAttributes: new dcmjs_es
|
|
1504
|
+
observerIdentifyingAttributes: new dcmjs_es/* default.sr */.Ay.sr.templates.PersonObserverIdentifyingAttributes({
|
|
1513
1505
|
name: '@ohif/extension-dicom-microscopy'
|
|
1514
1506
|
})
|
|
1515
1507
|
}),
|
|
1516
|
-
observerDeviceContext: new dcmjs_es
|
|
1517
|
-
observerType: new dcmjs_es
|
|
1508
|
+
observerDeviceContext: new dcmjs_es/* default.sr */.Ay.sr.templates.ObserverContext({
|
|
1509
|
+
observerType: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1518
1510
|
value: '121007',
|
|
1519
1511
|
schemeDesignator: 'DCM',
|
|
1520
1512
|
meaning: 'Device'
|
|
1521
1513
|
}),
|
|
1522
|
-
observerIdentifyingAttributes: new dcmjs_es
|
|
1514
|
+
observerIdentifyingAttributes: new dcmjs_es/* default.sr */.Ay.sr.templates.DeviceObserverIdentifyingAttributes({
|
|
1523
1515
|
uid: DEVICE_OBSERVER_UID
|
|
1524
1516
|
})
|
|
1525
1517
|
}),
|
|
1526
|
-
subjectContext: new dcmjs_es
|
|
1527
|
-
subjectClass: new dcmjs_es
|
|
1518
|
+
subjectContext: new dcmjs_es/* default.sr */.Ay.sr.templates.SubjectContext({
|
|
1519
|
+
subjectClass: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1528
1520
|
value: '121027',
|
|
1529
1521
|
schemeDesignator: 'DCM',
|
|
1530
1522
|
meaning: 'Specimen'
|
|
1531
1523
|
}),
|
|
1532
|
-
subjectClassSpecificContext: new dcmjs_es
|
|
1524
|
+
subjectClassSpecificContext: new dcmjs_es/* default.sr */.Ay.sr.templates.SubjectContextSpecimen({
|
|
1533
1525
|
uid: SpecimenDescriptionSequence.SpecimenUID,
|
|
1534
1526
|
identifier: SpecimenDescriptionSequence.SpecimenIdentifier || metadata.SeriesInstanceUID,
|
|
1535
1527
|
containerIdentifier: metadata.ContainerIdentifier || metadata.SeriesInstanceUID
|
|
@@ -1561,14 +1553,14 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1561
1553
|
const ConceptName = Array.isArray(measurement.ConceptNameCodeSequence) ? measurement.ConceptNameCodeSequence[0] : measurement.ConceptNameCodeSequence;
|
|
1562
1554
|
const MeasuredValue = Array.isArray(measurement.MeasuredValueSequence) ? measurement.MeasuredValueSequence[0] : measurement.MeasuredValueSequence;
|
|
1563
1555
|
const MeasuredValueUnits = Array.isArray(MeasuredValue.MeasurementUnitsCodeSequence) ? MeasuredValue.MeasurementUnitsCodeSequence[0] : MeasuredValue.MeasurementUnitsCodeSequence;
|
|
1564
|
-
return new dcmjs_es
|
|
1565
|
-
name: new dcmjs_es
|
|
1556
|
+
return new dcmjs_es/* default.sr */.Ay.sr.valueTypes.NumContentItem({
|
|
1557
|
+
name: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1566
1558
|
meaning: ConceptName.CodeMeaning,
|
|
1567
1559
|
value: ConceptName.CodeValue,
|
|
1568
1560
|
schemeDesignator: ConceptName.CodingSchemeDesignator
|
|
1569
1561
|
}),
|
|
1570
1562
|
value: MeasuredValue.NumericValue,
|
|
1571
|
-
unit: new dcmjs_es
|
|
1563
|
+
unit: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1572
1564
|
value: MeasuredValueUnits.CodeValue,
|
|
1573
1565
|
meaning: MeasuredValueUnits.CodeMeaning,
|
|
1574
1566
|
schemeDesignator: MeasuredValueUnits.CodingSchemeDesignator
|
|
@@ -1579,8 +1571,8 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1579
1571
|
/** Avoid incompatibility with dcmjs */
|
|
1580
1572
|
evaluations = evaluations.map(evaluation => {
|
|
1581
1573
|
const ConceptName = Array.isArray(evaluation.ConceptNameCodeSequence) ? evaluation.ConceptNameCodeSequence[0] : evaluation.ConceptNameCodeSequence;
|
|
1582
|
-
return new dcmjs_es
|
|
1583
|
-
name: new dcmjs_es
|
|
1574
|
+
return new dcmjs_es/* default.sr */.Ay.sr.valueTypes.TextContentItem({
|
|
1575
|
+
name: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1584
1576
|
value: ConceptName.CodeValue,
|
|
1585
1577
|
meaning: ConceptName.CodeMeaning,
|
|
1586
1578
|
schemeDesignator: ConceptName.CodingSchemeDesignator
|
|
@@ -1590,17 +1582,17 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1590
1582
|
});
|
|
1591
1583
|
});
|
|
1592
1584
|
const identifier = `ROI #${i + 1}`;
|
|
1593
|
-
const group = new dcmjs_es
|
|
1594
|
-
trackingIdentifier: new dcmjs_es
|
|
1585
|
+
const group = new dcmjs_es/* default.sr */.Ay.sr.templates.PlanarROIMeasurementsAndQualitativeEvaluations({
|
|
1586
|
+
trackingIdentifier: new dcmjs_es/* default.sr */.Ay.sr.templates.TrackingIdentifier({
|
|
1595
1587
|
uid: roi.uid,
|
|
1596
1588
|
identifier: presentationState ? identifier.concat(`(${JSON.stringify(presentationState)})`) : identifier
|
|
1597
1589
|
}),
|
|
1598
|
-
referencedRegion: new dcmjs_es
|
|
1590
|
+
referencedRegion: new dcmjs_es/* default.sr */.Ay.sr.contentItems.ImageRegion3D({
|
|
1599
1591
|
graphicType: roi.scoord3d.graphicType,
|
|
1600
1592
|
graphicData: roi.scoord3d.graphicData,
|
|
1601
1593
|
frameOfReferenceUID: roi.scoord3d.frameOfReferenceUID
|
|
1602
1594
|
}),
|
|
1603
|
-
findingType: new dcmjs_es
|
|
1595
|
+
findingType: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1604
1596
|
value: label,
|
|
1605
1597
|
schemeDesignator: '@ohif/extension-dicom-microscopy',
|
|
1606
1598
|
meaning: 'FREETEXT'
|
|
@@ -1611,23 +1603,23 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1611
1603
|
});
|
|
1612
1604
|
imagingMeasurements.push(...group);
|
|
1613
1605
|
}
|
|
1614
|
-
const measurementReport = new dcmjs_es
|
|
1615
|
-
languageOfContentItemAndDescendants: new dcmjs_es
|
|
1606
|
+
const measurementReport = new dcmjs_es/* default.sr */.Ay.sr.templates.MeasurementReport({
|
|
1607
|
+
languageOfContentItemAndDescendants: new dcmjs_es/* default.sr */.Ay.sr.templates.LanguageOfContentItemAndDescendants({}),
|
|
1616
1608
|
observationContext,
|
|
1617
|
-
procedureReported: new dcmjs_es
|
|
1609
|
+
procedureReported: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
|
|
1618
1610
|
value: '112703',
|
|
1619
1611
|
schemeDesignator: 'DCM',
|
|
1620
1612
|
meaning: 'Whole Slide Imaging'
|
|
1621
1613
|
}),
|
|
1622
1614
|
imagingMeasurements
|
|
1623
1615
|
});
|
|
1624
|
-
const dataset = new dcmjs_es
|
|
1616
|
+
const dataset = new dcmjs_es/* default.sr */.Ay.sr.documents.Comprehensive3DSR({
|
|
1625
1617
|
content: measurementReport[0],
|
|
1626
1618
|
evidence: [metadata],
|
|
1627
|
-
seriesInstanceUID: dcmjs_es
|
|
1619
|
+
seriesInstanceUID: dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary.uid(),
|
|
1628
1620
|
seriesNumber: SeriesNumber,
|
|
1629
1621
|
seriesDescription: SeriesDescription || 'Whole slide imaging structured report',
|
|
1630
|
-
sopInstanceUID: dcmjs_es
|
|
1622
|
+
sopInstanceUID: dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary.uid(),
|
|
1631
1623
|
instanceNumber: 1,
|
|
1632
1624
|
manufacturer: 'dcmjs-org'
|
|
1633
1625
|
});
|
|
@@ -1647,7 +1639,7 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1647
1639
|
vr: 'UI'
|
|
1648
1640
|
},
|
|
1649
1641
|
ImplementationClassUID: {
|
|
1650
|
-
Value: [dcmjs_es
|
|
1642
|
+
Value: [dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary.uid()],
|
|
1651
1643
|
vr: 'UI'
|
|
1652
1644
|
},
|
|
1653
1645
|
ImplementationVersionName: {
|
|
@@ -1685,7 +1677,7 @@ function saveByteArray(buffer, filename) {
|
|
|
1685
1677
|
let saving = false;
|
|
1686
1678
|
const {
|
|
1687
1679
|
datasetToBuffer
|
|
1688
|
-
} = dcmjs_es
|
|
1680
|
+
} = dcmjs_es/* default.data */.Ay.data;
|
|
1689
1681
|
const formatArea = area => {
|
|
1690
1682
|
let mult = 1;
|
|
1691
1683
|
let unit = 'mm';
|
|
@@ -1931,10 +1923,9 @@ function MicroscopyPanel(props) {
|
|
|
1931
1923
|
*
|
|
1932
1924
|
* @param param0
|
|
1933
1925
|
*/
|
|
1934
|
-
const onMeasurementItemClickHandler =
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
} = _ref;
|
|
1926
|
+
const onMeasurementItemClickHandler = ({
|
|
1927
|
+
uid
|
|
1928
|
+
}) => {
|
|
1938
1929
|
const roiAnnotation = microscopyService.getAnnotation(uid);
|
|
1939
1930
|
microscopyService.selectAnnotation(roiAnnotation);
|
|
1940
1931
|
microscopyService.focusAnnotation(roiAnnotation, props.activeViewportId);
|
|
@@ -1944,11 +1935,10 @@ function MicroscopyPanel(props) {
|
|
|
1944
1935
|
* Handler for "Edit" action of an annotation item
|
|
1945
1936
|
* @param param0
|
|
1946
1937
|
*/
|
|
1947
|
-
const onMeasurementItemEditHandler =
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
} = _ref2;
|
|
1938
|
+
const onMeasurementItemEditHandler = ({
|
|
1939
|
+
uid,
|
|
1940
|
+
isActive
|
|
1941
|
+
}) => {
|
|
1952
1942
|
props.commandsManager.runCommand('setLabel', {
|
|
1953
1943
|
uid
|
|
1954
1944
|
}, 'MICROSCOPY');
|
|
@@ -1990,7 +1980,7 @@ function MicroscopyPanel(props) {
|
|
|
1990
1980
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
1991
1981
|
className: "ohif-scrollbar overflow-y-auto overflow-x-hidden",
|
|
1992
1982
|
"data-cy": 'measurements-panel'
|
|
1993
|
-
}, /*#__PURE__*/react.createElement(src/* MeasurementTable */.
|
|
1983
|
+
}, /*#__PURE__*/react.createElement(src/* MeasurementTable */.V, {
|
|
1994
1984
|
title: "Measurements",
|
|
1995
1985
|
servicesManager: props.servicesManager,
|
|
1996
1986
|
data: data,
|
|
@@ -1998,7 +1988,7 @@ function MicroscopyPanel(props) {
|
|
|
1998
1988
|
onEdit: onMeasurementItemEditHandler
|
|
1999
1989
|
})));
|
|
2000
1990
|
}
|
|
2001
|
-
const connectedMicroscopyPanel = (0,es/* withTranslation */.
|
|
1991
|
+
const connectedMicroscopyPanel = (0,es/* withTranslation */.CI)(['MicroscopyTable', 'Common'])(MicroscopyPanel);
|
|
2002
1992
|
/* harmony default export */ const MicroscopyPanel_MicroscopyPanel = (connectedMicroscopyPanel);
|
|
2003
1993
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/getPanelModule.tsx
|
|
2004
1994
|
|
|
@@ -2010,17 +2000,16 @@ const connectedMicroscopyPanel = (0,es/* withTranslation */.Zh)(['MicroscopyTabl
|
|
|
2010
2000
|
// - cancel promises when component is destroyed
|
|
2011
2001
|
// - show errors in UI for thumbnails if promise fails
|
|
2012
2002
|
|
|
2013
|
-
function getPanelModule(
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
} = _ref;
|
|
2003
|
+
function getPanelModule({
|
|
2004
|
+
commandsManager,
|
|
2005
|
+
extensionManager,
|
|
2006
|
+
servicesManager
|
|
2007
|
+
}) {
|
|
2019
2008
|
const wrappedMeasurementPanel = () => {
|
|
2020
2009
|
const [{
|
|
2021
2010
|
activeViewportId,
|
|
2022
2011
|
viewports
|
|
2023
|
-
}] = (0,src/* useViewportGrid */.
|
|
2012
|
+
}] = (0,src/* useViewportGrid */.ih)();
|
|
2024
2013
|
return /*#__PURE__*/react.createElement(MicroscopyPanel_MicroscopyPanel, {
|
|
2025
2014
|
viewports: viewports,
|
|
2026
2015
|
activeViewportId: activeViewportId,
|
|
@@ -2043,12 +2032,11 @@ function getPanelModule(_ref) {
|
|
|
2043
2032
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/getCommandsModule.ts
|
|
2044
2033
|
|
|
2045
2034
|
|
|
2046
|
-
function getCommandsModule(
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
} = _ref;
|
|
2035
|
+
function getCommandsModule({
|
|
2036
|
+
servicesManager,
|
|
2037
|
+
commandsManager,
|
|
2038
|
+
extensionManager
|
|
2039
|
+
}) {
|
|
2052
2040
|
const {
|
|
2053
2041
|
viewportGridService,
|
|
2054
2042
|
uiDialogService,
|
|
@@ -2056,10 +2044,9 @@ function getCommandsModule(_ref) {
|
|
|
2056
2044
|
} = servicesManager.services;
|
|
2057
2045
|
const actions = {
|
|
2058
2046
|
// Measurement tool commands:
|
|
2059
|
-
deleteMeasurement:
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
} = _ref2;
|
|
2047
|
+
deleteMeasurement: ({
|
|
2048
|
+
uid
|
|
2049
|
+
}) => {
|
|
2063
2050
|
if (uid) {
|
|
2064
2051
|
const roiAnnotation = microscopyService.getAnnotation(uid);
|
|
2065
2052
|
if (roiAnnotation) {
|
|
@@ -2067,10 +2054,9 @@ function getCommandsModule(_ref) {
|
|
|
2067
2054
|
}
|
|
2068
2055
|
}
|
|
2069
2056
|
},
|
|
2070
|
-
setLabel:
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
} = _ref3;
|
|
2057
|
+
setLabel: ({
|
|
2058
|
+
uid
|
|
2059
|
+
}) => {
|
|
2074
2060
|
const roiAnnotation = microscopyService.getAnnotation(uid);
|
|
2075
2061
|
callInputDialog({
|
|
2076
2062
|
uiDialogService,
|
|
@@ -2086,11 +2072,10 @@ function getCommandsModule(_ref) {
|
|
|
2086
2072
|
}
|
|
2087
2073
|
});
|
|
2088
2074
|
},
|
|
2089
|
-
setToolActive:
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
} = _ref4;
|
|
2075
|
+
setToolActive: ({
|
|
2076
|
+
toolName,
|
|
2077
|
+
toolGroupId = 'MICROSCOPY'
|
|
2078
|
+
}) => {
|
|
2094
2079
|
const dragPanOnMiddle = ['dragPan', {
|
|
2095
2080
|
bindings: {
|
|
2096
2081
|
mouseButtons: ['middle']
|
|
@@ -2146,8 +2131,7 @@ function getCommandsModule(_ref) {
|
|
|
2146
2131
|
|
|
2147
2132
|
// overview
|
|
2148
2133
|
const {
|
|
2149
|
-
activeViewportId
|
|
2150
|
-
viewports
|
|
2134
|
+
activeViewportId
|
|
2151
2135
|
} = viewportGridService.getState();
|
|
2152
2136
|
microscopyService.toggleOverviewMap(activeViewportId);
|
|
2153
2137
|
},
|
|
@@ -2157,29 +2141,19 @@ function getCommandsModule(_ref) {
|
|
|
2157
2141
|
};
|
|
2158
2142
|
const definitions = {
|
|
2159
2143
|
deleteMeasurement: {
|
|
2160
|
-
commandFn: actions.deleteMeasurement
|
|
2161
|
-
storeContexts: [],
|
|
2162
|
-
options: {}
|
|
2144
|
+
commandFn: actions.deleteMeasurement
|
|
2163
2145
|
},
|
|
2164
2146
|
setLabel: {
|
|
2165
|
-
commandFn: actions.setLabel
|
|
2166
|
-
storeContexts: [],
|
|
2167
|
-
options: {}
|
|
2147
|
+
commandFn: actions.setLabel
|
|
2168
2148
|
},
|
|
2169
2149
|
setToolActive: {
|
|
2170
|
-
commandFn: actions.setToolActive
|
|
2171
|
-
storeContexts: [],
|
|
2172
|
-
options: {}
|
|
2150
|
+
commandFn: actions.setToolActive
|
|
2173
2151
|
},
|
|
2174
2152
|
toggleOverlays: {
|
|
2175
|
-
commandFn: actions.toggleOverlays
|
|
2176
|
-
storeContexts: [],
|
|
2177
|
-
options: {}
|
|
2153
|
+
commandFn: actions.toggleOverlays
|
|
2178
2154
|
},
|
|
2179
2155
|
toggleAnnotations: {
|
|
2180
|
-
commandFn: actions.toggleAnnotations
|
|
2181
|
-
storeContexts: [],
|
|
2182
|
-
options: {}
|
|
2156
|
+
commandFn: actions.toggleAnnotations
|
|
2183
2157
|
}
|
|
2184
2158
|
};
|
|
2185
2159
|
return {
|
|
@@ -2192,7 +2166,7 @@ function getCommandsModule(_ref) {
|
|
|
2192
2166
|
|
|
2193
2167
|
const {
|
|
2194
2168
|
utils
|
|
2195
|
-
} = core_src
|
|
2169
|
+
} = core_src/* default */.Ay;
|
|
2196
2170
|
const SOP_CLASS_UIDS = {
|
|
2197
2171
|
VL_WHOLE_SLIDE_MICROSCOPY_IMAGE_STORAGE: '1.2.840.10008.5.1.4.1.1.77.1.6'
|
|
2198
2172
|
};
|
|
@@ -2284,11 +2258,10 @@ function _getDisplaySetsFromSeries(instances, servicesManager, extensionManager)
|
|
|
2284
2258
|
};
|
|
2285
2259
|
return [displaySet];
|
|
2286
2260
|
}
|
|
2287
|
-
function getDicomMicroscopySopClassHandler(
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
} = _ref;
|
|
2261
|
+
function getDicomMicroscopySopClassHandler({
|
|
2262
|
+
servicesManager,
|
|
2263
|
+
extensionManager
|
|
2264
|
+
}) {
|
|
2292
2265
|
const getDisplaySetsFromSeries = instances => {
|
|
2293
2266
|
return _getDisplaySetsFromSeries(instances, servicesManager, extensionManager);
|
|
2294
2267
|
};
|
|
@@ -2311,7 +2284,6 @@ const DCM_CODE_VALUES = {
|
|
|
2311
2284
|
LONG_AXIS: 'G-A185',
|
|
2312
2285
|
ELLIPSE_AREA: 'G-D7FE' // TODO: Remove this
|
|
2313
2286
|
};
|
|
2314
|
-
|
|
2315
2287
|
/* harmony default export */ const dcmCodeValues = (DCM_CODE_VALUES);
|
|
2316
2288
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/toArray.js
|
|
2317
2289
|
function toArray(item) {
|
|
@@ -2321,7 +2293,7 @@ function toArray(item) {
|
|
|
2321
2293
|
|
|
2322
2294
|
|
|
2323
2295
|
|
|
2324
|
-
const MeasurementReport = dcmjs_es
|
|
2296
|
+
const MeasurementReport = dcmjs_es/* default.adapters */.Ay.adapters.DICOMMicroscopyViewer.MeasurementReport;
|
|
2325
2297
|
|
|
2326
2298
|
// Define as async so that it returns a promise, expected by the ViewportGrid
|
|
2327
2299
|
async function loadSR(microscopyService, microscopySRDisplaySet, referencedDisplaySet) {
|
|
@@ -2358,7 +2330,7 @@ async function loadSR(microscopyService, microscopySRDisplaySet, referencedDispl
|
|
|
2358
2330
|
async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) {
|
|
2359
2331
|
const toolState = MeasurementReport.generateToolState(naturalizedDataset);
|
|
2360
2332
|
const tools = Object.getOwnPropertyNames(toolState);
|
|
2361
|
-
const DICOMMicroscopyViewer = await __webpack_require__.e(/* import() | dicom-microscopy-viewer */
|
|
2333
|
+
const DICOMMicroscopyViewer = await __webpack_require__.e(/* import() | dicom-microscopy-viewer */ 525).then(__webpack_require__.t.bind(__webpack_require__, 95226, 23));
|
|
2362
2334
|
const measurementGroupContentItems = _getMeasurementGroups(naturalizedDataset);
|
|
2363
2335
|
const rois = [];
|
|
2364
2336
|
const labels = [];
|
|
@@ -2492,7 +2464,7 @@ function getSourceDisplaySet(allDisplaySets, microscopySRDisplaySet) {
|
|
|
2492
2464
|
|
|
2493
2465
|
const {
|
|
2494
2466
|
utils: DicomMicroscopySRSopClassHandler_utils
|
|
2495
|
-
} = core_src
|
|
2467
|
+
} = core_src/* default */.Ay;
|
|
2496
2468
|
const DicomMicroscopySRSopClassHandler_SOP_CLASS_UIDS = {
|
|
2497
2469
|
COMPREHENSIVE_3D_SR: '1.2.840.10008.5.1.4.1.1.88.34'
|
|
2498
2470
|
};
|
|
@@ -2573,11 +2545,10 @@ function DicomMicroscopySRSopClassHandler_getDisplaySetsFromSeries(instances, se
|
|
|
2573
2545
|
};
|
|
2574
2546
|
return [displaySet];
|
|
2575
2547
|
}
|
|
2576
|
-
function getDicomMicroscopySRSopClassHandler(
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
} = _ref;
|
|
2548
|
+
function getDicomMicroscopySRSopClassHandler({
|
|
2549
|
+
servicesManager,
|
|
2550
|
+
extensionManager
|
|
2551
|
+
}) {
|
|
2581
2552
|
const getDisplaySetsFromSeries = instances => {
|
|
2582
2553
|
return DicomMicroscopySRSopClassHandler_getDisplaySetsFromSeries(instances, servicesManager, extensionManager);
|
|
2583
2554
|
};
|
|
@@ -2598,7 +2569,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2598
2569
|
|
|
2599
2570
|
|
|
2600
2571
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
2601
|
-
return Promise.all(/* import() */[__webpack_require__.e(
|
|
2572
|
+
return Promise.all(/* import() */[__webpack_require__.e(504), __webpack_require__.e(191), __webpack_require__.e(644), __webpack_require__.e(931), __webpack_require__.e(90), __webpack_require__.e(544)]).then(__webpack_require__.bind(__webpack_require__, 17919));
|
|
2602
2573
|
});
|
|
2603
2574
|
const MicroscopyViewport = props => {
|
|
2604
2575
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -2609,19 +2580,15 @@ const MicroscopyViewport = props => {
|
|
|
2609
2580
|
/**
|
|
2610
2581
|
* You can remove any of the following modules if you don't need them.
|
|
2611
2582
|
*/
|
|
2612
|
-
|
|
2583
|
+
const extension = {
|
|
2613
2584
|
/**
|
|
2614
2585
|
* Only required property. Should be a unique value across all extensions.
|
|
2615
2586
|
* You ID can be anything you want, but it should be unique.
|
|
2616
2587
|
*/
|
|
2617
2588
|
id: id,
|
|
2618
|
-
async preRegistration(
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
commandsManager,
|
|
2622
|
-
configuration = {},
|
|
2623
|
-
appConfig
|
|
2624
|
-
} = _ref;
|
|
2589
|
+
async preRegistration({
|
|
2590
|
+
servicesManager
|
|
2591
|
+
}) {
|
|
2625
2592
|
servicesManager.registerService(MicroscopyService.REGISTRATION(servicesManager));
|
|
2626
2593
|
},
|
|
2627
2594
|
/**
|
|
@@ -2630,12 +2597,11 @@ const MicroscopyViewport = props => {
|
|
|
2630
2597
|
* {name, component} object. Example of a viewport module is the CornerstoneViewport
|
|
2631
2598
|
* that is provided by the Cornerstone extension in OHIF.
|
|
2632
2599
|
*/
|
|
2633
|
-
getViewportModule(
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
} = _ref2;
|
|
2600
|
+
getViewportModule({
|
|
2601
|
+
servicesManager,
|
|
2602
|
+
extensionManager,
|
|
2603
|
+
commandsManager
|
|
2604
|
+
}) {
|
|
2639
2605
|
/**
|
|
2640
2606
|
*
|
|
2641
2607
|
* @param props {*}
|
|
@@ -2651,11 +2617,20 @@ const MicroscopyViewport = props => {
|
|
|
2651
2617
|
const {
|
|
2652
2618
|
viewportOptions
|
|
2653
2619
|
} = props;
|
|
2654
|
-
const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.
|
|
2620
|
+
const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.ih)();
|
|
2655
2621
|
const {
|
|
2656
2622
|
activeViewportId
|
|
2657
2623
|
} = viewportGrid;
|
|
2624
|
+
|
|
2625
|
+
// a unique identifier based on the contents of displaySets.
|
|
2626
|
+
// since we changed our rendering pipeline and if there is no
|
|
2627
|
+
// element size change nor viewportId change we won't re-render
|
|
2628
|
+
// we need a way to force re-rendering when displaySets change.
|
|
2629
|
+
const displaySetsKey = (0,react.useMemo)(() => {
|
|
2630
|
+
return props.displaySets.map(ds => ds.displaySetInstanceUID).join('-');
|
|
2631
|
+
}, [props.displaySets]);
|
|
2658
2632
|
return /*#__PURE__*/react.createElement(MicroscopyViewport, _extends({
|
|
2633
|
+
key: displaySetsKey,
|
|
2659
2634
|
servicesManager: servicesManager,
|
|
2660
2635
|
extensionManager: extensionManager,
|
|
2661
2636
|
commandsManager: commandsManager,
|
|
@@ -2671,18 +2646,50 @@ const MicroscopyViewport = props => {
|
|
|
2671
2646
|
component: ExtendedMicroscopyViewport
|
|
2672
2647
|
}];
|
|
2673
2648
|
},
|
|
2649
|
+
getToolbarModule({
|
|
2650
|
+
servicesManager
|
|
2651
|
+
}) {
|
|
2652
|
+
return [{
|
|
2653
|
+
name: 'evaluate.microscopyTool',
|
|
2654
|
+
evaluate: ({
|
|
2655
|
+
button
|
|
2656
|
+
}) => {
|
|
2657
|
+
const {
|
|
2658
|
+
microscopyService
|
|
2659
|
+
} = servicesManager.services;
|
|
2660
|
+
const activeInteractions = microscopyService.getActiveInteractions();
|
|
2661
|
+
const isPrimaryActive = activeInteractions.find(interactions => {
|
|
2662
|
+
const sameMouseButton = interactions[1].bindings.mouseButtons.includes('left');
|
|
2663
|
+
if (!sameMouseButton) {
|
|
2664
|
+
return false;
|
|
2665
|
+
}
|
|
2666
|
+
const notDraw = interactions[0] !== 'draw';
|
|
2667
|
+
|
|
2668
|
+
// there seems to be a custom logic for draw tool for some reason
|
|
2669
|
+
return notDraw ? interactions[0] === button.id : interactions[1].geometryType === button.id;
|
|
2670
|
+
});
|
|
2671
|
+
return {
|
|
2672
|
+
disabled: false,
|
|
2673
|
+
className: isPrimaryActive ? '!text-black bg-primary-light' : '!text-common-bright hover:!bg-primary-dark hover:!text-primary-light',
|
|
2674
|
+
// Todo: isActive right now is used for nested buttons where the primary
|
|
2675
|
+
// button needs to be fully rounded (vs partial rounded) when active
|
|
2676
|
+
// otherwise it does not have any other use
|
|
2677
|
+
isActive: isPrimaryActive
|
|
2678
|
+
};
|
|
2679
|
+
}
|
|
2680
|
+
}];
|
|
2681
|
+
},
|
|
2674
2682
|
/**
|
|
2675
2683
|
* SopClassHandlerModule should provide a list of sop class handlers that will be
|
|
2676
2684
|
* available in OHIF for Modes to consume and use to create displaySets from Series.
|
|
2677
2685
|
* Each sop class handler is defined by a { name, sopClassUids, getDisplaySetsFromSeries}.
|
|
2678
2686
|
* Examples include the default sop class handler provided by the default extension
|
|
2679
2687
|
*/
|
|
2680
|
-
getSopClassHandlerModule(
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
} = _ref3;
|
|
2688
|
+
getSopClassHandlerModule({
|
|
2689
|
+
servicesManager,
|
|
2690
|
+
commandsManager,
|
|
2691
|
+
extensionManager
|
|
2692
|
+
}) {
|
|
2686
2693
|
return [getDicomMicroscopySopClassHandler({
|
|
2687
2694
|
servicesManager,
|
|
2688
2695
|
extensionManager
|
|
@@ -2693,14 +2700,8 @@ const MicroscopyViewport = props => {
|
|
|
2693
2700
|
},
|
|
2694
2701
|
getPanelModule: getPanelModule,
|
|
2695
2702
|
getCommandsModule: getCommandsModule
|
|
2696
|
-
}
|
|
2697
|
-
|
|
2698
|
-
/***/ }),
|
|
2699
|
-
|
|
2700
|
-
/***/ 78753:
|
|
2701
|
-
/***/ (() => {
|
|
2702
|
-
|
|
2703
|
-
/* (ignored) */
|
|
2703
|
+
};
|
|
2704
|
+
/* harmony default export */ const dicom_microscopy_src = (extension);
|
|
2704
2705
|
|
|
2705
2706
|
/***/ })
|
|
2706
2707
|
|