@ohif/app 3.8.0 → 3.8.2
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.77cc4e62d0de5d843e2e.js → 117.bundle.17ae130d2bb21ef9d31f.js} +75 -80
- package/dist/{121.bundle.47f05840a5b3cdf75543.js → 121.bundle.27d181784f24551bc546.js} +2 -1
- package/dist/{164.bundle.b101cb64d04a22453984.js → 164.bundle.e30009bee13acb6967da.js} +554 -311
- package/dist/{236.bundle.f774cdc955890e6cdac9.js → 236.bundle.79a374f5fdf7fde431f4.js} +753 -140
- package/dist/{188.bundle.f2b81ec70ae344f57183.js → 243.bundle.7891b41d969264043783.js} +8 -8
- package/dist/{325.bundle.5012b0285b6baadd1884.js → 325.bundle.bfb7de5a397beae16d24.js} +11 -11
- package/dist/{342.bundle.36ee082163b01284eeba.js → 342.bundle.17f0c50a27c0ba1f3846.js} +7 -0
- package/dist/{203.bundle.3581da3a32a0b720d3a7.js → 370.bundle.e4cd6c20d3496c949374.js} +614 -455
- package/dist/{448.bundle.35b8f8e262fa954026df.js → 448.bundle.375bbf6d00a23e35f229.js} +2 -2
- package/dist/{483.bundle.581b242d7b90866fdfb9.js → 483.bundle.016de3c3ec209d9fa42a.js} +16 -3
- package/dist/{487.bundle.79aff4db7df5f383b423.js → 487.bundle.205821cf073b4d0d2e71.js} +2 -2
- package/dist/{416.bundle.9b0d7559344fd02c9e08.js → 501.bundle.de519580f8ba42802378.js} +1206 -305
- package/dist/{530.bundle.207b38c15c4c01e4db0e.js → 530.bundle.17b9a34fefff133e5379.js} +3 -3
- package/dist/{544.bundle.3542927ec15c3f688c8d.js → 544.bundle.170c67e76a6900a9a644.js} +4 -4
- package/dist/{206.bundle.e1ea316389b21006d3df.js → 545.bundle.c9cc3bd30adc9904cf64.js} +28 -24
- package/dist/{321.bundle.39a76114e54cd9833c43.js → 550.bundle.53604ec87839bd9b4a49.js} +82 -49
- package/dist/{574.bundle.4b059c95cd34efdc9cb3.js → 574.bundle.b369b11b04c3e080f0b3.js} +40 -37
- package/dist/{41.bundle.64e0da470e235cfac4bb.js → 682.bundle.fdd752d2920107f695fb.js} +26 -6
- package/dist/{699.bundle.b9666b1d4ddf7e8577ee.js → 699.bundle.fee3d1c6609ecc557a9a.js} +32 -3
- package/dist/{669.bundle.64309c677c5ca188348c.js → 721.bundle.d01a6829ac9b0abef67d.js} +73 -73
- package/dist/{722.bundle.52eb61926d08a08793fe.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
- package/dist/{724.bundle.72aef9dfca69ae057d37.js → 776.bundle.bb8a64b917ff1e559734.js} +13 -15
- package/dist/{862.bundle.9897a9b748078d53f9ab.js → 862.bundle.59bb164ca7e871a33e44.js} +1 -1
- package/dist/{889.bundle.b6231f995fd098f7e3f9.js → 889.bundle.5b10c495e1442d648ffc.js} +8 -8
- package/dist/{905.bundle.cd3e2b347340dd47a1b0.js → 905.bundle.1ba21a0406473fc92696.js} +2 -2
- package/dist/{907.bundle.723a425dedf8147243d2.js → 907.bundle.b199f25916a94c4ebb97.js} +2 -2
- package/dist/{473.bundle.11f707c8170ade2eb56a.js → 914.bundle.2b3a856b7d41ac8298e6.js} +510 -272
- package/dist/{94.bundle.33ca3bc10aa42716dbbb.js → 94.bundle.ae3ca435b134c95aea2e.js} +38 -8
- package/dist/{961.bundle.2c4663737c970764a41e.js → 961.bundle.d1b25d8f354bde3be17c.js} +2 -2
- package/dist/{7.bundle.94692aed50fe4ba2e2f5.js → 981.bundle.808058a6555d322675e1.js} +15 -15
- package/dist/{594.bundle.c292423defd9581bfbe3.js → 989.bundle.b929ddc23c16980560de.js} +5 -5
- package/dist/{633.bundle.e258ba4843985e67336a.js → 998.bundle.df083f740270855652bd.js} +21 -20
- package/dist/app-config.js +5 -1
- package/dist/{app.bundle.a05edb830ad2ecd67aac.js → app.bundle.7fa3782f7fa236cc53a8.js} +791 -568
- package/dist/app.bundle.css +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/google.js +1 -0
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.4442dd3318266fddf4d0.js → polySeg.bundle.36ddebc98d8b109edf33.js} +3 -3
- package/dist/{suv-peak-worker.bundle.348c016f7f973d05f2d2.js → suv-peak-worker.bundle.f4df597fab47d977d7f3.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{321.css → 550.css} +0 -0
- /package/dist/{783.bundle.11d774eb13ffc74cdca5.js → 783.bundle.f4f09b94ebe4d1a466b1.js} +0 -0
- /package/dist/{633.css → 998.css} +0 -0
|
@@ -12,10 +12,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
12
12
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);
|
|
13
13
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41766);
|
|
14
14
|
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80619);
|
|
15
|
-
/* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
15
|
+
/* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8633);
|
|
16
16
|
/* harmony import */ var _tools_modules_dicomSRModule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74334);
|
|
17
17
|
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5085);
|
|
18
|
-
/* harmony import */ var _utils_hydrateStructuredReport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
18
|
+
/* harmony import */ var _utils_hydrateStructuredReport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31808);
|
|
19
19
|
/* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(15575);
|
|
20
20
|
/* harmony import */ var _utils_createReferencedImageDisplaySet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(92643);
|
|
21
21
|
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); }
|
|
@@ -330,7 +330,7 @@ OHIFCornerstoneSRViewport.propTypes = {
|
|
|
330
330
|
viewportLabel: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string),
|
|
331
331
|
customProps: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().object),
|
|
332
332
|
viewportOptions: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().object),
|
|
333
|
-
servicesManager: prop_types__WEBPACK_IMPORTED_MODULE_0___default().
|
|
333
|
+
servicesManager: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().object).isRequired,
|
|
334
334
|
extensionManager: prop_types__WEBPACK_IMPORTED_MODULE_0___default().instanceOf(_ohif_core__WEBPACK_IMPORTED_MODULE_3__/* .ExtensionManager */ .nH).isRequired
|
|
335
335
|
};
|
|
336
336
|
OHIFCornerstoneSRViewport.defaultProps = {
|
|
@@ -256,10 +256,10 @@ const itemGenerator = props => {
|
|
|
256
256
|
}, content.value)));
|
|
257
257
|
};
|
|
258
258
|
/* harmony default export */ const ViewportOverlay = (generateFromConfig({}));
|
|
259
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
260
|
-
var core_src = __webpack_require__(
|
|
261
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
262
|
-
var default_src = __webpack_require__(
|
|
259
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
260
|
+
var core_src = __webpack_require__(8633);
|
|
261
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 84 modules
|
|
262
|
+
var default_src = __webpack_require__(42545);
|
|
263
263
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/dicomWebClient.ts
|
|
264
264
|
|
|
265
265
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[545],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 42545:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -32,8 +32,8 @@ __webpack_require__.d(utils_namespaceObject, {
|
|
|
32
32
|
|
|
33
33
|
// EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
|
|
34
34
|
var dicomweb_client_es = __webpack_require__(36922);
|
|
35
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
36
|
-
var src = __webpack_require__(
|
|
35
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
36
|
+
var src = __webpack_require__(8633);
|
|
37
37
|
// EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
|
|
38
38
|
var sortStudy = __webpack_require__(45476);
|
|
39
39
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
|
|
@@ -1345,9 +1345,9 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1345
1345
|
return xhrRequestHeaders;
|
|
1346
1346
|
};
|
|
1347
1347
|
generateWadoHeader = () => {
|
|
1348
|
-
|
|
1348
|
+
const authorizationHeader = getAuthrorizationHeader();
|
|
1349
1349
|
//Generate accept header depending on config params
|
|
1350
|
-
|
|
1350
|
+
const formattedAcceptHeader = src.utils.generateAcceptHeader(dicomWebConfig.acceptHeader, dicomWebConfig.requestTransferSyntaxUID, dicomWebConfig.omitQuotationForMultipartRequest);
|
|
1351
1351
|
return {
|
|
1352
1352
|
...authorizationHeader,
|
|
1353
1353
|
Accept: formattedAcceptHeader
|
|
@@ -2253,7 +2253,7 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
2253
2253
|
return src/* IWebApiDataSource */.pt.create(implementation);
|
|
2254
2254
|
}
|
|
2255
2255
|
|
|
2256
|
-
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebProxyDataSource/index.
|
|
2256
|
+
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebProxyDataSource/index.ts
|
|
2257
2257
|
|
|
2258
2258
|
|
|
2259
2259
|
|
|
@@ -2280,7 +2280,7 @@ function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager) {
|
|
|
2280
2280
|
throw new Error(`No url for '${name}'`);
|
|
2281
2281
|
} else {
|
|
2282
2282
|
const response = await fetch(url);
|
|
2283
|
-
|
|
2283
|
+
const data = await response.json();
|
|
2284
2284
|
if (!data.servers?.dicomWeb?.[0]) {
|
|
2285
2285
|
throw new Error('Invalid configuration returned by url');
|
|
2286
2286
|
}
|
|
@@ -2750,8 +2750,8 @@ function ViewerHeader({
|
|
|
2750
2750
|
hotkeyDefinitions,
|
|
2751
2751
|
hotkeyDefaults
|
|
2752
2752
|
} = hotkeysManager;
|
|
2753
|
-
const versionNumber = "3.8.
|
|
2754
|
-
const commitHash = "
|
|
2753
|
+
const versionNumber = "3.8.2\n";
|
|
2754
|
+
const commitHash = "339299113c65b5ce4032b02b5b4043a8968107ed";
|
|
2755
2755
|
const menuOptions = [{
|
|
2756
2756
|
title: t('Header:About'),
|
|
2757
2757
|
icon: 'info',
|
|
@@ -3037,7 +3037,7 @@ ViewerLayout.propTypes = {
|
|
|
3037
3037
|
getModuleEntry: (prop_types_default()).func.isRequired
|
|
3038
3038
|
}).isRequired,
|
|
3039
3039
|
commandsManager: prop_types_default().instanceOf(src/* CommandsManager */.Sp),
|
|
3040
|
-
servicesManager: prop_types_default().
|
|
3040
|
+
servicesManager: (prop_types_default()).object.isRequired,
|
|
3041
3041
|
// From modes
|
|
3042
3042
|
leftPanels: (prop_types_default()).array,
|
|
3043
3043
|
rightPanels: (prop_types_default()).array,
|
|
@@ -4012,7 +4012,7 @@ function PanelMeasurementTable({
|
|
|
4012
4012
|
})));
|
|
4013
4013
|
}
|
|
4014
4014
|
PanelMeasurementTable.propTypes = {
|
|
4015
|
-
servicesManager: prop_types_default()
|
|
4015
|
+
servicesManager: (prop_types_default()).object.isRequired
|
|
4016
4016
|
};
|
|
4017
4017
|
function _getMappedMeasurements(measurementService) {
|
|
4018
4018
|
const measurements = measurementService.getMeasurements();
|
|
@@ -4744,7 +4744,6 @@ function ToolbarLayoutSelector_extends() { ToolbarLayoutSelector_extends = Objec
|
|
|
4744
4744
|
|
|
4745
4745
|
|
|
4746
4746
|
|
|
4747
|
-
|
|
4748
4747
|
const defaultCommonPresets = [{
|
|
4749
4748
|
icon: 'layout-common-1x1',
|
|
4750
4749
|
commandOptions: {
|
|
@@ -4856,6 +4855,7 @@ function LayoutSelector({
|
|
|
4856
4855
|
...rest
|
|
4857
4856
|
}) {
|
|
4858
4857
|
const [isOpen, setIsOpen] = (0,react.useState)(false);
|
|
4858
|
+
const dropdownRef = (0,react.useRef)(null);
|
|
4859
4859
|
const {
|
|
4860
4860
|
customizationService
|
|
4861
4861
|
} = servicesManager.services;
|
|
@@ -4863,15 +4863,21 @@ function LayoutSelector({
|
|
|
4863
4863
|
const advancedPresets = customizationService.get('advancedPresets') || generateAdvancedPresets({
|
|
4864
4864
|
servicesManager
|
|
4865
4865
|
});
|
|
4866
|
-
const closeOnOutsideClick =
|
|
4867
|
-
if (isOpen) {
|
|
4866
|
+
const closeOnOutsideClick = event => {
|
|
4867
|
+
if (isOpen && dropdownRef.current) {
|
|
4868
4868
|
setIsOpen(false);
|
|
4869
4869
|
}
|
|
4870
4870
|
};
|
|
4871
4871
|
(0,react.useEffect)(() => {
|
|
4872
|
-
|
|
4872
|
+
if (!isOpen) {
|
|
4873
|
+
return;
|
|
4874
|
+
}
|
|
4875
|
+
setTimeout(() => {
|
|
4876
|
+
window.addEventListener('click', closeOnOutsideClick);
|
|
4877
|
+
}, 0);
|
|
4873
4878
|
return () => {
|
|
4874
4879
|
window.removeEventListener('click', closeOnOutsideClick);
|
|
4880
|
+
dropdownRef.current = null;
|
|
4875
4881
|
};
|
|
4876
4882
|
}, [isOpen]);
|
|
4877
4883
|
const onInteractionHandler = () => {
|
|
@@ -4887,7 +4893,8 @@ function LayoutSelector({
|
|
|
4887
4893
|
rounded: rest.rounded,
|
|
4888
4894
|
disableToolTip: tooltipDisabled,
|
|
4889
4895
|
dropdownContent: DropdownContent !== null && /*#__PURE__*/react.createElement("div", {
|
|
4890
|
-
className: "flex
|
|
4896
|
+
className: "flex",
|
|
4897
|
+
ref: dropdownRef
|
|
4891
4898
|
}, /*#__PURE__*/react.createElement("div", {
|
|
4892
4899
|
className: "bg-secondary-dark flex flex-col gap-2.5 p-2"
|
|
4893
4900
|
}, /*#__PURE__*/react.createElement("div", {
|
|
@@ -4933,7 +4940,7 @@ LayoutSelector.propTypes = {
|
|
|
4933
4940
|
rows: (prop_types_default()).number,
|
|
4934
4941
|
columns: (prop_types_default()).number,
|
|
4935
4942
|
onLayoutChange: (prop_types_default()).func,
|
|
4936
|
-
servicesManager: prop_types_default().
|
|
4943
|
+
servicesManager: (prop_types_default()).object.isRequired
|
|
4937
4944
|
};
|
|
4938
4945
|
LayoutSelector.defaultProps = {
|
|
4939
4946
|
columns: 4,
|
|
@@ -5055,7 +5062,7 @@ function ToolbarButtonGroupWithServices({
|
|
|
5055
5062
|
return /*#__PURE__*/react.createElement(ui_src/* ButtonGroup */.e2, null, getSplitButtonItems(items));
|
|
5056
5063
|
}
|
|
5057
5064
|
/* harmony default export */ const Toolbar_ToolbarButtonGroupWithServices = (ToolbarButtonGroupWithServices);
|
|
5058
|
-
;// CONCATENATED MODULE: ../../../extensions/default/src/
|
|
5065
|
+
;// CONCATENATED MODULE: ../../../extensions/default/src/Components/ProgressDropdownWithService.tsx
|
|
5059
5066
|
|
|
5060
5067
|
|
|
5061
5068
|
const workflowStepsToDropdownOptions = (steps = []) => steps.map(step => ({
|
|
@@ -5136,9 +5143,6 @@ function ProgressDropdownWithService({
|
|
|
5136
5143
|
onChange: handleDropdownChange
|
|
5137
5144
|
});
|
|
5138
5145
|
}
|
|
5139
|
-
/* harmony default export */ const ProgressDropdownWithService_ProgressDropdownWithService = (ProgressDropdownWithService);
|
|
5140
|
-
;// CONCATENATED MODULE: ../../../extensions/default/src/components/ProgressDropdownWithService/index.js
|
|
5141
|
-
|
|
5142
5146
|
;// CONCATENATED MODULE: ../../../extensions/default/src/getToolbarModule.tsx
|
|
5143
5147
|
|
|
5144
5148
|
|
|
@@ -5179,7 +5183,7 @@ function getToolbarModule({
|
|
|
5179
5183
|
defaultComponent: Toolbar_ToolbarButtonGroupWithServices
|
|
5180
5184
|
}, {
|
|
5181
5185
|
name: 'ohif.progressDropdown',
|
|
5182
|
-
defaultComponent:
|
|
5186
|
+
defaultComponent: ProgressDropdownWithService
|
|
5183
5187
|
}, {
|
|
5184
5188
|
name: 'evaluate.group.promoteToPrimary',
|
|
5185
5189
|
evaluate: ({
|
|
@@ -7951,7 +7955,7 @@ function getCustomizationModule({
|
|
|
7951
7955
|
factory: dataSourceName => new GoogleCloudDataSourceConfigurationAPI(dataSourceName, servicesManager, extensionManager)
|
|
7952
7956
|
}, {
|
|
7953
7957
|
id: 'progressDropdownWithServiceComponent',
|
|
7954
|
-
component:
|
|
7958
|
+
component: ProgressDropdownWithService
|
|
7955
7959
|
}]
|
|
7956
7960
|
}];
|
|
7957
7961
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[550],{
|
|
3
3
|
|
|
4
4
|
/***/ 76255:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -141,7 +141,7 @@ const useViewportActionCornersContext = () => (0,react__WEBPACK_IMPORTED_MODULE_
|
|
|
141
141
|
|
|
142
142
|
/***/ }),
|
|
143
143
|
|
|
144
|
-
/***/
|
|
144
|
+
/***/ 550:
|
|
145
145
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
146
146
|
|
|
147
147
|
// ESM COMPAT FLAG
|
|
@@ -181,8 +181,8 @@ var esm = __webpack_require__(92136);
|
|
|
181
181
|
var dist_esm = __webpack_require__(39371);
|
|
182
182
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
|
|
183
183
|
var streaming_image_volume_loader_dist_esm = __webpack_require__(23722);
|
|
184
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
185
|
-
var src = __webpack_require__(
|
|
184
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
185
|
+
var src = __webpack_require__(8633);
|
|
186
186
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js
|
|
187
187
|
var cornerstoneDICOMImageLoader_min = __webpack_require__(54578);
|
|
188
188
|
var cornerstoneDICOMImageLoader_min_default = /*#__PURE__*/__webpack_require__.n(cornerstoneDICOMImageLoader_min);
|
|
@@ -3590,7 +3590,7 @@ const measurementServiceMappingsFactory = (measurementService, displaySetService
|
|
|
3590
3590
|
return factories;
|
|
3591
3591
|
};
|
|
3592
3592
|
/* harmony default export */ const measurementServiceMappings_measurementServiceMappingsFactory = (measurementServiceMappingsFactory);
|
|
3593
|
-
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/initMeasurementService.
|
|
3593
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/initMeasurementService.ts
|
|
3594
3594
|
|
|
3595
3595
|
|
|
3596
3596
|
|
|
@@ -4944,12 +4944,16 @@ async function init({
|
|
|
4944
4944
|
clearOnModeExit: true
|
|
4945
4945
|
});
|
|
4946
4946
|
const labelmapRepresentation = dist_esm.Enums.SegmentationRepresentations.Labelmap;
|
|
4947
|
+
const contourRepresentation = dist_esm.Enums.SegmentationRepresentations.Contour;
|
|
4947
4948
|
dist_esm.segmentation.config.setGlobalRepresentationConfig(labelmapRepresentation, {
|
|
4948
4949
|
fillAlpha: 0.5,
|
|
4949
4950
|
fillAlphaInactive: 0.2,
|
|
4950
4951
|
outlineOpacity: 1,
|
|
4951
4952
|
outlineOpacityInactive: 0.65
|
|
4952
4953
|
});
|
|
4954
|
+
dist_esm.segmentation.config.setGlobalRepresentationConfig(contourRepresentation, {
|
|
4955
|
+
renderFill: false
|
|
4956
|
+
});
|
|
4953
4957
|
const metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
|
|
4954
4958
|
esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.FC);
|
|
4955
4959
|
esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingDynamicImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingDynamicImageVolumeLoader */.Mr);
|
|
@@ -6068,7 +6072,7 @@ 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.
|
|
6075
|
+
downloadViewport.setViewPresentation(presentation);
|
|
6072
6076
|
downloadViewport.render();
|
|
6073
6077
|
});
|
|
6074
6078
|
});
|
|
@@ -8602,8 +8606,11 @@ const ToolGroupService_EVENTS = {
|
|
|
8602
8606
|
PRIMARY_TOOL_ACTIVATED: 'event::cornerstone::toolgroupservice:primarytoolactivated'
|
|
8603
8607
|
};
|
|
8604
8608
|
class ToolGroupService {
|
|
8605
|
-
constructor(
|
|
8606
|
-
this.
|
|
8609
|
+
constructor(servicesManager) {
|
|
8610
|
+
this.servicesManager = void 0;
|
|
8611
|
+
this.cornerstoneViewportService = void 0;
|
|
8612
|
+
this.viewportGridService = void 0;
|
|
8613
|
+
this.uiNotificationService = void 0;
|
|
8607
8614
|
this.toolGroupIds = new Set();
|
|
8608
8615
|
/**
|
|
8609
8616
|
* Service-specific
|
|
@@ -8631,7 +8638,7 @@ class ToolGroupService {
|
|
|
8631
8638
|
cornerstoneViewportService,
|
|
8632
8639
|
viewportGridService,
|
|
8633
8640
|
uiNotificationService
|
|
8634
|
-
} =
|
|
8641
|
+
} = servicesManager.services;
|
|
8635
8642
|
this.cornerstoneViewportService = cornerstoneViewportService;
|
|
8636
8643
|
this.viewportGridService = viewportGridService;
|
|
8637
8644
|
this.uiNotificationService = uiNotificationService;
|
|
@@ -8892,7 +8899,7 @@ const asSyncGroup = syncGroup => typeof syncGroup === 'string' ? {
|
|
|
8892
8899
|
type: syncGroup
|
|
8893
8900
|
} : syncGroup;
|
|
8894
8901
|
class SyncGroupService {
|
|
8895
|
-
constructor(
|
|
8902
|
+
constructor(servicesManager) {
|
|
8896
8903
|
this.servicesManager = void 0;
|
|
8897
8904
|
this.listeners = {};
|
|
8898
8905
|
this.EVENTS = void 0;
|
|
@@ -8906,7 +8913,7 @@ class SyncGroupService {
|
|
|
8906
8913
|
[IMAGE_SLICE]: dist_esm.synchronizers.createImageSliceSynchronizer
|
|
8907
8914
|
};
|
|
8908
8915
|
this.synchronizersByType = {};
|
|
8909
|
-
this.servicesManager =
|
|
8916
|
+
this.servicesManager = servicesManager;
|
|
8910
8917
|
this.listeners = {};
|
|
8911
8918
|
this.EVENTS = SyncGroupService_EVENTS;
|
|
8912
8919
|
//
|
|
@@ -9348,6 +9355,7 @@ class SegmentationService extends src/* PubSubService */.Rc {
|
|
|
9348
9355
|
};
|
|
9349
9356
|
this.addSegmentationRepresentationToToolGroup = async (toolGroupId, segmentationId, hydrateSegmentation = false, representationType = dist_esm.Enums.SegmentationRepresentations.Labelmap, suppressEvents = false) => {
|
|
9350
9357
|
const segmentation = this.getSegmentation(segmentationId);
|
|
9358
|
+
toolGroupId = toolGroupId || this._getApplicableToolGroupId();
|
|
9351
9359
|
if (!segmentation) {
|
|
9352
9360
|
throw new Error(`Segmentation with segmentationId ${segmentationId} not found.`);
|
|
9353
9361
|
}
|
|
@@ -10807,32 +10815,48 @@ class CornerstoneCacheService {
|
|
|
10807
10815
|
const newViewportData = await this._getVolumeViewportData(dataSource, displaySets, viewportData.viewportType);
|
|
10808
10816
|
return newViewportData;
|
|
10809
10817
|
}
|
|
10810
|
-
_getStackViewportData(dataSource, displaySets, initialImageIndex, viewportType) {
|
|
10811
|
-
|
|
10812
|
-
const
|
|
10818
|
+
async _getStackViewportData(dataSource, displaySets, initialImageIndex, viewportType) {
|
|
10819
|
+
const overlayDisplaySets = displaySets.filter(ds => ds.isOverlayDisplaySet);
|
|
10820
|
+
const nonOverlayDisplaySets = displaySets.filter(ds => !ds.isOverlayDisplaySet);
|
|
10821
|
+
|
|
10822
|
+
// load overlays if they are not loaded
|
|
10823
|
+
for (const overlayDisplaySet of overlayDisplaySets) {
|
|
10824
|
+
if (overlayDisplaySet.load && overlayDisplaySet.load instanceof Function) {
|
|
10825
|
+
const {
|
|
10826
|
+
userAuthenticationService
|
|
10827
|
+
} = this.servicesManager.services;
|
|
10828
|
+
const headers = userAuthenticationService.getAuthorizationHeader();
|
|
10829
|
+
await overlayDisplaySet.load({
|
|
10830
|
+
headers
|
|
10831
|
+
});
|
|
10832
|
+
}
|
|
10833
|
+
}
|
|
10834
|
+
const displaySet = nonOverlayDisplaySets[0];
|
|
10813
10835
|
let stackImageIds = this.stackImageIds.get(displaySet.displaySetInstanceUID);
|
|
10814
10836
|
if (!stackImageIds) {
|
|
10815
10837
|
stackImageIds = this._getCornerstoneStackImageIds(displaySet, dataSource);
|
|
10816
10838
|
this.stackImageIds.set(displaySet.displaySetInstanceUID, stackImageIds);
|
|
10817
10839
|
}
|
|
10818
|
-
|
|
10819
|
-
|
|
10820
|
-
|
|
10821
|
-
|
|
10822
|
-
|
|
10823
|
-
|
|
10824
|
-
|
|
10825
|
-
|
|
10840
|
+
|
|
10841
|
+
// Ensuring the first non-overlay `displaySet` is always the primary one
|
|
10842
|
+
const StackViewportData = [displaySet, ...overlayDisplaySets].map(ds => {
|
|
10843
|
+
const {
|
|
10844
|
+
displaySetInstanceUID,
|
|
10845
|
+
StudyInstanceUID,
|
|
10846
|
+
isCompositeStack
|
|
10847
|
+
} = ds;
|
|
10848
|
+
return {
|
|
10826
10849
|
StudyInstanceUID,
|
|
10827
10850
|
displaySetInstanceUID,
|
|
10828
10851
|
isCompositeStack,
|
|
10829
|
-
imageIds: stackImageIds
|
|
10830
|
-
|
|
10852
|
+
imageIds: stackImageIds,
|
|
10853
|
+
initialImageIndex
|
|
10854
|
+
};
|
|
10855
|
+
});
|
|
10856
|
+
return {
|
|
10857
|
+
viewportType,
|
|
10858
|
+
data: StackViewportData
|
|
10831
10859
|
};
|
|
10832
|
-
if (typeof initialImageIndex === 'number') {
|
|
10833
|
-
StackViewportData.data.initialImageIndex = initialImageIndex;
|
|
10834
|
-
}
|
|
10835
|
-
return StackViewportData;
|
|
10836
10860
|
}
|
|
10837
10861
|
async _getVolumeViewportData(dataSource, displaySets, viewportType) {
|
|
10838
10862
|
// Todo: Check the cache for multiple scenarios to see if we need to
|
|
@@ -11689,12 +11713,16 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11689
11713
|
}
|
|
11690
11714
|
async _setStackViewport(viewport, viewportData, viewportInfo, presentations = {}) {
|
|
11691
11715
|
const displaySetOptions = viewportInfo.getDisplaySetOptions();
|
|
11716
|
+
const displaySetInstanceUIDs = viewportData.data.map(data => data.displaySetInstanceUID);
|
|
11717
|
+
|
|
11718
|
+
// based on the cache service construct always the first one is the non-overlay
|
|
11719
|
+
// and the rest are overlays
|
|
11720
|
+
|
|
11721
|
+
this.viewportsDisplaySets.set(viewport.id, [...displaySetInstanceUIDs]);
|
|
11692
11722
|
const {
|
|
11693
|
-
imageIds,
|
|
11694
11723
|
initialImageIndex,
|
|
11695
|
-
|
|
11696
|
-
} = viewportData.data;
|
|
11697
|
-
this.viewportsDisplaySets.set(viewport.id, [displaySetInstanceUID]);
|
|
11724
|
+
imageIds
|
|
11725
|
+
} = viewportData.data[0];
|
|
11698
11726
|
let initialImageIndexToUse = presentations?.positionPresentation?.initialImageIndex ?? initialImageIndex;
|
|
11699
11727
|
if (initialImageIndexToUse === undefined || initialImageIndexToUse === null) {
|
|
11700
11728
|
initialImageIndexToUse = this._getInitialImageIndexForViewport(viewportInfo, imageIds) || 0;
|
|
@@ -11725,6 +11753,7 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11725
11753
|
properties.colormap = colormap;
|
|
11726
11754
|
}
|
|
11727
11755
|
}
|
|
11756
|
+
this._handleOverlays(viewport);
|
|
11728
11757
|
return viewport.setStack(imageIds, initialImageIndexToUse).then(() => {
|
|
11729
11758
|
viewport.setProperties({
|
|
11730
11759
|
...properties
|
|
@@ -11900,6 +11929,24 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11900
11929
|
viewport.setProperties(properties, volumeId);
|
|
11901
11930
|
});
|
|
11902
11931
|
this.setPresentations(viewport.id, presentations);
|
|
11932
|
+
this._handleOverlays(viewport);
|
|
11933
|
+
const toolGroup = toolGroupService.getToolGroupForViewport(viewport.id);
|
|
11934
|
+
dist_esm.utilities.segmentation.triggerSegmentationRender(toolGroup.id);
|
|
11935
|
+
const imageIndex = this._getInitialImageIndexForViewport(viewportInfo);
|
|
11936
|
+
if (imageIndex !== undefined) {
|
|
11937
|
+
dist_esm.utilities.jumpToSlice(viewport.element, {
|
|
11938
|
+
imageIndex
|
|
11939
|
+
});
|
|
11940
|
+
}
|
|
11941
|
+
viewport.render();
|
|
11942
|
+
this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED, {
|
|
11943
|
+
viewportInfo
|
|
11944
|
+
});
|
|
11945
|
+
}
|
|
11946
|
+
_handleOverlays(viewport) {
|
|
11947
|
+
const {
|
|
11948
|
+
displaySetService
|
|
11949
|
+
} = this.servicesManager.services;
|
|
11903
11950
|
|
|
11904
11951
|
// load any secondary displaySets
|
|
11905
11952
|
const displaySetInstanceUIDs = this.viewportsDisplaySets.get(viewport.id);
|
|
@@ -11916,18 +11963,6 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
11916
11963
|
// get segmentations only returns the hydrated segmentations
|
|
11917
11964
|
this._addSegmentationRepresentationToToolGroupIfNecessary(displaySetInstanceUIDs, viewport);
|
|
11918
11965
|
}
|
|
11919
|
-
const toolGroup = toolGroupService.getToolGroupForViewport(viewport.id);
|
|
11920
|
-
dist_esm.utilities.segmentation.triggerSegmentationRender(toolGroup.id);
|
|
11921
|
-
const imageIndex = this._getInitialImageIndexForViewport(viewportInfo);
|
|
11922
|
-
if (imageIndex !== undefined) {
|
|
11923
|
-
dist_esm.utilities.jumpToSlice(viewport.element, {
|
|
11924
|
-
imageIndex
|
|
11925
|
-
});
|
|
11926
|
-
}
|
|
11927
|
-
viewport.render();
|
|
11928
|
-
this._broadcastEvent(this.EVENTS.VIEWPORT_VOLUMES_CHANGED, {
|
|
11929
|
-
viewportInfo
|
|
11930
|
-
});
|
|
11931
11966
|
}
|
|
11932
11967
|
_addSegmentationRepresentationToToolGroupIfNecessary(displaySetInstanceUIDs, viewport) {
|
|
11933
11968
|
const {
|
|
@@ -12708,7 +12743,6 @@ const getViewportVolumeHistogram = async (viewport, volume, options) => {
|
|
|
12708
12743
|
|
|
12709
12744
|
|
|
12710
12745
|
|
|
12711
|
-
|
|
12712
12746
|
const {
|
|
12713
12747
|
Events
|
|
12714
12748
|
} = esm.Enums;
|
|
@@ -12998,7 +13032,7 @@ const ViewportWindowLevel = ({
|
|
|
12998
13032
|
}));
|
|
12999
13033
|
};
|
|
13000
13034
|
ViewportWindowLevel.propTypes = {
|
|
13001
|
-
servicesManager: prop_types_default().
|
|
13035
|
+
servicesManager: (prop_types_default()).object.isRequired,
|
|
13002
13036
|
viewportId: (prop_types_default()).string.isRequired
|
|
13003
13037
|
};
|
|
13004
13038
|
/* harmony default export */ const ViewportWindowLevel_ViewportWindowLevel = (ViewportWindowLevel);
|
|
@@ -13007,7 +13041,6 @@ ViewportWindowLevel.propTypes = {
|
|
|
13007
13041
|
|
|
13008
13042
|
|
|
13009
13043
|
|
|
13010
|
-
|
|
13011
13044
|
const ActiveViewportWindowLevel = ({
|
|
13012
13045
|
servicesManager
|
|
13013
13046
|
}) => {
|
|
@@ -13021,7 +13054,7 @@ const ActiveViewportWindowLevel = ({
|
|
|
13021
13054
|
}));
|
|
13022
13055
|
};
|
|
13023
13056
|
ActiveViewportWindowLevel.propTypes = {
|
|
13024
|
-
servicesManager: prop_types_default().
|
|
13057
|
+
servicesManager: (prop_types_default()).object.isRequired
|
|
13025
13058
|
};
|
|
13026
13059
|
/* harmony default export */ const ActiveViewportWindowLevel_ActiveViewportWindowLevel = (ActiveViewportWindowLevel);
|
|
13027
13060
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/ActiveViewportWindowLevel/index.js
|
|
@@ -13211,7 +13244,7 @@ const cornerstoneExtension = {
|
|
|
13211
13244
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
13212
13245
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
13213
13246
|
/* harmony export */ });
|
|
13214
|
-
/* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
13247
|
+
/* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8633);
|
|
13215
13248
|
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5085);
|
|
13216
13249
|
var _ViewportActionCornersService;
|
|
13217
13250
|
|