@ohif/app 3.7.0-beta.44 → 3.7.0-beta.47
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/{12.bundle.e8a38369f1a90100362f.js → 12.bundle.76faa700f7041f616633.js} +2 -2
- package/dist/{128.bundle.c4be183e141214e291da.js → 128.bundle.1d35b17c905a58de8551.js} +4 -4
- package/dist/{150.bundle.7be19d85d4a4427162b9.js → 150.bundle.bf8bb9e4589aa2c5ae67.js} +73 -6
- package/dist/{181.bundle.f4289d6b1c5d35831e37.js → 181.bundle.234fef330d4fe6baca8b.js} +13 -7
- package/dist/{236.bundle.b8ef36ef4c5e4e5c3d2b.js → 236.bundle.e50df45b4c224feb736f.js} +30 -16
- package/dist/{250.bundle.ee4bcf159c4d610acc3e.js → 250.bundle.3bcee6d765a209281ddd.js} +24 -12
- package/dist/{281.bundle.d394ad2bcce3cf7b325f.js → 281.bundle.a36db013f04d30edeadd.js} +2 -2
- package/dist/{30.bundle.21b1175bc35138643825.js → 30.bundle.dec90afeb4103389b6a6.js} +12 -9
- package/dist/{348.bundle.fdc18553ec7c1b4f6a80.js → 348.bundle.05d78071808655babffe.js} +4 -4
- package/dist/{359.bundle.f3867a42352f85e846bb.js → 359.bundle.1014c161d9efbdb5de1b.js} +4 -4
- package/dist/{378.bundle.b7a073e9ed3fce6e27a5.js → 378.bundle.721605dbf67db521bacb.js} +8 -6
- package/dist/{410.bundle.8ae97aeddb3375a6d6c6.js → 410.bundle.b4ef419280ca863117d1.js} +4 -4
- package/dist/{869.bundle.6375669c18e0907b248d.js → 451.bundle.9941d9134fcf747d452a.js} +12 -63
- package/dist/{810.bundle.b8f43b6b094a0720e994.js → 471.bundle.c9e618aeda78362776aa.js} +10 -62
- package/dist/{506.bundle.65256204be221475de80.js → 506.bundle.ec535e59761e003bcd10.js} +71 -4
- package/dist/{663.bundle.5188b8ef1cd9a46373d9.js → 663.bundle.292fa73fd3daa7dbdaff.js} +31 -13
- package/dist/{678.bundle.5289463d7f419d56f8f1.js → 678.bundle.57db43d05d8bff8d65a5.js} +67 -25
- package/dist/{782.bundle.0b55dd2b0e7c80102eec.js → 782.bundle.8ed88caff947a2936dbe.js} +4 -4
- package/dist/{821.bundle.fcfa6ec47f096018c0e9.js → 789.bundle.cda7cca15a207b233d59.js} +363 -39
- package/dist/{814.bundle.9f6f3b71096482162688.js → 814.bundle.eae70c4682541d01a5cc.js} +2 -2
- package/dist/{822.bundle.34b66f1c1b27e7884df7.js → 822.bundle.0dabe6c2e028da05ac10.js} +2 -2
- package/dist/{886.bundle.1c9ef0b3494270b34bda.js → 886.bundle.68ef58774a6837f57631.js} +2 -2
- package/dist/{app.bundle.9c84ff949c1d4b8f555f.js → app.bundle.53b5b6c7ab421d7222bf.js} +892 -112
- package/dist/app.bundle.css +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
|
@@ -21,8 +21,8 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-dicom-video"}
|
|
|
21
21
|
const id = package_namespaceObject.u2;
|
|
22
22
|
const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-video`;
|
|
23
23
|
|
|
24
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
25
|
-
var src = __webpack_require__(
|
|
24
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
25
|
+
var src = __webpack_require__(24966);
|
|
26
26
|
;// CONCATENATED MODULE: ../../../extensions/dicom-video/src/getSopClassHandlerModule.js
|
|
27
27
|
|
|
28
28
|
|
|
@@ -12,10 +12,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ basic_test_mode_src)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
16
|
-
var src = __webpack_require__(
|
|
17
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
18
|
-
var ui_src = __webpack_require__(
|
|
15
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
16
|
+
var src = __webpack_require__(24966);
|
|
17
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
18
|
+
var ui_src = __webpack_require__(60082);
|
|
19
19
|
;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/toolbarButtons.js
|
|
20
20
|
// TODO: torn, can either bake this here; or have to create a whole new button type
|
|
21
21
|
// Only ways that you can pass in a custom React component for render :l
|
|
@@ -9,7 +9,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9
9
|
|
|
10
10
|
// EXPORTS
|
|
11
11
|
__webpack_require__.d(__webpack_exports__, {
|
|
12
|
-
"default": () => (/* binding */ cornerstone_dicom_seg_src)
|
|
12
|
+
"default": () => (/* binding */ cornerstone_dicom_seg_src),
|
|
13
|
+
hydrateSEGDisplaySet: () => (/* reexport */ _hydrateSEG/* default */.Z)
|
|
13
14
|
});
|
|
14
15
|
|
|
15
16
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/package.json
|
|
@@ -22,8 +23,8 @@ const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
|
|
|
22
23
|
|
|
23
24
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
24
25
|
var react = __webpack_require__(43001);
|
|
25
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
26
|
-
var src = __webpack_require__(
|
|
26
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
27
|
+
var src = __webpack_require__(24966);
|
|
27
28
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 337 modules
|
|
28
29
|
var esm = __webpack_require__(45754);
|
|
29
30
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/adapters.es.js
|
|
@@ -229,8 +230,8 @@ function getSopClassHandlerModule(_ref3) {
|
|
|
229
230
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
230
231
|
var prop_types = __webpack_require__(3827);
|
|
231
232
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
232
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
233
|
-
var ui_src = __webpack_require__(
|
|
233
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
234
|
+
var ui_src = __webpack_require__(60082);
|
|
234
235
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx
|
|
235
236
|
|
|
236
237
|
|
|
@@ -571,6 +572,8 @@ function getHangingProtocolModule() {
|
|
|
571
572
|
}
|
|
572
573
|
/* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
|
|
573
574
|
|
|
575
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/_hydrateSEG.ts
|
|
576
|
+
var _hydrateSEG = __webpack_require__(28417);
|
|
574
577
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/index.tsx
|
|
575
578
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
576
579
|
|
|
@@ -578,8 +581,9 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
578
581
|
|
|
579
582
|
|
|
580
583
|
|
|
584
|
+
|
|
581
585
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
582
|
-
return __webpack_require__.e(/* import() */
|
|
586
|
+
return __webpack_require__.e(/* import() */ 451).then(__webpack_require__.bind(__webpack_require__, 4451));
|
|
583
587
|
});
|
|
584
588
|
const OHIFCornerstoneSEGViewport = props => {
|
|
585
589
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -651,6 +655,69 @@ const extension = {
|
|
|
651
655
|
};
|
|
652
656
|
/* harmony default export */ const cornerstone_dicom_seg_src = (extension);
|
|
653
657
|
|
|
658
|
+
|
|
659
|
+
/***/ }),
|
|
660
|
+
|
|
661
|
+
/***/ 28417:
|
|
662
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
663
|
+
|
|
664
|
+
"use strict";
|
|
665
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
666
|
+
/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
667
|
+
/* harmony export */ });
|
|
668
|
+
async function _hydrateSEGDisplaySet(_ref) {
|
|
669
|
+
let {
|
|
670
|
+
segDisplaySet,
|
|
671
|
+
viewportIndex,
|
|
672
|
+
servicesManager
|
|
673
|
+
} = _ref;
|
|
674
|
+
const {
|
|
675
|
+
segmentationService,
|
|
676
|
+
hangingProtocolService,
|
|
677
|
+
viewportGridService
|
|
678
|
+
} = servicesManager.services;
|
|
679
|
+
const displaySetInstanceUID = segDisplaySet.referencedDisplaySetInstanceUID;
|
|
680
|
+
let segmentationId = null;
|
|
681
|
+
|
|
682
|
+
// We need the hydration to notify panels about the new segmentation added
|
|
683
|
+
const suppressEvents = false;
|
|
684
|
+
segmentationId = await segmentationService.createSegmentationForSEGDisplaySet(segDisplaySet, segmentationId, suppressEvents);
|
|
685
|
+
segmentationService.hydrateSegmentation(segDisplaySet.displaySetInstanceUID);
|
|
686
|
+
const {
|
|
687
|
+
viewports
|
|
688
|
+
} = viewportGridService.getState();
|
|
689
|
+
const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportIndex, displaySetInstanceUID);
|
|
690
|
+
|
|
691
|
+
// Todo: fix this after we have a better way for stack viewport segmentations
|
|
692
|
+
|
|
693
|
+
// check every viewport in the viewports to see if the displaySetInstanceUID
|
|
694
|
+
// is being displayed, if so we need to update the viewport to use volume viewport
|
|
695
|
+
// (if already is not using it) since Cornerstone3D currently only supports
|
|
696
|
+
// volume viewport for segmentation
|
|
697
|
+
viewports.forEach((viewport, index) => {
|
|
698
|
+
if (index === viewportIndex) {
|
|
699
|
+
return;
|
|
700
|
+
}
|
|
701
|
+
const shouldDisplaySeg = segmentationService.shouldRenderSegmentation(viewport.displaySetInstanceUIDs, segDisplaySet.displaySetInstanceUID);
|
|
702
|
+
if (shouldDisplaySeg) {
|
|
703
|
+
updatedViewports.push({
|
|
704
|
+
viewportIndex: index,
|
|
705
|
+
displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
|
|
706
|
+
viewportOptions: {
|
|
707
|
+
initialImageOptions: {
|
|
708
|
+
preset: 'middle'
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
});
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
// Do the entire update at once
|
|
716
|
+
viewportGridService.setDisplaySetsForViewports(updatedViewports);
|
|
717
|
+
return true;
|
|
718
|
+
}
|
|
719
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_hydrateSEGDisplaySet);
|
|
720
|
+
|
|
654
721
|
/***/ }),
|
|
655
722
|
|
|
656
723
|
/***/ 78753:
|
|
@@ -23,10 +23,10 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
|
23
23
|
var esm = __webpack_require__(26925);
|
|
24
24
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 337 modules
|
|
25
25
|
var dist_esm = __webpack_require__(45754);
|
|
26
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
27
|
-
var src = __webpack_require__(
|
|
28
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
29
|
-
var ui_src = __webpack_require__(
|
|
26
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
27
|
+
var src = __webpack_require__(24966);
|
|
28
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
29
|
+
var ui_src = __webpack_require__(60082);
|
|
30
30
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
|
|
31
31
|
var state = __webpack_require__(73704);
|
|
32
32
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css
|
|
@@ -1352,7 +1352,9 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
|
|
|
1352
1352
|
measurement,
|
|
1353
1353
|
isConsumed
|
|
1354
1354
|
} = props;
|
|
1355
|
-
if (!measurement || isConsumed)
|
|
1355
|
+
if (!measurement || isConsumed) {
|
|
1356
|
+
return;
|
|
1357
|
+
}
|
|
1356
1358
|
if (cacheJumpToMeasurementEvent.cornerstoneViewport === undefined) {
|
|
1357
1359
|
// Decide on which viewport should handle this
|
|
1358
1360
|
cacheJumpToMeasurementEvent.cornerstoneViewport = cornerstoneViewportService.getViewportIndexToJump(jumpIndex, measurement.displaySetInstanceUID, {
|
|
@@ -1369,13 +1371,17 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
|
|
|
1369
1371
|
|
|
1370
1372
|
// Check if there is a queued jumpToMeasurement event
|
|
1371
1373
|
function _checkForCachedJumpToMeasurementEvents(measurementService, displaySetService, elementRef, viewportIndex, displaySets, viewportGridService, cornerstoneViewportService) {
|
|
1372
|
-
if (!cacheJumpToMeasurementEvent)
|
|
1374
|
+
if (!cacheJumpToMeasurementEvent) {
|
|
1375
|
+
return;
|
|
1376
|
+
}
|
|
1373
1377
|
if (cacheJumpToMeasurementEvent.isConsumed) {
|
|
1374
1378
|
cacheJumpToMeasurementEvent = null;
|
|
1375
1379
|
return;
|
|
1376
1380
|
}
|
|
1377
1381
|
const displaysUIDs = displaySets.map(displaySet => displaySet.displaySetInstanceUID);
|
|
1378
|
-
if (!displaysUIDs?.length)
|
|
1382
|
+
if (!displaysUIDs?.length) {
|
|
1383
|
+
return;
|
|
1384
|
+
}
|
|
1379
1385
|
|
|
1380
1386
|
// Jump to measurement if the measurement exists
|
|
1381
1387
|
const {
|
|
@@ -20,10 +20,10 @@ const id = package_namespaceObject.u2;
|
|
|
20
20
|
|
|
21
21
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
22
22
|
var react = __webpack_require__(43001);
|
|
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__(
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
24
|
+
var src = __webpack_require__(60082);
|
|
25
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
26
|
+
var core_src = __webpack_require__(24966);
|
|
27
27
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
28
28
|
var es = __webpack_require__(69190);
|
|
29
29
|
// EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 982 modules
|
|
@@ -61,7 +61,9 @@ function coordinateFormatScoord3d2Geometry(coordinates, pyramid) {
|
|
|
61
61
|
return coordinates;
|
|
62
62
|
}
|
|
63
63
|
function _getPixelSpacing(metadata) {
|
|
64
|
-
if (metadata.PixelSpacing)
|
|
64
|
+
if (metadata.PixelSpacing) {
|
|
65
|
+
return metadata.PixelSpacing;
|
|
66
|
+
}
|
|
65
67
|
const functionalGroup = metadata.SharedFunctionalGroupsSequence[0];
|
|
66
68
|
const pixelMeasures = functionalGroup.PixelMeasuresSequence[0];
|
|
67
69
|
return pixelMeasures.PixelSpacing;
|
|
@@ -811,7 +813,7 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
811
813
|
clear() {
|
|
812
814
|
this.managedViewers.forEach(managedViewer => managedViewer.destroy());
|
|
813
815
|
this.managedViewers.clear();
|
|
814
|
-
for (
|
|
816
|
+
for (const key in this.annotations) {
|
|
815
817
|
delete this.annotations[key];
|
|
816
818
|
}
|
|
817
819
|
this.roiUids.clear();
|
|
@@ -879,7 +881,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
879
881
|
managedViewer
|
|
880
882
|
} = data;
|
|
881
883
|
const roiAnnotation = this.getAnnotation(roiGraphic.uid);
|
|
882
|
-
if (!roiAnnotation)
|
|
884
|
+
if (!roiAnnotation) {
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
883
887
|
roiAnnotation.setRoiGraphic(roiGraphic);
|
|
884
888
|
roiAnnotation.setViewState(managedViewer.getViewState());
|
|
885
889
|
}
|
|
@@ -933,7 +937,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
933
937
|
} = data;
|
|
934
938
|
const selectedAnnotation = this.getAnnotation(roiGraphic.uid);
|
|
935
939
|
if (selectedAnnotation && selectedAnnotation !== this.getSelectedAnnotation()) {
|
|
936
|
-
if (this.selectedAnnotation)
|
|
940
|
+
if (this.selectedAnnotation) {
|
|
941
|
+
this.clearSelection();
|
|
942
|
+
}
|
|
937
943
|
this.selectedAnnotation = selectedAnnotation;
|
|
938
944
|
this._broadcastEvent(MicroscopyService_EVENTS.ANNOTATION_SELECTED, selectedAnnotation);
|
|
939
945
|
}
|
|
@@ -1188,7 +1194,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
|
|
|
1188
1194
|
* @param {RoiAnnotation} roiAnnotation The instance to be selected
|
|
1189
1195
|
*/
|
|
1190
1196
|
selectAnnotation(roiAnnotation) {
|
|
1191
|
-
if (this.selectedAnnotation)
|
|
1197
|
+
if (this.selectedAnnotation) {
|
|
1198
|
+
this.clearSelection();
|
|
1199
|
+
}
|
|
1192
1200
|
this.selectedAnnotation = roiAnnotation;
|
|
1193
1201
|
this._broadcastEvent(MicroscopyService_EVENTS.ANNOTATION_SELECTED, roiAnnotation);
|
|
1194
1202
|
this.setROIStyle(roiAnnotation.uid, utils_styles.active);
|
|
@@ -1544,7 +1552,9 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1544
1552
|
console.debug('[SR] storing measurements...', measurements);
|
|
1545
1553
|
console.debug('[SR] storing evaluations...', evaluations);
|
|
1546
1554
|
console.debug('[SR] storing presentation state...', presentationState);
|
|
1547
|
-
if (presentationState)
|
|
1555
|
+
if (presentationState) {
|
|
1556
|
+
presentationState.marker = marker;
|
|
1557
|
+
}
|
|
1548
1558
|
|
|
1549
1559
|
/** Avoid incompatibility with dcmjs */
|
|
1550
1560
|
measurements = measurements.map(measurement => {
|
|
@@ -1654,10 +1664,10 @@ function constructSR(metadata, _ref, annotations) {
|
|
|
1654
1664
|
* @param filename
|
|
1655
1665
|
*/
|
|
1656
1666
|
function saveByteArray(buffer, filename) {
|
|
1657
|
-
|
|
1667
|
+
const blob = new Blob([buffer], {
|
|
1658
1668
|
type: 'application/dicom'
|
|
1659
1669
|
});
|
|
1660
|
-
|
|
1670
|
+
const link = document.createElement('a');
|
|
1661
1671
|
link.href = window.URL.createObjectURL(blob);
|
|
1662
1672
|
link.download = filename;
|
|
1663
1673
|
link.click();
|
|
@@ -2057,7 +2067,9 @@ function getCommandsModule(_ref) {
|
|
|
2057
2067
|
} = _ref2;
|
|
2058
2068
|
if (uid) {
|
|
2059
2069
|
const roiAnnotation = microscopyService.getAnnotation(uid);
|
|
2060
|
-
if (roiAnnotation)
|
|
2070
|
+
if (roiAnnotation) {
|
|
2071
|
+
microscopyService.removeAnnotation(roiAnnotation);
|
|
2072
|
+
}
|
|
2061
2073
|
}
|
|
2062
2074
|
},
|
|
2063
2075
|
setLabel: _ref3 => {
|
|
@@ -2096,7 +2108,7 @@ function getCommandsModule(_ref) {
|
|
|
2096
2108
|
}];
|
|
2097
2109
|
if (['line', 'box', 'circle', 'point', 'polygon', 'freehandpolygon', 'freehandline'].indexOf(toolName) >= 0) {
|
|
2098
2110
|
// TODO: read from configuration
|
|
2099
|
-
|
|
2111
|
+
const options = {
|
|
2100
2112
|
geometryType: toolName,
|
|
2101
2113
|
vertexEnabled: true,
|
|
2102
2114
|
styleOptions: utils_styles["default"],
|
|
@@ -2147,7 +2159,9 @@ function getCommandsModule(_ref) {
|
|
|
2147
2159
|
const overlays = document.getElementsByClassName('microscopy-viewport-overlay');
|
|
2148
2160
|
let onoff = false; // true if this will toggle on
|
|
2149
2161
|
for (let i = 0; i < overlays.length; i++) {
|
|
2150
|
-
if (i === 0)
|
|
2162
|
+
if (i === 0) {
|
|
2163
|
+
onoff = overlays.item(0).classList.contains('hidden');
|
|
2164
|
+
}
|
|
2151
2165
|
overlays.item(i).classList.toggle('hidden');
|
|
2152
2166
|
}
|
|
2153
2167
|
|
|
@@ -2613,7 +2627,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2613
2627
|
|
|
2614
2628
|
|
|
2615
2629
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
2616
|
-
return Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(23), __webpack_require__.e(
|
|
2630
|
+
return Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(23), __webpack_require__.e(789), __webpack_require__.e(250)]).then(__webpack_require__.bind(__webpack_require__, 76516));
|
|
2617
2631
|
});
|
|
2618
2632
|
const MicroscopyViewport = props => {
|
|
2619
2633
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -22,8 +22,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
|
22
22
|
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
23
23
|
var lodash_debounce = __webpack_require__(8324);
|
|
24
24
|
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
25
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
26
|
-
var src = __webpack_require__(
|
|
25
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
26
|
+
var src = __webpack_require__(60082);
|
|
27
27
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
|
|
28
28
|
// extracted by mini-css-extract-plugin
|
|
29
29
|
|
|
@@ -36,11 +36,17 @@ const listComponentGenerator = props => {
|
|
|
36
36
|
list,
|
|
37
37
|
itemGenerator
|
|
38
38
|
} = props;
|
|
39
|
-
if (!list)
|
|
39
|
+
if (!list) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
40
42
|
return list.map(item => {
|
|
41
|
-
if (!item)
|
|
43
|
+
if (!item) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
42
46
|
const generator = item.generator || itemGenerator;
|
|
43
|
-
if (!generator)
|
|
47
|
+
if (!generator) {
|
|
48
|
+
throw new Error(`No generator for ${item}`);
|
|
49
|
+
}
|
|
44
50
|
return generator({
|
|
45
51
|
...props,
|
|
46
52
|
item
|
|
@@ -230,8 +236,12 @@ const itemGenerator = props => {
|
|
|
230
236
|
props.formatTime = formatDICOMTime;
|
|
231
237
|
props.formatPN = formatPN;
|
|
232
238
|
props.formatNumberPrecision = formatNumberPrecision;
|
|
233
|
-
if (condition && !condition(props))
|
|
234
|
-
|
|
239
|
+
if (condition && !condition(props)) {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
if (!contents && !valueFunc) {
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
235
245
|
const value = valueFunc && valueFunc(props);
|
|
236
246
|
const contentsValue = contents && contents(props) || [{
|
|
237
247
|
className: 'mr-1',
|
|
@@ -251,8 +261,8 @@ const itemGenerator = props => {
|
|
|
251
261
|
/* harmony default export */ const ViewportOverlay = (generateFromConfig({}));
|
|
252
262
|
// EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
|
|
253
263
|
var dicomweb_client_es = __webpack_require__(97604);
|
|
254
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
255
|
-
var core_src = __webpack_require__(
|
|
264
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
265
|
+
var core_src = __webpack_require__(24966);
|
|
256
266
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/dicomWebClient.ts
|
|
257
267
|
|
|
258
268
|
|
|
@@ -333,8 +343,8 @@ function getDicomWebClient(_ref) {
|
|
|
333
343
|
}
|
|
334
344
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
335
345
|
var dcmjs_es = __webpack_require__(67540);
|
|
336
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
337
|
-
var default_src = __webpack_require__(
|
|
346
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 67 modules
|
|
347
|
+
var default_src = __webpack_require__(1789);
|
|
338
348
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/cleanDenaturalizedDataset.ts
|
|
339
349
|
|
|
340
350
|
function isPrimitive(v) {
|
|
@@ -430,7 +440,9 @@ class DicomMicroscopyViewport extends react.Component {
|
|
|
430
440
|
} = this.props.servicesManager.services;
|
|
431
441
|
this.microscopyService = microscopyService;
|
|
432
442
|
this.debouncedResize = lodash_debounce_default()(() => {
|
|
433
|
-
if (this.viewer)
|
|
443
|
+
if (this.viewer) {
|
|
444
|
+
this.viewer.resize();
|
|
445
|
+
}
|
|
434
446
|
}, 100);
|
|
435
447
|
}
|
|
436
448
|
/**
|
|
@@ -13,8 +13,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
13
13
|
"default": () => (/* binding */ microscopy_src)
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
17
|
-
var src = __webpack_require__(
|
|
16
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
17
|
+
var src = __webpack_require__(24966);
|
|
18
18
|
;// CONCATENATED MODULE: ../../../modes/microscopy/package.json
|
|
19
19
|
const package_namespaceObject = JSON.parse('{"u2":"@ohif/mode-microscopy"}');
|
|
20
20
|
;// CONCATENATED MODULE: ../../../modes/microscopy/src/id.js
|
|
@@ -20,8 +20,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
|
20
20
|
var es = __webpack_require__(261);
|
|
21
21
|
// EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 9 modules
|
|
22
22
|
var react_es = __webpack_require__(59677);
|
|
23
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
24
|
-
var src = __webpack_require__(
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
24
|
+
var src = __webpack_require__(60082);
|
|
25
25
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
|
|
26
26
|
|
|
27
27
|
const RESPONSE = {
|
|
@@ -621,8 +621,8 @@ function promptTrackNewStudy_askSaveDiscardOrCancel(UIViewportDialogService, vie
|
|
|
621
621
|
});
|
|
622
622
|
}
|
|
623
623
|
/* harmony default export */ const TrackedMeasurementsContext_promptTrackNewStudy = (promptTrackNewStudy);
|
|
624
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
625
|
-
var core_src = __webpack_require__(
|
|
624
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
625
|
+
var core_src = __webpack_require__(24966);
|
|
626
626
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/createReportAsync.tsx
|
|
627
627
|
|
|
628
628
|
|
|
@@ -1244,10 +1244,10 @@ var prop_types = __webpack_require__(3827);
|
|
|
1244
1244
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
1245
1245
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
1246
1246
|
var es = __webpack_require__(69190);
|
|
1247
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
1248
|
-
var src = __webpack_require__(
|
|
1249
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
1250
|
-
var ui_src = __webpack_require__(
|
|
1247
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
1248
|
+
var src = __webpack_require__(24966);
|
|
1249
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
1250
|
+
var ui_src = __webpack_require__(60082);
|
|
1251
1251
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
|
|
1252
1252
|
|
|
1253
1253
|
|
|
@@ -1570,6 +1570,7 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1570
1570
|
seriesDate: formatDate(ds.SeriesDate),
|
|
1571
1571
|
numInstances: ds.numImageFrames,
|
|
1572
1572
|
countIcon: ds.countIcon,
|
|
1573
|
+
messages: ds.messages,
|
|
1573
1574
|
StudyInstanceUID: ds.StudyInstanceUID,
|
|
1574
1575
|
componentType,
|
|
1575
1576
|
imageSrc,
|
|
@@ -2211,7 +2212,9 @@ function _mapMeasurementToDisplay(measurement, types, displaySetService) {
|
|
|
2211
2212
|
if (findingSites) {
|
|
2212
2213
|
const siteText = [];
|
|
2213
2214
|
findingSites.forEach(site => {
|
|
2214
|
-
if (site?.text !== label)
|
|
2215
|
+
if (site?.text !== label) {
|
|
2216
|
+
siteText.push(site.text);
|
|
2217
|
+
}
|
|
2215
2218
|
});
|
|
2216
2219
|
displayText = [...siteText, ...displayText];
|
|
2217
2220
|
}
|
|
@@ -14,10 +14,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
14
14
|
toolbarButtons: () => (/* reexport */ src_toolbarButtons)
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
18
|
-
var src = __webpack_require__(
|
|
19
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
20
|
-
var ui_src = __webpack_require__(
|
|
17
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
18
|
+
var src = __webpack_require__(24966);
|
|
19
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
20
|
+
var ui_src = __webpack_require__(60082);
|
|
21
21
|
;// CONCATENATED MODULE: ../../../modes/longitudinal/src/toolbarButtons.js
|
|
22
22
|
// TODO: torn, can either bake this here; or have to create a whole new button type
|
|
23
23
|
// Only ways that you can pass in a custom React component for render :l
|
|
@@ -12,10 +12,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ tmtv_src)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
16
|
-
var src = __webpack_require__(
|
|
17
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
18
|
-
var ui_src = __webpack_require__(
|
|
15
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
16
|
+
var src = __webpack_require__(24966);
|
|
17
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
18
|
+
var ui_src = __webpack_require__(60082);
|
|
19
19
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/initToolGroups.js
|
|
20
20
|
const toolGroupIds = {
|
|
21
21
|
CT: 'ctToolGroup',
|
|
@@ -103,7 +103,9 @@ const codeMenuItem = {
|
|
|
103
103
|
const {
|
|
104
104
|
code: codeRef
|
|
105
105
|
} = this;
|
|
106
|
-
if (!codeRef)
|
|
106
|
+
if (!codeRef) {
|
|
107
|
+
throw new Error(`item ${this} has no code ref`);
|
|
108
|
+
}
|
|
107
109
|
const codingValues = customizationService.get('codingValues');
|
|
108
110
|
const code = codingValues[codeRef];
|
|
109
111
|
return {
|
|
@@ -239,7 +241,7 @@ function getCustomizationModule() {
|
|
|
239
241
|
* From 'this', it uses:
|
|
240
242
|
* `sameAttribute` as the attribute name to look for
|
|
241
243
|
* `sameDisplaySetId` as the display set id to look for
|
|
242
|
-
* From `options`, it looks for
|
|
244
|
+
* From `options`, it looks for
|
|
243
245
|
*/
|
|
244
246
|
/* harmony default export */ function sameAs(displaySet, options) {
|
|
245
247
|
const {
|
|
@@ -247,11 +249,11 @@ function getCustomizationModule() {
|
|
|
247
249
|
sameDisplaySetId
|
|
248
250
|
} = this;
|
|
249
251
|
if (!sameAttribute) {
|
|
250
|
-
console.log(
|
|
252
|
+
console.log('sameAttribute not defined in', this);
|
|
251
253
|
return `sameAttribute not defined in ${this.id}`;
|
|
252
254
|
}
|
|
253
255
|
if (!sameDisplaySetId) {
|
|
254
|
-
console.log(
|
|
256
|
+
console.log('sameDisplaySetId not defined in', this);
|
|
255
257
|
return `sameDisplaySetId not defined in ${this.id}`;
|
|
256
258
|
}
|
|
257
259
|
const {
|
|
@@ -260,7 +262,7 @@ function getCustomizationModule() {
|
|
|
260
262
|
} = options;
|
|
261
263
|
const match = displaySetMatchDetails.get(sameDisplaySetId);
|
|
262
264
|
if (!match) {
|
|
263
|
-
console.log(
|
|
265
|
+
console.log('No match for display set', sameDisplaySetId);
|
|
264
266
|
return false;
|
|
265
267
|
}
|
|
266
268
|
const {
|
|
@@ -268,7 +270,7 @@ function getCustomizationModule() {
|
|
|
268
270
|
} = match;
|
|
269
271
|
const altDisplaySet = displaySets.find(it => it.displaySetInstanceUID == displaySetInstanceUID);
|
|
270
272
|
if (!altDisplaySet) {
|
|
271
|
-
console.log(
|
|
273
|
+
console.log('No display set found with', displaySetInstanceUID, 'in', displaySets);
|
|
272
274
|
return false;
|
|
273
275
|
}
|
|
274
276
|
const testValue = altDisplaySet[sameAttribute];
|
|
@@ -12,10 +12,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ basic_dev_mode_src)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
16
|
-
var src = __webpack_require__(
|
|
17
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
18
|
-
var core_src = __webpack_require__(
|
|
15
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
16
|
+
var src = __webpack_require__(60082);
|
|
17
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
18
|
+
var core_src = __webpack_require__(24966);
|
|
19
19
|
;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/toolbarButtons.js
|
|
20
20
|
// TODO: torn, can either bake this here; or have to create a whole new button type
|
|
21
21
|
// Only ways that you can pass in a custom React component for render :l
|