@ohif/app 3.9.0-beta.4 → 3.9.0-beta.41
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/{117.bundle.a80b1511ef4b302fb7cc.js → 117.bundle.1f7b56504d506e7259e3.js} +66 -69
- package/dist/{889.bundle.6df37a2db81b97f4a76a.js → 121.bundle.e65afd9bfd1a425d0050.js} +40 -12
- package/dist/{998.bundle.f2ba5b6c1aa0caa6d672.js → 129.bundle.0be30c39fe5d8557b083.js} +40 -25
- package/dist/{574.bundle.72bd5061ccd504235419.js → 139.bundle.09e5af0a9ae8a285af77.js} +25 -37
- package/dist/{989.bundle.bf32dc457ea9abccca09.js → 14.bundle.cfafff5ce33c8fe9e536.js} +5 -5
- package/dist/{783.bundle.1f650e1ef1b10d19870f.js → 140.bundle.ebaef33bd84b37213744.js} +2 -2
- package/dist/{164.bundle.1da1cadb56951caef1d6.js → 164.bundle.2b23bfbcb23497d7c87a.js} +548 -301
- package/dist/{544.bundle.e8227e98860e39636a00.js → 172.bundle.e0ee762bee7496d6491e.js} +16 -30
- package/dist/{487.bundle.a517b1d6cd2d82b9a7ea.js → 194.bundle.9044099acbadc4c02d04.js} +5 -5
- package/dist/{699.bundle.f62694527f6dfe417f81.js → 211.bundle.318a1dde2daf28c0ca7e.js} +43 -5
- package/dist/{776.bundle.91747df457143051f872.js → 218.bundle.e00a7676e115e4bd4f0f.js} +10 -12
- package/dist/{236.bundle.4ca7987e1d57f60ec13a.js → 236.bundle.34db90a140e37d34fd71.js} +544 -221
- package/dist/{530.bundle.17b9a34fefff133e5379.js → 265.bundle.b32a0cc143efa80ee3cc.js} +8 -12
- package/dist/{862.bundle.55dde21bab4c841b6259.js → 323.bundle.955cc8f5eb5c01295118.js} +5 -9
- package/dist/{342.bundle.340982440de15f540a89.js → 342.bundle.fcb2038060a062129d34.js} +7 -0
- package/dist/{550.bundle.4f728d9ab7a8c7685abd.js → 363.bundle.e7332abbff673d8a79e4.js} +234 -150
- package/dist/{806.bundle.50e039eb624382ee1fce.js → 370.bundle.bd9884c274c26a54dfae.js} +101 -18
- package/dist/{682.bundle.0909fbf9a76430e4bbc9.js → 382.bundle.3060bce26740a347900b.js} +38 -5
- package/dist/{907.bundle.d2c612ec56380e73df89.js → 444.bundle.1a872eddff40579d7c84.js} +4 -4
- package/dist/{483.bundle.a353efc5a5dd563c903c.js → 483.bundle.0f1848f6a2cf34829fef.js} +16 -3
- package/dist/{35.bundle.0168d78bfad0cb784112.js → 501.bundle.2f703ca4598a3be0d748.js} +950 -348
- package/dist/{905.bundle.c1c60224a599e789feb4.js → 552.bundle.61343aead612379fb815.js} +3 -3
- package/dist/{981.bundle.cccdc8caaa5a11f4a998.js → 555.bundle.e849661a6879ce530191.js} +14 -13
- package/dist/{939.bundle.9d93b2e47c52338747a2.js → 612.bundle.297a033523539e0b47f9.js} +2 -2
- package/dist/{295.bundle.9926ff25c6dbf53845b1.js → 675.bundle.c9720f40fd7c7e9b7e54.js} +5 -9
- package/dist/{325.bundle.1c54c1689fb4b1955e8c.js → 717.bundle.444382300af90e310557.js} +58 -26
- package/dist/{722.bundle.2547630541b670f10d6e.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
- package/dist/{121.bundle.b582314ec0024fdf2d15.js → 792.bundle.485ad2f98823a4b3feb1.js} +6 -10
- package/dist/{721.bundle.0de8f780088aee87dbd9.js → 799.bundle.1dde0deef2be81924d9d.js} +12 -12
- package/dist/{448.bundle.077b4b50ee63487516eb.js → 806.bundle.05f48607cfe443d63fc6.js} +19 -6
- package/dist/{297.bundle.194d8985ab974839b5b6.js → 837.bundle.ff9fe44bf863a5bceabc.js} +2 -2
- package/dist/{961.bundle.6aea7b3de9e93a9ebab1.js → 853.bundle.72427df14c9e5f55b0d6.js} +4 -4
- package/dist/{473.bundle.6cd4be953853f35b29c3.js → 914.bundle.e15be8089bf422ed7b51.js} +512 -274
- package/dist/{94.bundle.08683468d52365475d9a.js → 920.bundle.2ce2755d7ba79de478a2.js} +39 -9
- package/dist/{390.bundle.5a21388b461ee51db594.js → 944.bundle.260e4bf5a03ad05d11b7.js} +655 -95
- package/dist/{243.bundle.391c2805222b849abc2c.js → 989.bundle.50e94f736258c5d8f5b6.js} +4 -4
- package/dist/app-config.js +5 -1
- package/dist/{app.bundle.9e22e72ec23a08cde379.js → app.bundle.6834e46debda9e53f119.js} +167495 -48675
- package/dist/app.bundle.css +5 -4
- package/dist/assets/images/action-new-dialog.svg +14 -0
- package/dist/assets/images/arrow-down.svg +5 -0
- package/dist/assets/images/arrow-left-small.svg +6 -0
- package/dist/assets/images/arrow-left.svg +6 -0
- package/dist/assets/images/arrow-right-small.svg +6 -0
- package/dist/assets/images/arrow-right.svg +6 -0
- package/dist/assets/images/calendar.svg +5 -0
- package/dist/assets/images/cancel.svg +8 -0
- package/dist/assets/images/checkbox-active.svg +9 -0
- package/dist/assets/images/checkbox-checked.svg +9 -0
- package/dist/assets/images/checkbox-default.svg +3 -0
- package/dist/assets/images/checkbox-unchecked.svg +3 -0
- package/dist/assets/images/chevron-down.svg +3 -0
- package/dist/assets/images/chevron-left.svg +3 -0
- package/dist/assets/images/chevron-menu.svg +12 -0
- package/dist/assets/images/chevron-next.svg +6 -0
- package/dist/assets/images/chevron-prev.svg +6 -0
- package/dist/assets/images/chevron-right.svg +3 -0
- package/dist/assets/images/circled-checkmark.svg +6 -0
- package/dist/assets/images/clipboard.svg +1 -0
- package/dist/assets/images/closeIcon.svg +3 -0
- package/dist/assets/images/content-next.svg +9 -0
- package/dist/assets/images/content-prev.svg +9 -0
- package/dist/assets/images/dotted-circle.svg +3 -0
- package/dist/assets/images/edit-patient.svg +15 -0
- package/dist/assets/images/exclamation.svg +9 -0
- package/dist/assets/images/external-link.svg +5 -0
- package/dist/assets/images/eye-hidden.svg +8 -0
- package/dist/assets/images/eye-visible.svg +6 -0
- package/dist/assets/images/focus-frame-target.svg +13 -0
- package/dist/assets/images/group-layers.svg +6 -0
- package/dist/assets/images/icon-add.svg +15 -0
- package/dist/assets/images/icon-alert-small.svg +8 -0
- package/dist/assets/images/icon-chevron-patient.svg +12 -0
- package/dist/assets/images/icon-clear-field.svg +8 -0
- package/dist/assets/images/icon-close.svg +8 -0
- package/dist/assets/images/icon-color-lut.svg +23 -0
- package/dist/assets/images/icon-delete.svg +17 -0
- package/dist/assets/images/icon-disclosure-close.svg +12 -0
- package/dist/assets/images/icon-disclosure-open.svg +12 -0
- package/dist/assets/images/icon-display-settings.svg +21 -0
- package/dist/assets/images/icon-more-menu.svg +17 -0
- package/dist/assets/images/icon-mpr-alt.svg +9 -0
- package/dist/assets/images/icon-multiple-patients.svg +21 -0
- package/dist/assets/images/icon-next-inactive.svg +6 -0
- package/dist/assets/images/icon-next.svg +6 -0
- package/dist/assets/images/icon-patient.svg +13 -0
- package/dist/assets/images/icon-pause.svg +6 -0
- package/dist/assets/images/icon-play.svg +6 -0
- package/dist/assets/images/icon-prev-inactive.svg +6 -0
- package/dist/assets/images/icon-prev.svg +6 -0
- package/dist/assets/images/icon-rename.svg +15 -0
- package/dist/assets/images/icon-search.svg +9 -0
- package/dist/assets/images/icon-settings.svg +13 -0
- package/dist/assets/images/icon-status-alert.svg +8 -0
- package/dist/assets/images/icon-tool-scissor.svg +17 -0
- package/dist/assets/images/icon-toolbar-back.svg +12 -0
- package/dist/assets/images/icon-transferring.svg +6 -0
- package/dist/assets/images/icon-upload.svg +6 -0
- package/dist/assets/images/icons-alert-outline.svg +8 -0
- package/dist/assets/images/illustration-investigational-use.svg +20 -0
- package/dist/assets/images/info-action.svg +10 -0
- package/dist/assets/images/info-link.svg +7 -0
- package/dist/assets/images/info.svg +3 -0
- package/dist/assets/images/launch-arrow.svg +7 -0
- package/dist/assets/images/launch-info.svg +8 -0
- package/dist/assets/images/layout-advanced-3d-four-up.svg +13 -0
- package/dist/assets/images/layout-advanced-3d-main.svg +12 -0
- package/dist/assets/images/layout-advanced-3d-only.svg +9 -0
- package/dist/assets/images/layout-advanced-3d-primary.svg +12 -0
- package/dist/assets/images/layout-advanced-axial-primary.svg +11 -0
- package/dist/assets/images/layout-advanced-mpr.svg +11 -0
- package/dist/assets/images/layout-common-1x1.svg +9 -0
- package/dist/assets/images/layout-common-1x2.svg +10 -0
- package/dist/assets/images/layout-common-2x2.svg +11 -0
- package/dist/assets/images/layout-common-2x3.svg +12 -0
- package/dist/assets/images/list-bullets.svg +10 -0
- package/dist/assets/images/loading-ohif-mark.svg +5 -0
- package/dist/assets/images/lock.svg +1 -0
- package/dist/assets/images/logo-ohif-small.svg +5 -0
- package/dist/assets/images/magnifier.svg +7 -0
- package/dist/assets/images/navigation-panel-right-hide.svg +5 -0
- package/dist/assets/images/navigation-panel-right-reveal.svg +5 -0
- package/dist/assets/images/next-arrow.svg +12 -0
- package/dist/assets/images/notifications-error.svg +8 -0
- package/dist/assets/images/notifications-info.svg +8 -0
- package/dist/assets/images/notifications-success.svg +6 -0
- package/dist/assets/images/notifications-warning.svg +8 -0
- package/dist/assets/images/notificationwarning-diamond.svg +10 -0
- package/dist/assets/images/ohif-logo-color-darkbg.svg +20 -0
- package/dist/assets/images/ohif-logo.svg +18 -0
- package/dist/assets/images/old-play.svg +9 -0
- package/dist/assets/images/old-stop.svg +9 -0
- package/dist/assets/images/old-trash.svg +9 -0
- package/dist/assets/images/panel-group-more.svg +6 -0
- package/dist/assets/images/panel-group-open-close.svg +6 -0
- package/dist/assets/images/pencil.svg +4 -0
- package/dist/assets/images/power-off.svg +11 -0
- package/dist/assets/images/prev-arrow.svg +12 -0
- package/dist/assets/images/profile.svg +1 -0
- package/dist/assets/images/push-left.svg +5 -0
- package/dist/assets/images/push-right.svg +5 -0
- package/dist/assets/images/row-add.svg +8 -0
- package/dist/assets/images/row-edit.svg +9 -0
- package/dist/assets/images/row-hidden.svg +11 -0
- package/dist/assets/images/row-lock.svg +7 -0
- package/dist/assets/images/row-shown.svg +9 -0
- package/dist/assets/images/row-unlock.svg +7 -0
- package/dist/assets/images/settings.svg +6 -0
- package/dist/assets/images/side-panel-close-left.svg +14 -0
- package/dist/assets/images/side-panel-close-right.svg +14 -0
- package/dist/assets/images/sorting-active-down.svg +6 -0
- package/dist/assets/images/sorting-active-up.svg +6 -0
- package/dist/assets/images/sorting.svg +6 -0
- package/dist/assets/images/status-alert-warning.svg +9 -0
- package/dist/assets/images/status-alert.svg +7 -0
- package/dist/assets/images/status-locked.svg +7 -0
- package/dist/assets/images/status-tracked.svg +7 -0
- package/dist/assets/images/status-untracked.svg +6 -0
- package/dist/assets/images/tab-4d.svg +13 -0
- package/dist/assets/images/tab-linear.svg +8 -0
- package/dist/assets/images/tab-patient-info.svg +7 -0
- package/dist/assets/images/tab-roi-threshold.svg +10 -0
- package/dist/assets/images/tab-segmentation.svg +11 -0
- package/dist/assets/images/tab-studies.svg +13 -0
- package/dist/assets/images/tool-3d-rotate.svg +20 -0
- package/dist/assets/images/tool-angle.svg +12 -0
- package/dist/assets/images/tool-annotate.svg +11 -0
- package/dist/assets/images/tool-bidirectional.svg +21 -0
- package/dist/assets/images/tool-calibrate.svg +19 -0
- package/dist/assets/images/tool-capture.svg +10 -0
- package/dist/assets/images/tool-cine.svg +9 -0
- package/dist/assets/images/tool-circle.svg +8 -0
- package/dist/assets/images/tool-cobb-angle.svg +14 -0
- package/dist/assets/images/tool-create-threshold.svg +9 -0
- package/dist/assets/images/tool-crosshair.svg +14 -0
- package/dist/assets/images/tool-dicom-tag-browser.svg +15 -0
- package/dist/assets/images/tool-flip-horizontal.svg +10 -0
- package/dist/assets/images/tool-freehand-polygon.svg +37 -0
- package/dist/assets/images/tool-freehand-roi.svg +12 -0
- package/dist/assets/images/tool-freehand.svg +34 -0
- package/dist/assets/images/tool-fusion-color.svg +13 -0
- package/dist/assets/images/tool-invert.svg +10 -0
- package/dist/assets/images/tool-layout-default.svg +22 -0
- package/dist/assets/images/tool-length.svg +16 -0
- package/dist/assets/images/tool-magnetic-roi.svg +17 -0
- package/dist/assets/images/tool-magnify.svg +7 -0
- package/dist/assets/images/tool-measure-elipse.svg +12 -0
- package/dist/assets/images/tool-more-menu.svg +6 -0
- package/dist/assets/images/tool-move.svg +13 -0
- package/dist/assets/images/tool-polygon.svg +3 -0
- package/dist/assets/images/tool-quick-magnify.svg +11 -0
- package/dist/assets/images/tool-rectangle.svg +12 -0
- package/dist/assets/images/tool-reference-lines.svg +13 -0
- package/dist/assets/images/tool-reset.svg +9 -0
- package/dist/assets/images/tool-rotate-right.svg +12 -0
- package/dist/assets/images/tool-seg-brush.svg +9 -0
- package/dist/assets/images/tool-seg-eraser.svg +10 -0
- package/dist/assets/images/tool-seg-shape.svg +9 -0
- package/dist/assets/images/tool-seg-threshold.svg +17 -0
- package/dist/assets/images/tool-spline-roi.svg +14 -0
- package/dist/assets/images/tool-stack-image-sync.svg +10 -0
- package/dist/assets/images/tool-stack-scroll.svg +10 -0
- package/dist/assets/images/tool-toggle-dicom-overlay.svg +9 -0
- package/dist/assets/images/tool-ultrasound-bidirectional.svg +15 -0
- package/dist/assets/images/tool-window-level.svg +9 -0
- package/dist/assets/images/tool-window-region.svg +12 -0
- package/dist/assets/images/tool-zoom.svg +9 -0
- package/dist/assets/images/tracked.svg +6 -0
- package/dist/assets/images/ui-arrow-down.svg +3 -0
- package/dist/assets/images/ui-arrow-left.svg +3 -0
- package/dist/assets/images/ui-arrow-right.svg +3 -0
- package/dist/assets/images/ui-arrow-up.svg +3 -0
- package/dist/assets/images/unlink.svg +9 -0
- package/dist/assets/images/viewport-status-tracked.svg +13 -0
- package/dist/assets/images/viewport-window-level.svg +17 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/google.js +1 -0
- package/dist/{histogram-worker.bundle.829e14ec12c2b41a4323.js → histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js} +2 -2
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.1799686b019040500219.js → polySeg.bundle.df492df5042827938ba4.js} +3 -3
- package/dist/{suv-peak-worker.bundle.25f8b85eab9ec06da48d.js → suv-peak-worker.bundle.8f4b505fad3d371489fe.js} +4 -4
- package/dist/sw.js +1 -1
- package/package.json +26 -23
- /package/dist/{998.css → 129.css} +0 -0
- /package/dist/{574.css → 139.css} +0 -0
- /package/dist/{544.css → 172.css} +0 -0
- /package/dist/{550.css → 363.css} +0 -0
- /package/dist/{325.css → 404.css} +0 -0
- /package/dist/{481.css → 717.css} +0 -0
- /package/dist/{726.bundle.c8de818cf1a3ff0cf7d2.js → 726.bundle.90d63d40a19b058034ee.js} +0 -0
- /package/dist/{835.bundle.4c0eaa2c1a427ee41817.js → 835.bundle.5d1951da8bbc6afdf3e0.js} +0 -0
- /package/dist/{931.bundle.d270a1fda9a2836c3cc5.js → 931.bundle.058f8de4606f27b31f4f.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[363],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 40684:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41766);
|
|
13
13
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11374);
|
|
14
14
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
15
|
-
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
16
|
-
/* harmony import */ var _services_ViewportActionCornersService_ViewportActionCornersService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
15
|
+
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79047);
|
|
16
|
+
/* harmony import */ var _services_ViewportActionCornersService_ViewportActionCornersService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2447);
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
@@ -141,7 +141,7 @@ const useViewportActionCornersContext = () => (0,react__WEBPACK_IMPORTED_MODULE_
|
|
|
141
141
|
|
|
142
142
|
/***/ }),
|
|
143
143
|
|
|
144
|
-
/***/
|
|
144
|
+
/***/ 11363:
|
|
145
145
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
146
146
|
|
|
147
147
|
// ESM COMPAT FLAG
|
|
@@ -152,8 +152,12 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
152
152
|
ImageOverlayViewerTool: () => (/* reexport */ tools_ImageOverlayViewerTool),
|
|
153
153
|
Types: () => (/* reexport */ types_namespaceObject),
|
|
154
154
|
"default": () => (/* binding */ cornerstone_src),
|
|
155
|
+
findNearbyToolData: () => (/* reexport */ findNearbyToolData),
|
|
155
156
|
getActiveViewportEnabledElement: () => (/* reexport */ getActiveViewportEnabledElement),
|
|
157
|
+
getEnabledElement: () => (/* reexport */ state/* getEnabledElement */.kJ),
|
|
158
|
+
getSOPInstanceAttributes: () => (/* reexport */ getSOPInstanceAttributes/* default */.A),
|
|
156
159
|
measurementMappingUtils: () => (/* reexport */ utils_namespaceObject),
|
|
160
|
+
setEnabledElement: () => (/* reexport */ state/* setEnabledElement */.ye),
|
|
157
161
|
toolNames: () => (/* reexport */ toolNames)
|
|
158
162
|
});
|
|
159
163
|
|
|
@@ -182,7 +186,7 @@ var dist_esm = __webpack_require__(39371);
|
|
|
182
186
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
|
|
183
187
|
var streaming_image_volume_loader_dist_esm = __webpack_require__(23722);
|
|
184
188
|
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
185
|
-
var src = __webpack_require__(
|
|
189
|
+
var src = __webpack_require__(75186);
|
|
186
190
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js
|
|
187
191
|
var cornerstoneDICOMImageLoader_min = __webpack_require__(54578);
|
|
188
192
|
var cornerstoneDICOMImageLoader_min_default = /*#__PURE__*/__webpack_require__.n(cornerstoneDICOMImageLoader_min);
|
|
@@ -260,8 +264,8 @@ function destroy() {
|
|
|
260
264
|
}
|
|
261
265
|
webWorkers.length = 0;
|
|
262
266
|
}
|
|
263
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
264
|
-
var ui_src = __webpack_require__(
|
|
267
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 782 modules
|
|
268
|
+
var ui_src = __webpack_require__(79047);
|
|
265
269
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/callInputDialog.tsx
|
|
266
270
|
|
|
267
271
|
|
|
@@ -437,7 +441,7 @@ function showLabelAnnotationPopup(measurement, uiDialogService, labelConfig) {
|
|
|
437
441
|
}
|
|
438
442
|
/* harmony default export */ const utils_callInputDialog = (callInputDialog);
|
|
439
443
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
|
|
440
|
-
var state = __webpack_require__(
|
|
444
|
+
var state = __webpack_require__(83910);
|
|
441
445
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/getActiveViewportEnabledElement.ts
|
|
442
446
|
|
|
443
447
|
|
|
@@ -558,7 +562,7 @@ function onCompletedCalibrationLine(servicesManager, csToolsEvent) {
|
|
|
558
562
|
});
|
|
559
563
|
}
|
|
560
564
|
// EXTERNAL MODULE: ../../core/src/utils/index.js + 26 modules
|
|
561
|
-
var utils = __webpack_require__(
|
|
565
|
+
var utils = __webpack_require__(86890);
|
|
562
566
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/tools/OverlayPlaneModuleProvider.ts
|
|
563
567
|
|
|
564
568
|
const _cachedOverlayMetadata = new Map();
|
|
@@ -861,6 +865,8 @@ function initCornerstoneTools(configuration = {}) {
|
|
|
861
865
|
(0,dist_esm.addTool)(dist_esm.SplineROITool);
|
|
862
866
|
(0,dist_esm.addTool)(dist_esm.LivewireContourTool);
|
|
863
867
|
(0,dist_esm.addTool)(dist_esm.OrientationMarkerTool);
|
|
868
|
+
(0,dist_esm.addTool)(dist_esm.WindowLevelRegionTool);
|
|
869
|
+
(0,dist_esm.addTool)(dist_esm.PlanarFreehandContourSegmentationTool);
|
|
864
870
|
|
|
865
871
|
// Modify annotation tools to use dashed lines on SR
|
|
866
872
|
const annotationStyle = {
|
|
@@ -911,13 +917,15 @@ const toolNames = {
|
|
|
911
917
|
SplineROI: dist_esm.SplineROITool.toolName,
|
|
912
918
|
LivewireContour: dist_esm.LivewireContourTool.toolName,
|
|
913
919
|
PlanarFreehandROI: dist_esm.PlanarFreehandROITool.toolName,
|
|
914
|
-
OrientationMarker: dist_esm.OrientationMarkerTool.toolName
|
|
920
|
+
OrientationMarker: dist_esm.OrientationMarkerTool.toolName,
|
|
921
|
+
WindowLevelRegion: dist_esm.WindowLevelRegionTool.toolName,
|
|
922
|
+
PlanarFreehandContourSegmentation: dist_esm.PlanarFreehandContourSegmentationTool.toolName
|
|
915
923
|
};
|
|
916
924
|
|
|
917
925
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/constants/supportedTools.js
|
|
918
926
|
/* harmony default export */ const supportedTools = (['Length', 'EllipticalROI', 'CircleROI', 'Bidirectional', 'ArrowAnnotate', 'Angle', 'CobbAngle', 'Probe', 'RectangleROI', 'PlanarFreehandROI', 'SplineROI', 'LivewireContour', 'Probe', 'UltrasoundDirectionalTool']);
|
|
919
927
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
|
|
920
|
-
var getSOPInstanceAttributes = __webpack_require__(
|
|
928
|
+
var getSOPInstanceAttributes = __webpack_require__(20928);
|
|
921
929
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/Length.ts
|
|
922
930
|
|
|
923
931
|
|
|
@@ -957,12 +965,12 @@ const Length = {
|
|
|
957
965
|
SOPInstanceUID,
|
|
958
966
|
SeriesInstanceUID,
|
|
959
967
|
StudyInstanceUID
|
|
960
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
968
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
961
969
|
let displaySet;
|
|
962
970
|
if (SOPInstanceUID) {
|
|
963
971
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
964
972
|
} else {
|
|
965
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
973
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
966
974
|
}
|
|
967
975
|
const {
|
|
968
976
|
points,
|
|
@@ -980,6 +988,7 @@ const Length = {
|
|
|
980
988
|
metadata,
|
|
981
989
|
referenceSeriesUID: SeriesInstanceUID,
|
|
982
990
|
referenceStudyUID: StudyInstanceUID,
|
|
991
|
+
referencedImageId,
|
|
983
992
|
frameNumber: mappedAnnotations[0]?.frameNumber || 1,
|
|
984
993
|
toolName: metadata.toolName,
|
|
985
994
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -1009,15 +1018,12 @@ function getMappedAnnotations(annotation, displaySetService) {
|
|
|
1009
1018
|
const annotations = [];
|
|
1010
1019
|
Object.keys(cachedStats).forEach(targetId => {
|
|
1011
1020
|
const targetStats = cachedStats[targetId];
|
|
1012
|
-
if (!referencedImageId) {
|
|
1013
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
1014
|
-
}
|
|
1015
1021
|
const {
|
|
1016
1022
|
SOPInstanceUID,
|
|
1017
1023
|
SeriesInstanceUID,
|
|
1018
1024
|
frameNumber
|
|
1019
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
1020
|
-
const displaySet = displaySetService.
|
|
1025
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1026
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1021
1027
|
const {
|
|
1022
1028
|
SeriesNumber
|
|
1023
1029
|
} = displaySet;
|
|
@@ -1196,12 +1202,12 @@ const Bidirectional = {
|
|
|
1196
1202
|
SOPInstanceUID,
|
|
1197
1203
|
SeriesInstanceUID,
|
|
1198
1204
|
StudyInstanceUID
|
|
1199
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
1205
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1200
1206
|
let displaySet;
|
|
1201
1207
|
if (SOPInstanceUID) {
|
|
1202
1208
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
1203
1209
|
} else {
|
|
1204
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1210
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1205
1211
|
}
|
|
1206
1212
|
const {
|
|
1207
1213
|
points,
|
|
@@ -1219,6 +1225,7 @@ const Bidirectional = {
|
|
|
1219
1225
|
metadata,
|
|
1220
1226
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1221
1227
|
referenceStudyUID: StudyInstanceUID,
|
|
1228
|
+
referencedImageId,
|
|
1222
1229
|
frameNumber: mappedAnnotations[0]?.frameNumber || 1,
|
|
1223
1230
|
toolName: metadata.toolName,
|
|
1224
1231
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -1249,15 +1256,12 @@ function Bidirectional_getMappedAnnotations(annotation, displaySetService) {
|
|
|
1249
1256
|
const annotations = [];
|
|
1250
1257
|
Object.keys(cachedStats).forEach(targetId => {
|
|
1251
1258
|
const targetStats = cachedStats[targetId];
|
|
1252
|
-
if (!referencedImageId) {
|
|
1253
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
1254
|
-
}
|
|
1255
1259
|
const {
|
|
1256
1260
|
SOPInstanceUID,
|
|
1257
1261
|
SeriesInstanceUID,
|
|
1258
1262
|
frameNumber
|
|
1259
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
1260
|
-
const displaySet = displaySetService.
|
|
1263
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1264
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1261
1265
|
const {
|
|
1262
1266
|
SeriesNumber
|
|
1263
1267
|
} = displaySet;
|
|
@@ -1391,12 +1395,12 @@ const EllipticalROI = {
|
|
|
1391
1395
|
SOPInstanceUID,
|
|
1392
1396
|
SeriesInstanceUID,
|
|
1393
1397
|
StudyInstanceUID
|
|
1394
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
1398
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1395
1399
|
let displaySet;
|
|
1396
1400
|
if (SOPInstanceUID) {
|
|
1397
1401
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
1398
1402
|
} else {
|
|
1399
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1403
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1400
1404
|
}
|
|
1401
1405
|
const {
|
|
1402
1406
|
points,
|
|
@@ -1414,6 +1418,7 @@ const EllipticalROI = {
|
|
|
1414
1418
|
metadata,
|
|
1415
1419
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1416
1420
|
referenceStudyUID: StudyInstanceUID,
|
|
1421
|
+
referencedImageId,
|
|
1417
1422
|
frameNumber: mappedAnnotations[0]?.frameNumber || 1,
|
|
1418
1423
|
toolName: metadata.toolName,
|
|
1419
1424
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -1443,16 +1448,12 @@ function EllipticalROI_getMappedAnnotations(annotation, displaySetService) {
|
|
|
1443
1448
|
const annotations = [];
|
|
1444
1449
|
Object.keys(cachedStats).forEach(targetId => {
|
|
1445
1450
|
const targetStats = cachedStats[targetId];
|
|
1446
|
-
if (!referencedImageId) {
|
|
1447
|
-
// Todo: Non-acquisition plane measurement mapping not supported yet
|
|
1448
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
1449
|
-
}
|
|
1450
1451
|
const {
|
|
1451
1452
|
SOPInstanceUID,
|
|
1452
1453
|
SeriesInstanceUID,
|
|
1453
1454
|
frameNumber
|
|
1454
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
1455
|
-
const displaySet = displaySetService.
|
|
1455
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1456
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1456
1457
|
const {
|
|
1457
1458
|
SeriesNumber
|
|
1458
1459
|
} = displaySet;
|
|
@@ -1572,7 +1573,7 @@ function EllipticalROI_getDisplayText(mappedAnnotations, displaySet, customizati
|
|
|
1572
1573
|
|
|
1573
1574
|
const CircleROI = {
|
|
1574
1575
|
toAnnotation: measurement => {},
|
|
1575
|
-
toMeasurement: (csToolsEventDetail,
|
|
1576
|
+
toMeasurement: (csToolsEventDetail, displaySetService, CornerstoneViewportService, getValueTypeFromToolType, customizationService) => {
|
|
1576
1577
|
const {
|
|
1577
1578
|
annotation,
|
|
1578
1579
|
viewportId
|
|
@@ -1599,18 +1600,18 @@ const CircleROI = {
|
|
|
1599
1600
|
SOPInstanceUID,
|
|
1600
1601
|
SeriesInstanceUID,
|
|
1601
1602
|
StudyInstanceUID
|
|
1602
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
1603
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1603
1604
|
let displaySet;
|
|
1604
1605
|
if (SOPInstanceUID) {
|
|
1605
|
-
displaySet =
|
|
1606
|
+
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
1606
1607
|
} else {
|
|
1607
|
-
displaySet =
|
|
1608
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1608
1609
|
}
|
|
1609
1610
|
const {
|
|
1610
1611
|
points,
|
|
1611
1612
|
textBox
|
|
1612
1613
|
} = data.handles;
|
|
1613
|
-
const mappedAnnotations = CircleROI_getMappedAnnotations(annotation,
|
|
1614
|
+
const mappedAnnotations = CircleROI_getMappedAnnotations(annotation, displaySetService);
|
|
1614
1615
|
const displayText = CircleROI_getDisplayText(mappedAnnotations, displaySet, customizationService);
|
|
1615
1616
|
const getReport = () => CircleROI_getReport(mappedAnnotations, points, FrameOfReferenceUID, customizationService);
|
|
1616
1617
|
return {
|
|
@@ -1622,6 +1623,7 @@ const CircleROI = {
|
|
|
1622
1623
|
metadata,
|
|
1623
1624
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1624
1625
|
referenceStudyUID: StudyInstanceUID,
|
|
1626
|
+
referencedImageId,
|
|
1625
1627
|
frameNumber: mappedAnnotations[0]?.frameNumber || 1,
|
|
1626
1628
|
toolName: metadata.toolName,
|
|
1627
1629
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -1633,7 +1635,7 @@ const CircleROI = {
|
|
|
1633
1635
|
};
|
|
1634
1636
|
}
|
|
1635
1637
|
};
|
|
1636
|
-
function CircleROI_getMappedAnnotations(annotation,
|
|
1638
|
+
function CircleROI_getMappedAnnotations(annotation, displaySetService) {
|
|
1637
1639
|
const {
|
|
1638
1640
|
metadata,
|
|
1639
1641
|
data
|
|
@@ -1651,16 +1653,12 @@ function CircleROI_getMappedAnnotations(annotation, DisplaySetService) {
|
|
|
1651
1653
|
const annotations = [];
|
|
1652
1654
|
Object.keys(cachedStats).forEach(targetId => {
|
|
1653
1655
|
const targetStats = cachedStats[targetId];
|
|
1654
|
-
if (!referencedImageId) {
|
|
1655
|
-
// Todo: Non-acquisition plane measurement mapping not supported yet
|
|
1656
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
1657
|
-
}
|
|
1658
1656
|
const {
|
|
1659
1657
|
SOPInstanceUID,
|
|
1660
1658
|
SeriesInstanceUID,
|
|
1661
1659
|
frameNumber
|
|
1662
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
1663
|
-
const displaySet =
|
|
1660
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1661
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1664
1662
|
const {
|
|
1665
1663
|
SeriesNumber
|
|
1666
1664
|
} = displaySet;
|
|
@@ -1812,12 +1810,12 @@ const ArrowAnnotate_Length = {
|
|
|
1812
1810
|
SOPInstanceUID,
|
|
1813
1811
|
SeriesInstanceUID,
|
|
1814
1812
|
StudyInstanceUID
|
|
1815
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
1813
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1816
1814
|
let displaySet;
|
|
1817
1815
|
if (SOPInstanceUID) {
|
|
1818
1816
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
1819
1817
|
} else {
|
|
1820
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1818
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1821
1819
|
}
|
|
1822
1820
|
const {
|
|
1823
1821
|
points,
|
|
@@ -1834,6 +1832,7 @@ const ArrowAnnotate_Length = {
|
|
|
1834
1832
|
metadata,
|
|
1835
1833
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1836
1834
|
referenceStudyUID: StudyInstanceUID,
|
|
1835
|
+
referencedImageId,
|
|
1837
1836
|
frameNumber: mappedAnnotations[0]?.frameNumber || 1,
|
|
1838
1837
|
toolName: metadata.toolName,
|
|
1839
1838
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -1863,8 +1862,8 @@ function ArrowAnnotate_getMappedAnnotations(annotation, displaySetService) {
|
|
|
1863
1862
|
SOPInstanceUID,
|
|
1864
1863
|
SeriesInstanceUID,
|
|
1865
1864
|
frameNumber
|
|
1866
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
1867
|
-
const displaySet = displaySetService.
|
|
1865
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1866
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1868
1867
|
const {
|
|
1869
1868
|
SeriesNumber
|
|
1870
1869
|
} = displaySet;
|
|
@@ -1940,12 +1939,12 @@ const CobbAngle = {
|
|
|
1940
1939
|
SOPInstanceUID,
|
|
1941
1940
|
SeriesInstanceUID,
|
|
1942
1941
|
StudyInstanceUID
|
|
1943
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
1942
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
1944
1943
|
let displaySet;
|
|
1945
1944
|
if (SOPInstanceUID) {
|
|
1946
1945
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
1947
1946
|
} else {
|
|
1948
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
1947
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
1949
1948
|
}
|
|
1950
1949
|
const {
|
|
1951
1950
|
points,
|
|
@@ -1963,6 +1962,7 @@ const CobbAngle = {
|
|
|
1963
1962
|
metadata,
|
|
1964
1963
|
referenceSeriesUID: SeriesInstanceUID,
|
|
1965
1964
|
referenceStudyUID: StudyInstanceUID,
|
|
1965
|
+
referencedImageId,
|
|
1966
1966
|
frameNumber: mappedAnnotations?.[0]?.frameNumber || 1,
|
|
1967
1967
|
toolName: metadata.toolName,
|
|
1968
1968
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -1974,7 +1974,7 @@ const CobbAngle = {
|
|
|
1974
1974
|
};
|
|
1975
1975
|
}
|
|
1976
1976
|
};
|
|
1977
|
-
function CobbAngle_getMappedAnnotations(annotation,
|
|
1977
|
+
function CobbAngle_getMappedAnnotations(annotation, displaySetService) {
|
|
1978
1978
|
const {
|
|
1979
1979
|
metadata,
|
|
1980
1980
|
data
|
|
@@ -1992,15 +1992,12 @@ function CobbAngle_getMappedAnnotations(annotation, DisplaySetService) {
|
|
|
1992
1992
|
const annotations = [];
|
|
1993
1993
|
Object.keys(cachedStats).forEach(targetId => {
|
|
1994
1994
|
const targetStats = cachedStats[targetId];
|
|
1995
|
-
if (!referencedImageId) {
|
|
1996
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
1997
|
-
}
|
|
1998
1995
|
const {
|
|
1999
1996
|
SOPInstanceUID,
|
|
2000
1997
|
SeriesInstanceUID,
|
|
2001
1998
|
frameNumber
|
|
2002
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
2003
|
-
const displaySet =
|
|
1999
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
2000
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
2004
2001
|
const {
|
|
2005
2002
|
SeriesNumber
|
|
2006
2003
|
} = displaySet;
|
|
@@ -2125,12 +2122,12 @@ const Angle = {
|
|
|
2125
2122
|
SOPInstanceUID,
|
|
2126
2123
|
SeriesInstanceUID,
|
|
2127
2124
|
StudyInstanceUID
|
|
2128
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
2125
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
2129
2126
|
let displaySet;
|
|
2130
2127
|
if (SOPInstanceUID) {
|
|
2131
2128
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
2132
2129
|
} else {
|
|
2133
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
2130
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
2134
2131
|
}
|
|
2135
2132
|
const {
|
|
2136
2133
|
points,
|
|
@@ -2155,11 +2152,12 @@ const Angle = {
|
|
|
2155
2152
|
displayText: displayText,
|
|
2156
2153
|
data: data.cachedStats,
|
|
2157
2154
|
type: getValueTypeFromToolType(toolName),
|
|
2158
|
-
getReport
|
|
2155
|
+
getReport,
|
|
2156
|
+
referencedImageId
|
|
2159
2157
|
};
|
|
2160
2158
|
}
|
|
2161
2159
|
};
|
|
2162
|
-
function Angle_getMappedAnnotations(annotation,
|
|
2160
|
+
function Angle_getMappedAnnotations(annotation, displaySetService) {
|
|
2163
2161
|
const {
|
|
2164
2162
|
metadata,
|
|
2165
2163
|
data
|
|
@@ -2177,15 +2175,12 @@ function Angle_getMappedAnnotations(annotation, DisplaySetService) {
|
|
|
2177
2175
|
const annotations = [];
|
|
2178
2176
|
Object.keys(cachedStats).forEach(targetId => {
|
|
2179
2177
|
const targetStats = cachedStats[targetId];
|
|
2180
|
-
if (!referencedImageId) {
|
|
2181
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
2182
|
-
}
|
|
2183
2178
|
const {
|
|
2184
2179
|
SOPInstanceUID,
|
|
2185
2180
|
SeriesInstanceUID,
|
|
2186
2181
|
frameNumber
|
|
2187
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
2188
|
-
const displaySet =
|
|
2182
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
2183
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
2189
2184
|
const {
|
|
2190
2185
|
SeriesNumber
|
|
2191
2186
|
} = displaySet;
|
|
@@ -2289,7 +2284,7 @@ const PlanarFreehandROI = {
|
|
|
2289
2284
|
* @param {Function} getValueTypeFromToolType Function to get value type from tool type
|
|
2290
2285
|
* @returns {Measurement} Measurement instance
|
|
2291
2286
|
*/
|
|
2292
|
-
toMeasurement: (csToolsEventDetail,
|
|
2287
|
+
toMeasurement: (csToolsEventDetail, displaySetService, CornerstoneViewportService, getValueTypeFromToolType, customizationService) => {
|
|
2293
2288
|
const {
|
|
2294
2289
|
annotation
|
|
2295
2290
|
} = csToolsEventDetail;
|
|
@@ -2316,12 +2311,12 @@ const PlanarFreehandROI = {
|
|
|
2316
2311
|
SeriesInstanceUID,
|
|
2317
2312
|
frameNumber,
|
|
2318
2313
|
StudyInstanceUID
|
|
2319
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
2314
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
2320
2315
|
let displaySet;
|
|
2321
2316
|
if (SOPInstanceUID) {
|
|
2322
|
-
displaySet =
|
|
2317
|
+
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
2323
2318
|
} else {
|
|
2324
|
-
displaySet =
|
|
2319
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
2325
2320
|
}
|
|
2326
2321
|
return {
|
|
2327
2322
|
uid: annotationUID,
|
|
@@ -2333,10 +2328,11 @@ const PlanarFreehandROI = {
|
|
|
2333
2328
|
frameNumber,
|
|
2334
2329
|
referenceSeriesUID: SeriesInstanceUID,
|
|
2335
2330
|
referenceStudyUID: StudyInstanceUID,
|
|
2331
|
+
referencedImageId,
|
|
2336
2332
|
toolName: metadata.toolName,
|
|
2337
2333
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
2338
2334
|
label: data.label,
|
|
2339
|
-
displayText: PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationService),
|
|
2335
|
+
displayText: PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationService, displaySetService),
|
|
2340
2336
|
data: data.cachedStats,
|
|
2341
2337
|
type: getValueTypeFromToolType(toolName),
|
|
2342
2338
|
getReport: () => getColumnValueReport(annotation, customizationService)
|
|
@@ -2404,7 +2400,7 @@ function getColumnValueReport(annotation, customizationService) {
|
|
|
2404
2400
|
* @param {Object} displaySet - The display set object.
|
|
2405
2401
|
* @returns {string[]} - An array of display text.
|
|
2406
2402
|
*/
|
|
2407
|
-
function PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationService) {
|
|
2403
|
+
function PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationService, displaySetService) {
|
|
2408
2404
|
const {
|
|
2409
2405
|
PlanarFreehandROI
|
|
2410
2406
|
} = customizationService.get('cornerstone.measurements');
|
|
@@ -2415,13 +2411,10 @@ function PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationS
|
|
|
2415
2411
|
metadata,
|
|
2416
2412
|
data
|
|
2417
2413
|
} = annotation;
|
|
2418
|
-
if (!data.cachedStats || !data.cachedStats[`imageId:${metadata.referencedImageId}`]) {
|
|
2419
|
-
return [];
|
|
2420
|
-
}
|
|
2421
2414
|
const {
|
|
2422
2415
|
SOPInstanceUID,
|
|
2423
2416
|
frameNumber
|
|
2424
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(metadata.referencedImageId);
|
|
2417
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(metadata.referencedImageId, displaySetService, annotation);
|
|
2425
2418
|
const displayTextArray = [];
|
|
2426
2419
|
const instance = displaySet.images.find(image => image.SOPInstanceUID === SOPInstanceUID);
|
|
2427
2420
|
let InstanceNumber;
|
|
@@ -2436,17 +2429,20 @@ function PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationS
|
|
|
2436
2429
|
if (SeriesNumber) {
|
|
2437
2430
|
displayTextArray.push(`S: ${SeriesNumber}${instanceText}${frameText}`);
|
|
2438
2431
|
}
|
|
2439
|
-
const stats = data.cachedStats[`imageId:${metadata.referencedImageId}`];
|
|
2432
|
+
const stats = data.cachedStats[`imageId:${metadata.referencedImageId}`] || Array.from(Object.values(data.cachedStats))[0];
|
|
2433
|
+
if (!stats) {
|
|
2434
|
+
return displayTextArray;
|
|
2435
|
+
}
|
|
2440
2436
|
const roundValues = values => {
|
|
2441
2437
|
if (Array.isArray(values)) {
|
|
2442
2438
|
return values.map(value => {
|
|
2443
2439
|
if (isNaN(value)) {
|
|
2444
2440
|
return value;
|
|
2445
2441
|
}
|
|
2446
|
-
return src.utils.roundNumber(value);
|
|
2442
|
+
return src.utils.roundNumber(value, 2);
|
|
2447
2443
|
});
|
|
2448
2444
|
}
|
|
2449
|
-
return isNaN(values) ? values : src.utils.roundNumber(values);
|
|
2445
|
+
return isNaN(values) ? values : src.utils.roundNumber(values, 2);
|
|
2450
2446
|
};
|
|
2451
2447
|
const findUnitForValue = (displayTextItems, value) => displayTextItems.find(({
|
|
2452
2448
|
type,
|
|
@@ -2475,7 +2471,7 @@ function PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationS
|
|
|
2475
2471
|
|
|
2476
2472
|
const RectangleROI = {
|
|
2477
2473
|
toAnnotation: measurement => {},
|
|
2478
|
-
toMeasurement: (csToolsEventDetail,
|
|
2474
|
+
toMeasurement: (csToolsEventDetail, displaySetService, CornerstoneViewportService, getValueTypeFromToolType, customizationService) => {
|
|
2479
2475
|
const {
|
|
2480
2476
|
annotation,
|
|
2481
2477
|
viewportId
|
|
@@ -2502,18 +2498,18 @@ const RectangleROI = {
|
|
|
2502
2498
|
SOPInstanceUID,
|
|
2503
2499
|
SeriesInstanceUID,
|
|
2504
2500
|
StudyInstanceUID
|
|
2505
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId,
|
|
2501
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
2506
2502
|
let displaySet;
|
|
2507
2503
|
if (SOPInstanceUID) {
|
|
2508
|
-
displaySet =
|
|
2504
|
+
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
2509
2505
|
} else {
|
|
2510
|
-
displaySet =
|
|
2506
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
2511
2507
|
}
|
|
2512
2508
|
const {
|
|
2513
2509
|
points,
|
|
2514
2510
|
textBox
|
|
2515
2511
|
} = data.handles;
|
|
2516
|
-
const mappedAnnotations = RectangleROI_getMappedAnnotations(annotation,
|
|
2512
|
+
const mappedAnnotations = RectangleROI_getMappedAnnotations(annotation, displaySetService);
|
|
2517
2513
|
const displayText = RectangleROI_getDisplayText(mappedAnnotations, displaySet, customizationService);
|
|
2518
2514
|
const getReport = () => RectangleROI_getReport(mappedAnnotations, points, FrameOfReferenceUID, customizationService);
|
|
2519
2515
|
return {
|
|
@@ -2525,6 +2521,7 @@ const RectangleROI = {
|
|
|
2525
2521
|
metadata,
|
|
2526
2522
|
referenceSeriesUID: SeriesInstanceUID,
|
|
2527
2523
|
referenceStudyUID: StudyInstanceUID,
|
|
2524
|
+
referencedImageId,
|
|
2528
2525
|
frameNumber: mappedAnnotations[0]?.frameNumber || 1,
|
|
2529
2526
|
toolName: metadata.toolName,
|
|
2530
2527
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -2536,7 +2533,7 @@ const RectangleROI = {
|
|
|
2536
2533
|
};
|
|
2537
2534
|
}
|
|
2538
2535
|
};
|
|
2539
|
-
function RectangleROI_getMappedAnnotations(annotation,
|
|
2536
|
+
function RectangleROI_getMappedAnnotations(annotation, displaySetService) {
|
|
2540
2537
|
const {
|
|
2541
2538
|
metadata,
|
|
2542
2539
|
data
|
|
@@ -2554,16 +2551,12 @@ function RectangleROI_getMappedAnnotations(annotation, DisplaySetService) {
|
|
|
2554
2551
|
const annotations = [];
|
|
2555
2552
|
Object.keys(cachedStats).forEach(targetId => {
|
|
2556
2553
|
const targetStats = cachedStats[targetId];
|
|
2557
|
-
if (!referencedImageId) {
|
|
2558
|
-
// Todo: Non-acquisition plane measurement mapping not supported yet
|
|
2559
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
2560
|
-
}
|
|
2561
2554
|
const {
|
|
2562
2555
|
SOPInstanceUID,
|
|
2563
2556
|
SeriesInstanceUID,
|
|
2564
2557
|
frameNumber
|
|
2565
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
2566
|
-
const displaySet =
|
|
2558
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
2559
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
2567
2560
|
const {
|
|
2568
2561
|
SeriesNumber
|
|
2569
2562
|
} = displaySet;
|
|
@@ -3087,12 +3080,12 @@ const Probe = {
|
|
|
3087
3080
|
SOPInstanceUID,
|
|
3088
3081
|
SeriesInstanceUID,
|
|
3089
3082
|
StudyInstanceUID
|
|
3090
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
3083
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
3091
3084
|
let displaySet;
|
|
3092
3085
|
if (SOPInstanceUID) {
|
|
3093
3086
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
3094
3087
|
} else {
|
|
3095
|
-
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
|
|
3088
|
+
displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
3096
3089
|
}
|
|
3097
3090
|
const {
|
|
3098
3091
|
points
|
|
@@ -3108,6 +3101,7 @@ const Probe = {
|
|
|
3108
3101
|
metadata,
|
|
3109
3102
|
referenceSeriesUID: SeriesInstanceUID,
|
|
3110
3103
|
referenceStudyUID: StudyInstanceUID,
|
|
3104
|
+
referencedImageId,
|
|
3111
3105
|
frameNumber: mappedAnnotations?.[0]?.frameNumber || 1,
|
|
3112
3106
|
toolName: metadata.toolName,
|
|
3113
3107
|
displaySetInstanceUID: displaySet.displaySetInstanceUID,
|
|
@@ -3119,7 +3113,7 @@ const Probe = {
|
|
|
3119
3113
|
};
|
|
3120
3114
|
}
|
|
3121
3115
|
};
|
|
3122
|
-
function Probe_getMappedAnnotations(annotation,
|
|
3116
|
+
function Probe_getMappedAnnotations(annotation, displaySetService) {
|
|
3123
3117
|
const {
|
|
3124
3118
|
metadata,
|
|
3125
3119
|
data
|
|
@@ -3137,15 +3131,12 @@ function Probe_getMappedAnnotations(annotation, DisplaySetService) {
|
|
|
3137
3131
|
const annotations = [];
|
|
3138
3132
|
Object.keys(cachedStats).forEach(targetId => {
|
|
3139
3133
|
const targetStats = cachedStats[targetId];
|
|
3140
|
-
if (!referencedImageId) {
|
|
3141
|
-
throw new Error('Non-acquisition plane measurement mapping not supported');
|
|
3142
|
-
}
|
|
3143
3134
|
const {
|
|
3144
3135
|
SOPInstanceUID,
|
|
3145
3136
|
SeriesInstanceUID,
|
|
3146
3137
|
frameNumber
|
|
3147
|
-
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
|
|
3148
|
-
const displaySet =
|
|
3138
|
+
} = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
|
|
3139
|
+
const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
|
|
3149
3140
|
const {
|
|
3150
3141
|
SeriesNumber
|
|
3151
3142
|
} = displaySet;
|
|
@@ -3925,7 +3916,7 @@ function _getVolumesFromViewport(viewport) {
|
|
|
3925
3916
|
return viewport ? viewport.getActors().map(actor => esm.cache.getVolume(actor.uid)) : [];
|
|
3926
3917
|
}
|
|
3927
3918
|
function _getVolumeFromViewport(viewport) {
|
|
3928
|
-
const volumes = _getVolumesFromViewport(viewport);
|
|
3919
|
+
const volumes = _getVolumesFromViewport(viewport).filter(volume => volume);
|
|
3929
3920
|
const dynamicVolume = volumes.find(volume => volume.isDynamicVolume());
|
|
3930
3921
|
return dynamicVolume ?? volumes[0];
|
|
3931
3922
|
}
|
|
@@ -4944,12 +4935,16 @@ async function init({
|
|
|
4944
4935
|
clearOnModeExit: true
|
|
4945
4936
|
});
|
|
4946
4937
|
const labelmapRepresentation = dist_esm.Enums.SegmentationRepresentations.Labelmap;
|
|
4938
|
+
const contourRepresentation = dist_esm.Enums.SegmentationRepresentations.Contour;
|
|
4947
4939
|
dist_esm.segmentation.config.setGlobalRepresentationConfig(labelmapRepresentation, {
|
|
4948
4940
|
fillAlpha: 0.5,
|
|
4949
4941
|
fillAlphaInactive: 0.2,
|
|
4950
4942
|
outlineOpacity: 1,
|
|
4951
4943
|
outlineOpacityInactive: 0.65
|
|
4952
4944
|
});
|
|
4945
|
+
dist_esm.segmentation.config.setGlobalRepresentationConfig(contourRepresentation, {
|
|
4946
|
+
renderFill: false
|
|
4947
|
+
});
|
|
4953
4948
|
const metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
|
|
4954
4949
|
esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.FC);
|
|
4955
4950
|
esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingDynamicImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingDynamicImageVolumeLoader */.Mr);
|
|
@@ -5037,9 +5032,13 @@ async function init({
|
|
|
5037
5032
|
const {
|
|
5038
5033
|
element
|
|
5039
5034
|
} = evt.detail;
|
|
5035
|
+
const enabledElement = (0,esm.getEnabledElement)(element);
|
|
5036
|
+
if (!enabledElement) {
|
|
5037
|
+
return;
|
|
5038
|
+
}
|
|
5040
5039
|
const {
|
|
5041
5040
|
viewportId
|
|
5042
|
-
} =
|
|
5041
|
+
} = enabledElement;
|
|
5043
5042
|
commandsManager.runCommand('resetCrosshairs', {
|
|
5044
5043
|
viewportId
|
|
5045
5044
|
});
|
|
@@ -5101,8 +5100,8 @@ function _showCPURenderingModal(uiModalService, hangingProtocolService) {
|
|
|
5101
5100
|
}
|
|
5102
5101
|
});
|
|
5103
5102
|
}
|
|
5104
|
-
// EXTERNAL MODULE: ../../../node_modules/react-dropzone/dist/es/index.js +
|
|
5105
|
-
var es = __webpack_require__(
|
|
5103
|
+
// EXTERNAL MODULE: ../../../node_modules/react-dropzone/dist/es/index.js + 4 modules
|
|
5104
|
+
var es = __webpack_require__(92854);
|
|
5106
5105
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
5107
5106
|
var prop_types = __webpack_require__(11374);
|
|
5108
5107
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
@@ -5791,6 +5790,11 @@ const tools = {
|
|
|
5791
5790
|
}],
|
|
5792
5791
|
enabled: [{
|
|
5793
5792
|
toolName: toolNames.SegmentationDisplay
|
|
5793
|
+
}, {
|
|
5794
|
+
toolName: toolNames.PlanarFreehandContourSegmentation,
|
|
5795
|
+
configuration: {
|
|
5796
|
+
displayOnePointAsCrosshairs: true
|
|
5797
|
+
}
|
|
5794
5798
|
}]
|
|
5795
5799
|
};
|
|
5796
5800
|
function getCustomizationModule() {
|
|
@@ -6068,7 +6072,9 @@ const CornerstoneViewportDownloadForm = ({
|
|
|
6068
6072
|
// for some reason we need a reset camera here, and I don't know why
|
|
6069
6073
|
downloadViewport.resetCamera();
|
|
6070
6074
|
const presentation = activeViewport.getViewPresentation();
|
|
6071
|
-
downloadViewport.setView
|
|
6075
|
+
if (downloadViewport.setView) {
|
|
6076
|
+
downloadViewport.setView(activeViewport.getViewReference(), presentation);
|
|
6077
|
+
}
|
|
6072
6078
|
downloadViewport.render();
|
|
6073
6079
|
});
|
|
6074
6080
|
});
|
|
@@ -9351,6 +9357,7 @@ class SegmentationService extends src/* PubSubService */.Rc {
|
|
|
9351
9357
|
};
|
|
9352
9358
|
this.addSegmentationRepresentationToToolGroup = async (toolGroupId, segmentationId, hydrateSegmentation = false, representationType = dist_esm.Enums.SegmentationRepresentations.Labelmap, suppressEvents = false) => {
|
|
9353
9359
|
const segmentation = this.getSegmentation(segmentationId);
|
|
9360
|
+
toolGroupId = toolGroupId || this._getApplicableToolGroupId();
|
|
9354
9361
|
if (!segmentation) {
|
|
9355
9362
|
throw new Error(`Segmentation with segmentationId ${segmentationId} not found.`);
|
|
9356
9363
|
}
|
|
@@ -10784,7 +10791,23 @@ class CornerstoneCacheService {
|
|
|
10784
10791
|
}
|
|
10785
10792
|
async invalidateViewportData(viewportData, invalidatedDisplaySetInstanceUID, dataSource, displaySetService) {
|
|
10786
10793
|
if (viewportData.viewportType === esm.Enums.ViewportType.STACK) {
|
|
10787
|
-
|
|
10794
|
+
const displaySet = displaySetService.getDisplaySetByUID(invalidatedDisplaySetInstanceUID);
|
|
10795
|
+
const imageIds = this._getCornerstoneStackImageIds(displaySet, dataSource);
|
|
10796
|
+
|
|
10797
|
+
// remove images from the cache to be able to re-load them
|
|
10798
|
+
imageIds.forEach(imageId => {
|
|
10799
|
+
if (esm.cache.getImageLoadObject(imageId)) {
|
|
10800
|
+
esm.cache.removeImageLoadObject(imageId);
|
|
10801
|
+
}
|
|
10802
|
+
});
|
|
10803
|
+
return {
|
|
10804
|
+
viewportType: esm.Enums.ViewportType.STACK,
|
|
10805
|
+
data: {
|
|
10806
|
+
StudyInstanceUID: displaySet.StudyInstanceUID,
|
|
10807
|
+
displaySetInstanceUID: invalidatedDisplaySetInstanceUID,
|
|
10808
|
+
imageIds
|
|
10809
|
+
}
|
|
10810
|
+
};
|
|
10788
10811
|
}
|
|
10789
10812
|
|
|
10790
10813
|
// Todo: grab the volume and get the id from the viewport itself
|
|
@@ -10814,32 +10837,48 @@ class CornerstoneCacheService {
|
|
|
10814
10837
|
const newViewportData = await this._getVolumeViewportData(dataSource, displaySets, viewportData.viewportType);
|
|
10815
10838
|
return newViewportData;
|
|
10816
10839
|
}
|
|
10817
|
-
_getStackViewportData(dataSource, displaySets, initialImageIndex, viewportType) {
|
|
10818
|
-
|
|
10819
|
-
const
|
|
10840
|
+
async _getStackViewportData(dataSource, displaySets, initialImageIndex, viewportType) {
|
|
10841
|
+
const overlayDisplaySets = displaySets.filter(ds => ds.isOverlayDisplaySet);
|
|
10842
|
+
const nonOverlayDisplaySets = displaySets.filter(ds => !ds.isOverlayDisplaySet);
|
|
10843
|
+
|
|
10844
|
+
// load overlays if they are not loaded
|
|
10845
|
+
for (const overlayDisplaySet of overlayDisplaySets) {
|
|
10846
|
+
if (overlayDisplaySet.load && overlayDisplaySet.load instanceof Function) {
|
|
10847
|
+
const {
|
|
10848
|
+
userAuthenticationService
|
|
10849
|
+
} = this.servicesManager.services;
|
|
10850
|
+
const headers = userAuthenticationService.getAuthorizationHeader();
|
|
10851
|
+
await overlayDisplaySet.load({
|
|
10852
|
+
headers
|
|
10853
|
+
});
|
|
10854
|
+
}
|
|
10855
|
+
}
|
|
10856
|
+
const displaySet = nonOverlayDisplaySets[0];
|
|
10820
10857
|
let stackImageIds = this.stackImageIds.get(displaySet.displaySetInstanceUID);
|
|
10821
10858
|
if (!stackImageIds) {
|
|
10822
10859
|
stackImageIds = this._getCornerstoneStackImageIds(displaySet, dataSource);
|
|
10823
10860
|
this.stackImageIds.set(displaySet.displaySetInstanceUID, stackImageIds);
|
|
10824
10861
|
}
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
|
-
|
|
10828
|
-
|
|
10829
|
-
|
|
10830
|
-
|
|
10831
|
-
|
|
10832
|
-
|
|
10862
|
+
|
|
10863
|
+
// Ensuring the first non-overlay `displaySet` is always the primary one
|
|
10864
|
+
const StackViewportData = [displaySet, ...overlayDisplaySets].map(ds => {
|
|
10865
|
+
const {
|
|
10866
|
+
displaySetInstanceUID,
|
|
10867
|
+
StudyInstanceUID,
|
|
10868
|
+
isCompositeStack
|
|
10869
|
+
} = ds;
|
|
10870
|
+
return {
|
|
10833
10871
|
StudyInstanceUID,
|
|
10834
10872
|
displaySetInstanceUID,
|
|
10835
10873
|
isCompositeStack,
|
|
10836
|
-
imageIds: stackImageIds
|
|
10837
|
-
|
|
10874
|
+
imageIds: stackImageIds,
|
|
10875
|
+
initialImageIndex
|
|
10876
|
+
};
|
|
10877
|
+
});
|
|
10878
|
+
return {
|
|
10879
|
+
viewportType,
|
|
10880
|
+
data: StackViewportData
|
|
10838
10881
|
};
|
|
10839
|
-
if (typeof initialImageIndex === 'number') {
|
|
10840
|
-
StackViewportData.data.initialImageIndex = initialImageIndex;
|
|
10841
|
-
}
|
|
10842
|
-
return StackViewportData;
|
|
10843
10882
|
}
|
|
10844
10883
|
async _getVolumeViewportData(dataSource, displaySets, viewportType) {
|
|
10845
10884
|
// Todo: Check the cache for multiple scenarios to see if we need to
|
|
@@ -11696,16 +11735,25 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11696
11735
|
}
|
|
11697
11736
|
async _setStackViewport(viewport, viewportData, viewportInfo, presentations = {}) {
|
|
11698
11737
|
const displaySetOptions = viewportInfo.getDisplaySetOptions();
|
|
11738
|
+
const displaySetInstanceUIDs = viewportData.data.map(data => data.displaySetInstanceUID);
|
|
11739
|
+
|
|
11740
|
+
// based on the cache service construct always the first one is the non-overlay
|
|
11741
|
+
// and the rest are overlays
|
|
11742
|
+
|
|
11743
|
+
this.viewportsDisplaySets.set(viewport.id, [...displaySetInstanceUIDs]);
|
|
11699
11744
|
const {
|
|
11700
|
-
imageIds,
|
|
11701
11745
|
initialImageIndex,
|
|
11702
|
-
|
|
11703
|
-
} = viewportData.data;
|
|
11704
|
-
this.viewportsDisplaySets.set(viewport.id, [displaySetInstanceUID]);
|
|
11746
|
+
imageIds
|
|
11747
|
+
} = viewportData.data[0];
|
|
11705
11748
|
let initialImageIndexToUse = presentations?.positionPresentation?.initialImageIndex ?? initialImageIndex;
|
|
11706
11749
|
if (initialImageIndexToUse === undefined || initialImageIndexToUse === null) {
|
|
11707
11750
|
initialImageIndexToUse = this._getInitialImageIndexForViewport(viewportInfo, imageIds) || 0;
|
|
11708
11751
|
}
|
|
11752
|
+
const {
|
|
11753
|
+
rotation,
|
|
11754
|
+
flipHorizontal,
|
|
11755
|
+
displayArea
|
|
11756
|
+
} = viewportInfo.getViewportOptions();
|
|
11709
11757
|
const properties = {
|
|
11710
11758
|
...presentations.lutPresentation?.properties
|
|
11711
11759
|
};
|
|
@@ -11732,11 +11780,25 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11732
11780
|
properties.colormap = colormap;
|
|
11733
11781
|
}
|
|
11734
11782
|
}
|
|
11783
|
+
this._handleOverlays(viewport);
|
|
11735
11784
|
return viewport.setStack(imageIds, initialImageIndexToUse).then(() => {
|
|
11736
11785
|
viewport.setProperties({
|
|
11737
11786
|
...properties
|
|
11738
11787
|
});
|
|
11739
11788
|
this.setPresentations(viewport.id, presentations);
|
|
11789
|
+
if (displayArea) {
|
|
11790
|
+
viewport.setDisplayArea(displayArea);
|
|
11791
|
+
}
|
|
11792
|
+
if (rotation) {
|
|
11793
|
+
viewport.setProperties({
|
|
11794
|
+
rotation
|
|
11795
|
+
});
|
|
11796
|
+
}
|
|
11797
|
+
if (flipHorizontal) {
|
|
11798
|
+
viewport.setCamera({
|
|
11799
|
+
flipHorizontal: true
|
|
11800
|
+
});
|
|
11801
|
+
}
|
|
11740
11802
|
});
|
|
11741
11803
|
}
|
|
11742
11804
|
_getInitialImageIndexForViewport(viewportInfo, imageIds) {
|
|
@@ -11907,6 +11969,24 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11907
11969
|
viewport.setProperties(properties, volumeId);
|
|
11908
11970
|
});
|
|
11909
11971
|
this.setPresentations(viewport.id, presentations);
|
|
11972
|
+
this._handleOverlays(viewport);
|
|
11973
|
+
const toolGroup = toolGroupService.getToolGroupForViewport(viewport.id);
|
|
11974
|
+
dist_esm.utilities.segmentation.triggerSegmentationRender(toolGroup.id);
|
|
11975
|
+
const imageIndex = this._getInitialImageIndexForViewport(viewportInfo);
|
|
11976
|
+
if (imageIndex !== undefined) {
|
|
11977
|
+
dist_esm.utilities.jumpToSlice(viewport.element, {
|
|
11978
|
+
imageIndex
|
|
11979
|
+
});
|
|
11980
|
+
}
|
|
11981
|
+
viewport.render();
|
|
11982
|
+
this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED, {
|
|
11983
|
+
viewportInfo
|
|
11984
|
+
});
|
|
11985
|
+
}
|
|
11986
|
+
_handleOverlays(viewport) {
|
|
11987
|
+
const {
|
|
11988
|
+
displaySetService
|
|
11989
|
+
} = this.servicesManager.services;
|
|
11910
11990
|
|
|
11911
11991
|
// load any secondary displaySets
|
|
11912
11992
|
const displaySetInstanceUIDs = this.viewportsDisplaySets.get(viewport.id);
|
|
@@ -11923,18 +12003,6 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11923
12003
|
// get segmentations only returns the hydrated segmentations
|
|
11924
12004
|
this._addSegmentationRepresentationToToolGroupIfNecessary(displaySetInstanceUIDs, viewport);
|
|
11925
12005
|
}
|
|
11926
|
-
const toolGroup = toolGroupService.getToolGroupForViewport(viewport.id);
|
|
11927
|
-
dist_esm.utilities.segmentation.triggerSegmentationRender(toolGroup.id);
|
|
11928
|
-
const imageIndex = this._getInitialImageIndexForViewport(viewportInfo);
|
|
11929
|
-
if (imageIndex !== undefined) {
|
|
11930
|
-
dist_esm.utilities.jumpToSlice(viewport.element, {
|
|
11931
|
-
imageIndex
|
|
11932
|
-
});
|
|
11933
|
-
}
|
|
11934
|
-
viewport.render();
|
|
11935
|
-
this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED, {
|
|
11936
|
-
viewportInfo
|
|
11937
|
-
});
|
|
11938
12006
|
}
|
|
11939
12007
|
_addSegmentationRepresentationToToolGroupIfNecessary(displaySetInstanceUIDs, viewport) {
|
|
11940
12008
|
const {
|
|
@@ -12631,9 +12699,9 @@ const id = package_namespaceObject.UU;
|
|
|
12631
12699
|
|
|
12632
12700
|
|
|
12633
12701
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/services/ViewportActionCornersService/ViewportActionCornersService.ts
|
|
12634
|
-
var ViewportActionCornersService = __webpack_require__(
|
|
12702
|
+
var ViewportActionCornersService = __webpack_require__(2447);
|
|
12635
12703
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/contextProviders/ViewportActionCornersProvider.tsx
|
|
12636
|
-
var ViewportActionCornersProvider = __webpack_require__(
|
|
12704
|
+
var ViewportActionCornersProvider = __webpack_require__(40684);
|
|
12637
12705
|
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
12638
12706
|
var lodash_debounce = __webpack_require__(14771);
|
|
12639
12707
|
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
@@ -13059,6 +13127,8 @@ function src_extends() { src_extends = Object.assign ? Object.assign.bind() : fu
|
|
|
13059
13127
|
|
|
13060
13128
|
|
|
13061
13129
|
|
|
13130
|
+
|
|
13131
|
+
|
|
13062
13132
|
|
|
13063
13133
|
|
|
13064
13134
|
|
|
@@ -13069,7 +13139,7 @@ const {
|
|
|
13069
13139
|
getDynamicVolumeInfo
|
|
13070
13140
|
} = volumeLoaderHelpers ?? {};
|
|
13071
13141
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
13072
|
-
return __webpack_require__.e(/* import() */
|
|
13142
|
+
return __webpack_require__.e(/* import() */ 139).then(__webpack_require__.bind(__webpack_require__, 56139));
|
|
13073
13143
|
});
|
|
13074
13144
|
const OHIFCornerstoneViewport = props => {
|
|
13075
13145
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -13210,14 +13280,14 @@ const cornerstoneExtension = {
|
|
|
13210
13280
|
|
|
13211
13281
|
/***/ }),
|
|
13212
13282
|
|
|
13213
|
-
/***/
|
|
13283
|
+
/***/ 2447:
|
|
13214
13284
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
13215
13285
|
|
|
13216
13286
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
13217
13287
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
13218
13288
|
/* harmony export */ });
|
|
13219
|
-
/* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
13220
|
-
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
13289
|
+
/* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75186);
|
|
13290
|
+
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79047);
|
|
13221
13291
|
var _ViewportActionCornersService;
|
|
13222
13292
|
|
|
13223
13293
|
|
|
@@ -13276,7 +13346,7 @@ ViewportActionCornersService.REGISTRATION = {
|
|
|
13276
13346
|
|
|
13277
13347
|
/***/ }),
|
|
13278
13348
|
|
|
13279
|
-
/***/
|
|
13349
|
+
/***/ 83910:
|
|
13280
13350
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
13281
13351
|
|
|
13282
13352
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -13318,7 +13388,7 @@ const reset = () => {
|
|
|
13318
13388
|
|
|
13319
13389
|
/***/ }),
|
|
13320
13390
|
|
|
13321
|
-
/***/
|
|
13391
|
+
/***/ 20928:
|
|
13322
13392
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
13323
13393
|
|
|
13324
13394
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -13334,12 +13404,26 @@ const reset = () => {
|
|
|
13334
13404
|
* @param {string} imageId The image id of the referenced image
|
|
13335
13405
|
* @returns
|
|
13336
13406
|
*/
|
|
13337
|
-
function getSOPInstanceAttributes(imageId) {
|
|
13407
|
+
function getSOPInstanceAttributes(imageId, displaySetService, annotation) {
|
|
13338
13408
|
if (imageId) {
|
|
13339
13409
|
return _getUIDFromImageID(imageId);
|
|
13340
13410
|
}
|
|
13341
|
-
|
|
13342
|
-
|
|
13411
|
+
const {
|
|
13412
|
+
metadata
|
|
13413
|
+
} = annotation;
|
|
13414
|
+
const {
|
|
13415
|
+
volumeId
|
|
13416
|
+
} = metadata;
|
|
13417
|
+
const displaySet = displaySetService.getDisplaySetsBy(displaySet => volumeId.includes(displaySet.uid))[0];
|
|
13418
|
+
const {
|
|
13419
|
+
StudyInstanceUID,
|
|
13420
|
+
SeriesInstanceUID
|
|
13421
|
+
} = displaySet;
|
|
13422
|
+
return {
|
|
13423
|
+
SOPInstanceUID: undefined,
|
|
13424
|
+
SeriesInstanceUID,
|
|
13425
|
+
StudyInstanceUID
|
|
13426
|
+
};
|
|
13343
13427
|
}
|
|
13344
13428
|
function _getUIDFromImageID(imageId) {
|
|
13345
13429
|
const instance = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.metaData.get('instance', imageId);
|