@ohif/app 3.9.0-beta.46 → 3.9.0-beta.48
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/031089e563a18ada8441.wasm +0 -0
- package/dist/{445.bundle.38c6d2af64e41cd7c614.js → 10.bundle.c626810bd199ab63f3a2.js} +3 -3
- package/dist/{501.bundle.2f703ca4598a3be0d748.js → 129.bundle.3102eccbd5c78524c3dd.js} +6036 -11592
- package/dist/{140.bundle.57e0e190f83d686c7d84.js → 153.bundle.c5c3111fa78764c5960d.js} +7 -4
- package/dist/{139.bundle.09e5af0a9ae8a285af77.js → 169.bundle.eeb9614e7b06f896c70f.js} +65 -535
- package/dist/{139.css → 169.css} +0 -1
- package/dist/{164.bundle.2b23bfbcb23497d7c87a.js → 196.bundle.cf8c2311aafb5312bbf7.js} +15562 -8539
- package/dist/{342.bundle.fcb2038060a062129d34.js → 202.bundle.bb0e8196739bb896dc9e.js} +238 -276
- package/dist/{129.bundle.ef2824b9d3145e620069.js → 210.bundle.8d89ad148ee420ac573f.js} +46 -46
- package/dist/{363.bundle.b09eeacf1db06eac578f.js → 217.bundle.2e3eceda916aa4ec4039.js} +2099 -195
- package/dist/{363.css → 217.css} +1 -0
- package/dist/{14.bundle.afc14c0e2e6bdb9c03fb.js → 246.bundle.1069b026e904b03943f0.js} +11 -11
- package/dist/250.bundle.4743b359797751102600.js +663 -0
- package/dist/{851.bundle.1d974a1affa602a3db35.js → 281.bundle.34009e8337141e4b8f26.js} +211 -243
- package/dist/{727.bundle.7b7f3962207601643615.js → 286.bundle.985c5ebbb2158c7e59ab.js} +4 -4
- package/dist/29.bundle.976319462f33868497c2.js +12347 -0
- package/dist/{675.bundle.c9720f40fd7c7e9b7e54.js → 315.bundle.92d7aefc4dc9cfd951bd.js} +18 -18
- package/dist/{218.bundle.0d88a96c091e70b87ada.js → 353.bundle.ed24422ba6b77b3a1e6d.js} +8 -8
- package/dist/{799.bundle.b0278dd5010f2cbdbac5.js → 360.bundle.8500a439cff45926abf1.js} +62 -62
- package/dist/{555.bundle.d731e79ced564bce2167.js → 372.bundle.c9a475b03f1490357165.js} +50 -50
- package/dist/{211.bundle.c99f8ae0fb317d76eb84.js → 376.bundle.9ce6f93540d667c57ef7.js} +8 -8
- package/dist/{612.bundle.297a033523539e0b47f9.js → 412.bundle.836f106f6e2896dc42a5.js} +4 -4
- package/dist/{931.bundle.058f8de4606f27b31f4f.js → 417.bundle.abf8bcee0f246002acb9.js} +25 -25
- package/dist/{370.bundle.bd9884c274c26a54dfae.js → 428.bundle.744fc5865b2d747de88a.js} +829 -1511
- package/dist/{483.bundle.0f1848f6a2cf34829fef.js → 497.bundle.ee102d6243f984113f08.js} +141 -141
- package/dist/{323.bundle.955cc8f5eb5c01295118.js → 498.bundle.bb47c493dd02451f77ef.js} +17 -17
- package/dist/{552.bundle.38207568073bcd238dda.js → 502.bundle.643d0af06b6c354537f5.js} +8 -9
- package/dist/{835.bundle.5d1951da8bbc6afdf3e0.js → 530.bundle.87f8b13ff55bf7b2a6d1.js} +28 -28
- package/dist/{121.bundle.8646909d0f76791d8aee.js → 552.bundle.ed2be5e57376b8c6cc68.js} +733 -62
- package/dist/{265.bundle.61b0e1ce9d444704a976.js → 571.bundle.a80609c9815339516d77.js} +24 -24
- package/dist/{853.bundle.beae65b8de389f8ee983.js → 591.bundle.c93fbabf5840b8f0ded3.js} +8 -8
- package/dist/604.bundle.83f50929b208c60e48da.js +1950 -0
- package/dist/610.min.worker.js +1 -1
- package/dist/610.min.worker.js.map +1 -1
- package/dist/{792.bundle.485ad2f98823a4b3feb1.js → 658.bundle.219ed199728759098008.js} +17 -17
- package/dist/{989.bundle.eec61b62860e730cf23d.js → 791.bundle.eb41e31a5bf389639612.js} +11 -11
- package/dist/{722.bundle.1242e0348afc63ca4f5e.js → 793.bundle.c92f52ddff0e3bf506e6.js} +13 -13
- package/dist/{914.bundle.e15be8089bf422ed7b51.js → 818.bundle.cda4e369fdee5459a544.js} +1239 -627
- package/dist/{726.bundle.90d63d40a19b058034ee.js → 831.bundle.9e1a3495947e5bb49756.js} +512 -512
- package/dist/{382.bundle.2788481abeaaf6afbca9.js → 842.bundle.76740a57f690e753802e.js} +11 -11
- package/dist/{806.bundle.3b50260239f93b7787b6.js → 888.bundle.36415d4c9c396df1b83d.js} +14 -14
- package/dist/{702.bundle.963481fbf871984b646f.js → 909.bundle.1fbb8bb4c41d0bb2994d.js} +119 -381
- package/dist/{109.bundle.b4fee2a22b622839baf5.js → 931.bundle.f6fa2a436ace89ebf60f.js} +5036 -4642
- package/dist/{141.bundle.556b4c1e4cab770417ac.js → 937.bundle.cc709c922731f9496810.js} +86 -478
- package/dist/{444.bundle.7adebacc6760f45bf58b.js → 944.bundle.eb9723ea5f0a42cf8aa0.js} +9 -10
- package/dist/945.min.worker.js +1 -1
- package/dist/945.min.worker.js.map +1 -1
- package/dist/{194.bundle.31de18ad9ea9b05f21ea.js → 962.bundle.e63d19fabce8b7d85974.js} +33 -37
- package/dist/{920.bundle.d7c555d415240c7d3829.js → 978.bundle.7c0b275e22e6060fc893.js} +6 -6
- package/dist/{236.bundle.34db90a140e37d34fd71.js → 993.bundle.aa31ebda5a5f62c44de5.js} +2363 -2351
- package/dist/{717.bundle.96160aa973fbb4cb3f1e.js → 994.bundle.23f3108d0dfc114db43f.js} +90 -164
- package/dist/app-config.js +2 -3
- package/dist/app.bundle.css +3 -3
- package/dist/{app.bundle.3551ec3a588fe3841a9d.js → app.bundle.ee7962276756acbd637e.js} +52547 -36094
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/dicom-microscopy-viewer/5004fdc02f329ce53b69.wasm +0 -0
- package/dist/dicom-microscopy-viewer/c22b37c3488e1d6c3aa4.wasm +0 -0
- package/dist/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js +3 -0
- package/dist/{dicomMicroscopyViewer.min.js.LICENSE.txt → dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.LICENSE.txt} +11 -0
- package/dist/dicom-microscopy-viewer/index.worker.min.worker.js +2 -0
- package/dist/dicom-microscopy-viewer/index.worker.min.worker.js.map +1 -0
- package/dist/{histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js → histogram-worker.bundle.e7e9fea2c3236b0e747a.js} +12 -16
- package/dist/index.html +1 -1
- package/dist/index.worker.5a5a581362c14598c3d9.worker.js +2 -0
- package/dist/index.worker.5a5a581362c14598c3d9.worker.js.map +1 -0
- package/dist/{polySeg.bundle.df492df5042827938ba4.js → polySeg.bundle.b25c61224998018d0f79.js} +24 -5
- package/dist/{suv-peak-worker.bundle.8f4b505fad3d371489fe.js → suv-peak-worker.bundle.eb11e71db02e52601ecf.js} +40 -21
- package/dist/sw.js +1 -1
- package/package.json +25 -33
- package/dist/117.bundle.1f7b56504d506e7259e3.js +0 -6552
- package/dist/172.bundle.19e8ff4bbcadcf7ec6ba.js +0 -662
- package/dist/36785fbd89b0e17f6099.wasm +0 -0
- package/dist/62ab5d58a2bea7b5a1dc.wasm +0 -0
- package/dist/644.bundle.1e77691d2eeb96a423b0.js +0 -19159
- package/dist/75a0c2dfe07b824c7d21.wasm +0 -0
- package/dist/dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js +0 -13
- package/dist/dicomMicroscopyViewer.min.js +0 -3
- package/dist/index.worker.f4bda803c15bc6359d5f.worker.js +0 -2
- package/dist/index.worker.f4bda803c15bc6359d5f.worker.js.map +0 -1
- package/dist/index.worker.min.worker.js +0 -2
- package/dist/index.worker.min.worker.js.map +0 -1
- /package/dist/{129.css → 210.css} +0 -0
- /package/dist/{727.css → 286.css} +0 -0
- /package/dist/{172.css → 552.css} +0 -0
- /package/dist/{404.css → 757.css} +0 -0
- /package/dist/{717.css → 994.css} +0 -0
- /package/dist/{65916ef3def695744bda.wasm → dicom-microscopy-viewer/65916ef3def695744bda.wasm} +0 -0
- /package/dist/{b6b803111e2d06a825bd.wasm → dicom-microscopy-viewer/b6b803111e2d06a825bd.wasm} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[281],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 32281:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -31,11 +31,11 @@ __webpack_require__.d(utils_namespaceObject, {
|
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
// EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
|
|
34
|
-
var dicomweb_client_es = __webpack_require__(
|
|
34
|
+
var dicomweb_client_es = __webpack_require__(97604);
|
|
35
35
|
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
36
|
-
var src = __webpack_require__(
|
|
36
|
+
var src = __webpack_require__(63810);
|
|
37
37
|
// EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
|
|
38
|
-
var sortStudy = __webpack_require__(
|
|
38
|
+
var sortStudy = __webpack_require__(9415);
|
|
39
39
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
|
|
40
40
|
/**
|
|
41
41
|
* QIDO - Query based on ID for DICOM Objects
|
|
@@ -126,7 +126,7 @@ function processSeriesResults(qidoSeries) {
|
|
|
126
126
|
description: getString(qidoSeries['0008103E'])
|
|
127
127
|
}));
|
|
128
128
|
}
|
|
129
|
-
(0,sortStudy/* sortStudySeries */.
|
|
129
|
+
(0,sortStudy/* sortStudySeries */.IO)(series);
|
|
130
130
|
return series;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -379,7 +379,7 @@ function getImageId({
|
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
381
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
382
|
-
var dcmjs_es = __webpack_require__(
|
|
382
|
+
var dcmjs_es = __webpack_require__(67540);
|
|
383
383
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoader.js
|
|
384
384
|
/**
|
|
385
385
|
* Class to define inheritance of load retrieve strategy.
|
|
@@ -631,9 +631,9 @@ class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader {
|
|
|
631
631
|
const sortFunction = this.sortFunction;
|
|
632
632
|
const {
|
|
633
633
|
naturalizeDataset
|
|
634
|
-
} = dcmjs_es
|
|
634
|
+
} = dcmjs_es["default"].data.DicomMetaDictionary;
|
|
635
635
|
const naturalized = result.map(naturalizeDataset);
|
|
636
|
-
return (0,sortStudy/* sortStudySeries */.
|
|
636
|
+
return (0,sortStudy/* sortStudySeries */.IO)(naturalized, sortCriteria, sortFunction);
|
|
637
637
|
}
|
|
638
638
|
async load(preLoadData) {
|
|
639
639
|
const {
|
|
@@ -906,7 +906,7 @@ function uint8ArrayToString(data, offset, length) {
|
|
|
906
906
|
|
|
907
907
|
const {
|
|
908
908
|
DICOMwebClient
|
|
909
|
-
} = dicomweb_client_es
|
|
909
|
+
} = dicomweb_client_es.api;
|
|
910
910
|
const anyDicomwebClient = DICOMwebClient;
|
|
911
911
|
|
|
912
912
|
// Ugly over-ride, but the internals aren't otherwise accessible.
|
|
@@ -929,7 +929,7 @@ if (!anyDicomwebClient._orig_buildMultipartAcceptHeaderFieldValue) {
|
|
|
929
929
|
* by manually implementing a query option.
|
|
930
930
|
*/
|
|
931
931
|
|
|
932
|
-
class StaticWadoClient extends dicomweb_client_es
|
|
932
|
+
class StaticWadoClient extends dicomweb_client_es.api.DICOMwebClient {
|
|
933
933
|
constructor(config) {
|
|
934
934
|
super(config);
|
|
935
935
|
this.config = void 0;
|
|
@@ -1352,7 +1352,7 @@ function fixBulkDataURI(value, instance, dicomWebConfig) {
|
|
|
1352
1352
|
const {
|
|
1353
1353
|
DicomMetaDictionary,
|
|
1354
1354
|
DicomDict
|
|
1355
|
-
} = dcmjs_es
|
|
1355
|
+
} = dcmjs_es["default"].data;
|
|
1356
1356
|
const {
|
|
1357
1357
|
naturalizeDataset,
|
|
1358
1358
|
denaturalizeDataset
|
|
@@ -1433,20 +1433,20 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1433
1433
|
staticWado: dicomWebConfig.staticWado,
|
|
1434
1434
|
singlepart: dicomWebConfig.singlepart,
|
|
1435
1435
|
headers: userAuthenticationService.getAuthorizationHeader(),
|
|
1436
|
-
errorInterceptor: src/* errorHandler */.
|
|
1436
|
+
errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
|
|
1437
1437
|
};
|
|
1438
1438
|
wadoConfig = {
|
|
1439
1439
|
url: dicomWebConfig.wadoRoot,
|
|
1440
1440
|
staticWado: dicomWebConfig.staticWado,
|
|
1441
1441
|
singlepart: dicomWebConfig.singlepart,
|
|
1442
1442
|
headers: userAuthenticationService.getAuthorizationHeader(),
|
|
1443
|
-
errorInterceptor: src/* errorHandler */.
|
|
1443
|
+
errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
|
|
1444
1444
|
};
|
|
1445
1445
|
|
|
1446
1446
|
// TODO -> Two clients sucks, but its better than 1000.
|
|
1447
1447
|
// TODO -> We'll need to merge auth later.
|
|
1448
|
-
qidoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es
|
|
1449
|
-
wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es
|
|
1448
|
+
qidoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es.api.DICOMwebClient(qidoConfig);
|
|
1449
|
+
wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es.api.DICOMwebClient(wadoConfig);
|
|
1450
1450
|
},
|
|
1451
1451
|
query: {
|
|
1452
1452
|
studies: {
|
|
@@ -1797,7 +1797,7 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1797
1797
|
if (dicomWebConfig.supportsReject) {
|
|
1798
1798
|
implementation.reject = dcm4cheeReject(dicomWebConfig.wadoRoot);
|
|
1799
1799
|
}
|
|
1800
|
-
return src/* IWebApiDataSource */.
|
|
1800
|
+
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
1801
1801
|
}
|
|
1802
1802
|
|
|
1803
1803
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomJSONDataSource/index.js
|
|
@@ -1805,7 +1805,7 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1805
1805
|
|
|
1806
1806
|
|
|
1807
1807
|
|
|
1808
|
-
const DicomJSONDataSource_metadataProvider = src
|
|
1808
|
+
const DicomJSONDataSource_metadataProvider = src["default"].classes.MetadataProvider;
|
|
1809
1809
|
const mappings = {
|
|
1810
1810
|
studyInstanceUid: 'StudyInstanceUID',
|
|
1811
1811
|
patientId: 'PatientID'
|
|
@@ -1832,7 +1832,7 @@ function wrapSequences(obj) {
|
|
|
1832
1832
|
acc[key] = obj[key];
|
|
1833
1833
|
}
|
|
1834
1834
|
if (key.endsWith('Sequence')) {
|
|
1835
|
-
acc[key] = src
|
|
1835
|
+
acc[key] = src["default"].utils.addAccessors(acc[key]);
|
|
1836
1836
|
}
|
|
1837
1837
|
return acc;
|
|
1838
1838
|
}, Array.isArray(obj) ? [] : {});
|
|
@@ -2077,14 +2077,14 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
2077
2077
|
return _store.studyInstanceUIDMap.get(url);
|
|
2078
2078
|
}
|
|
2079
2079
|
};
|
|
2080
|
-
return src/* IWebApiDataSource */.
|
|
2080
|
+
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
2081
2081
|
}
|
|
2082
2082
|
|
|
2083
2083
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomLocalDataSource/index.js
|
|
2084
2084
|
|
|
2085
2085
|
|
|
2086
2086
|
|
|
2087
|
-
const DicomLocalDataSource_metadataProvider = src
|
|
2087
|
+
const DicomLocalDataSource_metadataProvider = src["default"].classes.MetadataProvider;
|
|
2088
2088
|
const {
|
|
2089
2089
|
EVENTS
|
|
2090
2090
|
} = src.DicomMetadataStore;
|
|
@@ -2256,7 +2256,7 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
2256
2256
|
},
|
|
2257
2257
|
store: {
|
|
2258
2258
|
dicom: naturalizedReport => {
|
|
2259
|
-
const reportBlob = dcmjs_es
|
|
2259
|
+
const reportBlob = dcmjs_es["default"].data.datasetToBlob(naturalizedReport);
|
|
2260
2260
|
|
|
2261
2261
|
//Create a URL for the binary.
|
|
2262
2262
|
var objectUrl = URL.createObjectURL(reportBlob);
|
|
@@ -2331,7 +2331,7 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
2331
2331
|
return isStudyInCache ? StudyInstanceUIDsAsArray : [];
|
|
2332
2332
|
}
|
|
2333
2333
|
};
|
|
2334
|
-
return src/* IWebApiDataSource */.
|
|
2334
|
+
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
2335
2335
|
}
|
|
2336
2336
|
|
|
2337
2337
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebProxyDataSource/index.ts
|
|
@@ -2410,11 +2410,11 @@ function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager) {
|
|
|
2410
2410
|
return studyInstanceUIDs;
|
|
2411
2411
|
}
|
|
2412
2412
|
};
|
|
2413
|
-
return src/* IWebApiDataSource */.
|
|
2413
|
+
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
2414
2414
|
}
|
|
2415
2415
|
|
|
2416
2416
|
// EXTERNAL MODULE: ../../../node_modules/lodash/lodash.js
|
|
2417
|
-
var lodash = __webpack_require__(
|
|
2417
|
+
var lodash = __webpack_require__(44379);
|
|
2418
2418
|
;// CONCATENATED MODULE: ../../../extensions/default/src/MergeDataSource/index.ts
|
|
2419
2419
|
|
|
2420
2420
|
|
|
@@ -2681,7 +2681,7 @@ function createMergeDataSourceApi(mergeConfig, servicesManager, extensionManager
|
|
|
2681
2681
|
defaultDataSourceName
|
|
2682
2682
|
})
|
|
2683
2683
|
};
|
|
2684
|
-
return src/* IWebApiDataSource */.
|
|
2684
|
+
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
2685
2685
|
}
|
|
2686
2686
|
|
|
2687
2687
|
;// CONCATENATED MODULE: ../../../extensions/default/src/getDataSourcesModule.js
|
|
@@ -2723,24 +2723,24 @@ function getDataSourcesModule() {
|
|
|
2723
2723
|
}
|
|
2724
2724
|
/* harmony default export */ const src_getDataSourcesModule = (getDataSourcesModule);
|
|
2725
2725
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
2726
|
-
var react = __webpack_require__(
|
|
2726
|
+
var react = __webpack_require__(43001);
|
|
2727
2727
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
2728
|
-
var prop_types = __webpack_require__(
|
|
2728
|
+
var prop_types = __webpack_require__(3827);
|
|
2729
2729
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
2730
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
2731
|
-
var ui_src = __webpack_require__(
|
|
2730
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
|
|
2731
|
+
var ui_src = __webpack_require__(38604);
|
|
2732
2732
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
2733
|
-
var state = __webpack_require__(
|
|
2733
|
+
var state = __webpack_require__(52490);
|
|
2734
2734
|
// EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
|
|
2735
|
-
var dist = __webpack_require__(
|
|
2735
|
+
var dist = __webpack_require__(62474);
|
|
2736
2736
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
2737
|
-
var es = __webpack_require__(
|
|
2737
|
+
var es = __webpack_require__(69190);
|
|
2738
2738
|
// EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
|
|
2739
|
-
var react_router_dist = __webpack_require__(
|
|
2739
|
+
var react_router_dist = __webpack_require__(85066);
|
|
2740
2740
|
// EXTERNAL MODULE: ../../i18n/src/index.js + 150 modules
|
|
2741
|
-
var i18n_src = __webpack_require__(
|
|
2741
|
+
var i18n_src = __webpack_require__(91629);
|
|
2742
2742
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Toolbar/Toolbar.tsx
|
|
2743
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
2743
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2744
2744
|
|
|
2745
2745
|
|
|
2746
2746
|
function Toolbar({
|
|
@@ -2750,7 +2750,7 @@ function Toolbar({
|
|
|
2750
2750
|
const {
|
|
2751
2751
|
toolbarButtons,
|
|
2752
2752
|
onInteraction
|
|
2753
|
-
} = (0,src/* useToolbar */.
|
|
2753
|
+
} = (0,src/* useToolbar */.Sm)({
|
|
2754
2754
|
servicesManager,
|
|
2755
2755
|
buttonSection
|
|
2756
2756
|
});
|
|
@@ -2790,15 +2790,15 @@ const {
|
|
|
2790
2790
|
availableLanguages,
|
|
2791
2791
|
defaultLanguage,
|
|
2792
2792
|
currentLanguage
|
|
2793
|
-
} = i18n_src
|
|
2793
|
+
} = i18n_src["default"];
|
|
2794
2794
|
function ViewerHeader({
|
|
2795
2795
|
hotkeysManager,
|
|
2796
2796
|
extensionManager,
|
|
2797
2797
|
servicesManager,
|
|
2798
2798
|
appConfig
|
|
2799
2799
|
}) {
|
|
2800
|
-
const navigate = (0,dist/* useNavigate */.
|
|
2801
|
-
const location = (0,react_router_dist/* useLocation */.
|
|
2800
|
+
const navigate = (0,dist/* useNavigate */.s0)();
|
|
2801
|
+
const location = (0,react_router_dist/* useLocation */.TH)();
|
|
2802
2802
|
const onClickReturnButton = () => {
|
|
2803
2803
|
const {
|
|
2804
2804
|
pathname
|
|
@@ -2822,22 +2822,22 @@ function ViewerHeader({
|
|
|
2822
2822
|
};
|
|
2823
2823
|
const {
|
|
2824
2824
|
t
|
|
2825
|
-
} = (0,es/* useTranslation
|
|
2825
|
+
} = (0,es/* useTranslation */.$G)();
|
|
2826
2826
|
const {
|
|
2827
2827
|
show,
|
|
2828
2828
|
hide
|
|
2829
|
-
} = (0,ui_src/* useModal */.
|
|
2829
|
+
} = (0,ui_src/* useModal */.dd)();
|
|
2830
2830
|
const {
|
|
2831
2831
|
hotkeyDefinitions,
|
|
2832
2832
|
hotkeyDefaults
|
|
2833
2833
|
} = hotkeysManager;
|
|
2834
|
-
const versionNumber = "3.9.0-beta.
|
|
2835
|
-
const commitHash = "
|
|
2834
|
+
const versionNumber = "3.9.0-beta.48";
|
|
2835
|
+
const commitHash = "c9cc37258155adf3624bfe505728f35c136a262e";
|
|
2836
2836
|
const menuOptions = [{
|
|
2837
2837
|
title: t('Header:About'),
|
|
2838
2838
|
icon: 'info',
|
|
2839
2839
|
onClick: () => show({
|
|
2840
|
-
content: ui_src/* AboutModal */.
|
|
2840
|
+
content: ui_src/* AboutModal */.tk,
|
|
2841
2841
|
title: t('AboutModal:About OHIF Viewer'),
|
|
2842
2842
|
contentProps: {
|
|
2843
2843
|
versionNumber,
|
|
@@ -2850,7 +2850,7 @@ function ViewerHeader({
|
|
|
2850
2850
|
icon: 'settings',
|
|
2851
2851
|
onClick: () => show({
|
|
2852
2852
|
title: t('UserPreferencesModal:User preferences'),
|
|
2853
|
-
content: ui_src/* UserPreferences */.
|
|
2853
|
+
content: ui_src/* UserPreferences */.i1,
|
|
2854
2854
|
containerDimensions: 'w-[70%] max-w-[900px]',
|
|
2855
2855
|
contentProps: {
|
|
2856
2856
|
hotkeyDefaults: hotkeysManager.getValidHotkeyDefinitions(hotkeyDefaults),
|
|
@@ -2859,8 +2859,8 @@ function ViewerHeader({
|
|
|
2859
2859
|
availableLanguages,
|
|
2860
2860
|
defaultLanguage,
|
|
2861
2861
|
onCancel: () => {
|
|
2862
|
-
src/* hotkeys */.
|
|
2863
|
-
src/* hotkeys */.
|
|
2862
|
+
src/* hotkeys */.dD.stopRecord();
|
|
2863
|
+
src/* hotkeys */.dD.unpause();
|
|
2864
2864
|
hide();
|
|
2865
2865
|
},
|
|
2866
2866
|
onSubmit: ({
|
|
@@ -2868,13 +2868,13 @@ function ViewerHeader({
|
|
|
2868
2868
|
language
|
|
2869
2869
|
}) => {
|
|
2870
2870
|
if (language.value !== currentLanguage().value) {
|
|
2871
|
-
i18n_src
|
|
2871
|
+
i18n_src["default"].changeLanguage(language.value);
|
|
2872
2872
|
}
|
|
2873
2873
|
hotkeysManager.setHotkeys(hotkeyDefinitions);
|
|
2874
2874
|
hide();
|
|
2875
2875
|
},
|
|
2876
2876
|
onReset: () => hotkeysManager.restoreDefaultBindings(),
|
|
2877
|
-
hotkeysModule: src/* hotkeys */.
|
|
2877
|
+
hotkeysModule: src/* hotkeys */.dD
|
|
2878
2878
|
}
|
|
2879
2879
|
})
|
|
2880
2880
|
}];
|
|
@@ -2887,7 +2887,7 @@ function ViewerHeader({
|
|
|
2887
2887
|
}
|
|
2888
2888
|
});
|
|
2889
2889
|
}
|
|
2890
|
-
return /*#__PURE__*/react.createElement(ui_src/* Header */.
|
|
2890
|
+
return /*#__PURE__*/react.createElement(ui_src/* Header */.h4, {
|
|
2891
2891
|
menuOptions: menuOptions,
|
|
2892
2892
|
isReturnEnabled: !!appConfig.showStudyList,
|
|
2893
2893
|
onClickReturnButton: onClickReturnButton,
|
|
@@ -2899,7 +2899,7 @@ function ViewerHeader({
|
|
|
2899
2899
|
buttonSection: "secondary"
|
|
2900
2900
|
}),
|
|
2901
2901
|
appConfig: appConfig
|
|
2902
|
-
}, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.
|
|
2902
|
+
}, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
|
|
2903
2903
|
context: "Primary Toolbar"
|
|
2904
2904
|
}, /*#__PURE__*/react.createElement("div", {
|
|
2905
2905
|
className: "relative flex justify-center gap-[4px]"
|
|
@@ -2909,7 +2909,7 @@ function ViewerHeader({
|
|
|
2909
2909
|
}
|
|
2910
2910
|
/* harmony default export */ const ViewerLayout_ViewerHeader = (ViewerHeader);
|
|
2911
2911
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Components/SidePanelWithServices.tsx
|
|
2912
|
-
function SidePanelWithServices_extends() { SidePanelWithServices_extends = Object.assign ? Object.assign.bind() : function (
|
|
2912
|
+
function SidePanelWithServices_extends() { return SidePanelWithServices_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, SidePanelWithServices_extends.apply(null, arguments); }
|
|
2913
2913
|
|
|
2914
2914
|
|
|
2915
2915
|
const SidePanelWithServices = ({
|
|
@@ -2966,7 +2966,7 @@ const SidePanelWithServices = ({
|
|
|
2966
2966
|
activatePanelSubscription.unsubscribe();
|
|
2967
2967
|
};
|
|
2968
2968
|
}, [tabs, hasBeenOpened, panelService]);
|
|
2969
|
-
return /*#__PURE__*/react.createElement(ui_src/* SidePanel */.
|
|
2969
|
+
return /*#__PURE__*/react.createElement(ui_src/* SidePanel */.hs, SidePanelWithServices_extends({}, props, {
|
|
2970
2970
|
side: side,
|
|
2971
2971
|
tabs: tabs,
|
|
2972
2972
|
activeTabIndex: activeTabIndex,
|
|
@@ -2996,7 +2996,7 @@ function ViewerLayout({
|
|
|
2996
2996
|
leftPanelClosed = false,
|
|
2997
2997
|
rightPanelClosed = false
|
|
2998
2998
|
}) {
|
|
2999
|
-
const [appConfig] = (0,state/* useAppConfig */.
|
|
2999
|
+
const [appConfig] = (0,state/* useAppConfig */.M)();
|
|
3000
3000
|
const {
|
|
3001
3001
|
panelService,
|
|
3002
3002
|
hangingProtocolService
|
|
@@ -3034,7 +3034,7 @@ function ViewerLayout({
|
|
|
3034
3034
|
(0,react.useEffect)(() => {
|
|
3035
3035
|
const {
|
|
3036
3036
|
unsubscribe
|
|
3037
|
-
} = hangingProtocolService.subscribe(src/* HangingProtocolService */.
|
|
3037
|
+
} = hangingProtocolService.subscribe(src/* HangingProtocolService */.hy.EVENTS.PROTOCOL_CHANGED,
|
|
3038
3038
|
// Todo: right now to set the loading indicator to false, we need to wait for the
|
|
3039
3039
|
// hangingProtocolService to finish applying the viewport matching to each viewport,
|
|
3040
3040
|
// however, this might not be the only approach to set the loading indicator to false. we need to explore this further.
|
|
@@ -3084,9 +3084,9 @@ function ViewerLayout({
|
|
|
3084
3084
|
style: {
|
|
3085
3085
|
height: 'calc(100vh - 52px'
|
|
3086
3086
|
}
|
|
3087
|
-
}, /*#__PURE__*/react.createElement(react.Fragment, null, showLoadingIndicator && /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.
|
|
3087
|
+
}, /*#__PURE__*/react.createElement(react.Fragment, null, showLoadingIndicator && /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.LE, {
|
|
3088
3088
|
className: "h-full w-full bg-black"
|
|
3089
|
-
}), hasLeftPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.
|
|
3089
|
+
}), hasLeftPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
|
|
3090
3090
|
context: "Left Panel"
|
|
3091
3091
|
}, /*#__PURE__*/react.createElement(Components_SidePanelWithServices, {
|
|
3092
3092
|
side: "left",
|
|
@@ -3096,19 +3096,19 @@ function ViewerLayout({
|
|
|
3096
3096
|
className: "flex h-full flex-1 flex-col"
|
|
3097
3097
|
}, /*#__PURE__*/react.createElement("div", {
|
|
3098
3098
|
className: "relative flex h-full flex-1 items-center justify-center overflow-hidden bg-black"
|
|
3099
|
-
}, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.
|
|
3099
|
+
}, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
|
|
3100
3100
|
context: "Grid"
|
|
3101
3101
|
}, /*#__PURE__*/react.createElement(ViewportGridComp, {
|
|
3102
3102
|
servicesManager: servicesManager,
|
|
3103
3103
|
viewportComponents: viewportComponents,
|
|
3104
3104
|
commandsManager: commandsManager
|
|
3105
|
-
})))), hasRightPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.
|
|
3105
|
+
})))), hasRightPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
|
|
3106
3106
|
context: "Right Panel"
|
|
3107
3107
|
}, /*#__PURE__*/react.createElement(Components_SidePanelWithServices, {
|
|
3108
3108
|
side: "right",
|
|
3109
3109
|
activeTabIndex: rightPanelClosedState ? null : 0,
|
|
3110
3110
|
servicesManager: servicesManager
|
|
3111
|
-
})) : null)), /*#__PURE__*/react.createElement(ui_src/* InvestigationalUseDialog */.
|
|
3111
|
+
})) : null)), /*#__PURE__*/react.createElement(ui_src/* InvestigationalUseDialog */.NE, {
|
|
3112
3112
|
dialogConfiguration: appConfig?.investigationalUseDialog
|
|
3113
3113
|
}));
|
|
3114
3114
|
}
|
|
@@ -3117,7 +3117,7 @@ ViewerLayout.propTypes = {
|
|
|
3117
3117
|
extensionManager: prop_types_default().shape({
|
|
3118
3118
|
getModuleEntry: (prop_types_default()).func.isRequired
|
|
3119
3119
|
}).isRequired,
|
|
3120
|
-
commandsManager: prop_types_default().instanceOf(src/* CommandsManager */.
|
|
3120
|
+
commandsManager: prop_types_default().instanceOf(src/* CommandsManager */.HQ),
|
|
3121
3121
|
servicesManager: (prop_types_default()).object.isRequired,
|
|
3122
3122
|
// From modes
|
|
3123
3123
|
leftPanels: (prop_types_default()).array,
|
|
@@ -3169,7 +3169,8 @@ ViewerLayout.propTypes = {
|
|
|
3169
3169
|
|
|
3170
3170
|
const {
|
|
3171
3171
|
sortStudyInstances,
|
|
3172
|
-
formatDate
|
|
3172
|
+
formatDate,
|
|
3173
|
+
createStudyBrowserTabs
|
|
3173
3174
|
} = src.utils;
|
|
3174
3175
|
|
|
3175
3176
|
/**
|
|
@@ -3188,19 +3189,19 @@ function PanelStudyBrowser({
|
|
|
3188
3189
|
displaySetService,
|
|
3189
3190
|
uiNotificationService
|
|
3190
3191
|
} = servicesManager.services;
|
|
3191
|
-
const navigate = (0,dist/* useNavigate */.
|
|
3192
|
+
const navigate = (0,dist/* useNavigate */.s0)();
|
|
3192
3193
|
|
|
3193
3194
|
// Normally you nest the components so the tree isn't so deep, and the data
|
|
3194
3195
|
// doesn't have to have such an intense shape. This works well enough for now.
|
|
3195
3196
|
// Tabs --> Studies --> DisplaySets --> Thumbnails
|
|
3196
3197
|
const {
|
|
3197
3198
|
StudyInstanceUIDs
|
|
3198
|
-
} = (0,ui_src/* useImageViewer */.
|
|
3199
|
+
} = (0,ui_src/* useImageViewer */.zG)();
|
|
3199
3200
|
const [{
|
|
3200
3201
|
activeViewportId,
|
|
3201
3202
|
viewports,
|
|
3202
3203
|
isHangingProtocolLayout
|
|
3203
|
-
}, viewportGridService] = (0,ui_src/* useViewportGrid */.
|
|
3204
|
+
}, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
|
|
3204
3205
|
const [activeTabName, setActiveTabName] = (0,react.useState)('primary');
|
|
3205
3206
|
const [expandedStudyInstanceUIDs, setExpandedStudyInstanceUIDs] = (0,react.useState)([...StudyInstanceUIDs]);
|
|
3206
3207
|
const [studyDisplayList, setStudyDisplayList] = (0,react.useState)([]);
|
|
@@ -3351,7 +3352,7 @@ function PanelStudyBrowser({
|
|
|
3351
3352
|
SubscriptionDisplaySetMetaDataInvalidated.unsubscribe();
|
|
3352
3353
|
};
|
|
3353
3354
|
}, [StudyInstanceUIDs, thumbnailImageSrcMap, displaySetService]);
|
|
3354
|
-
const tabs =
|
|
3355
|
+
const tabs = createStudyBrowserTabs(StudyInstanceUIDs, studyDisplayList, displaySets);
|
|
3355
3356
|
|
|
3356
3357
|
// TODO: Should not fire this on "close"
|
|
3357
3358
|
function _handleStudyClick(StudyInstanceUID) {
|
|
@@ -3366,7 +3367,7 @@ function PanelStudyBrowser({
|
|
|
3366
3367
|
}
|
|
3367
3368
|
}
|
|
3368
3369
|
const activeDisplaySetInstanceUIDs = viewports.get(activeViewportId)?.displaySetInstanceUIDs;
|
|
3369
|
-
return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.
|
|
3370
|
+
return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.eX, {
|
|
3370
3371
|
tabs: tabs,
|
|
3371
3372
|
servicesManager: servicesManager,
|
|
3372
3373
|
activeTabName: activeTabName,
|
|
@@ -3449,51 +3450,6 @@ function _getComponentType(ds) {
|
|
|
3449
3450
|
}
|
|
3450
3451
|
return 'thumbnail';
|
|
3451
3452
|
}
|
|
3452
|
-
|
|
3453
|
-
/**
|
|
3454
|
-
*
|
|
3455
|
-
* @param {string[]} primaryStudyInstanceUIDs
|
|
3456
|
-
* @param {object[]} studyDisplayList
|
|
3457
|
-
* @param {string} studyDisplayList.studyInstanceUid
|
|
3458
|
-
* @param {string} studyDisplayList.date
|
|
3459
|
-
* @param {string} studyDisplayList.description
|
|
3460
|
-
* @param {string} studyDisplayList.modalities
|
|
3461
|
-
* @param {number} studyDisplayList.numInstances
|
|
3462
|
-
* @param {object[]} displaySets
|
|
3463
|
-
* @returns tabs - The prop object expected by the StudyBrowser component
|
|
3464
|
-
*/
|
|
3465
|
-
function _createStudyBrowserTabs(primaryStudyInstanceUIDs, studyDisplayList, displaySets) {
|
|
3466
|
-
const primaryStudies = [];
|
|
3467
|
-
const recentStudies = [];
|
|
3468
|
-
const allStudies = [];
|
|
3469
|
-
studyDisplayList.forEach(study => {
|
|
3470
|
-
const displaySetsForStudy = displaySets.filter(ds => ds.StudyInstanceUID === study.studyInstanceUid);
|
|
3471
|
-
const tabStudy = Object.assign({}, study, {
|
|
3472
|
-
displaySets: displaySetsForStudy
|
|
3473
|
-
});
|
|
3474
|
-
if (primaryStudyInstanceUIDs.includes(study.studyInstanceUid)) {
|
|
3475
|
-
primaryStudies.push(tabStudy);
|
|
3476
|
-
} else {
|
|
3477
|
-
// TODO: Filter allStudies to dates within one year of current date
|
|
3478
|
-
recentStudies.push(tabStudy);
|
|
3479
|
-
allStudies.push(tabStudy);
|
|
3480
|
-
}
|
|
3481
|
-
});
|
|
3482
|
-
const tabs = [{
|
|
3483
|
-
name: 'primary',
|
|
3484
|
-
label: 'Primary',
|
|
3485
|
-
studies: primaryStudies
|
|
3486
|
-
}, {
|
|
3487
|
-
name: 'recent',
|
|
3488
|
-
label: 'Recent',
|
|
3489
|
-
studies: recentStudies
|
|
3490
|
-
}, {
|
|
3491
|
-
name: 'all',
|
|
3492
|
-
label: 'All',
|
|
3493
|
-
studies: allStudies
|
|
3494
|
-
}];
|
|
3495
|
-
return tabs;
|
|
3496
|
-
}
|
|
3497
3453
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Panels/getImageSrcFromImageId.js
|
|
3498
3454
|
/**
|
|
3499
3455
|
* @param {*} cornerstone
|
|
@@ -3598,7 +3554,7 @@ WrappedPanelStudyBrowser.propTypes = {
|
|
|
3598
3554
|
};
|
|
3599
3555
|
/* harmony default export */ const Panels_WrappedPanelStudyBrowser = (WrappedPanelStudyBrowser);
|
|
3600
3556
|
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
3601
|
-
var lodash_debounce = __webpack_require__(
|
|
3557
|
+
var lodash_debounce = __webpack_require__(8324);
|
|
3602
3558
|
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
3603
3559
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Panels/createReportDialogPrompt.tsx
|
|
3604
3560
|
|
|
@@ -3668,7 +3624,7 @@ function CreateReportDialogPrompt(uiDialogService, {
|
|
|
3668
3624
|
dialogId = uiDialogService.create({
|
|
3669
3625
|
centralize: true,
|
|
3670
3626
|
isDraggable: false,
|
|
3671
|
-
content: ui_src/* Dialog */.
|
|
3627
|
+
content: ui_src/* Dialog */.Vq,
|
|
3672
3628
|
useLastPosition: false,
|
|
3673
3629
|
showOverlay: true,
|
|
3674
3630
|
contentProps: {
|
|
@@ -3682,11 +3638,11 @@ function CreateReportDialogPrompt(uiDialogService, {
|
|
|
3682
3638
|
actions: [{
|
|
3683
3639
|
id: 'cancel',
|
|
3684
3640
|
text: 'Cancel',
|
|
3685
|
-
type: ui_src/* ButtonEnums.type */.
|
|
3641
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
|
|
3686
3642
|
}, {
|
|
3687
3643
|
id: 'save',
|
|
3688
3644
|
text: 'Save',
|
|
3689
|
-
type: ui_src/* ButtonEnums.type */.
|
|
3645
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary
|
|
3690
3646
|
}],
|
|
3691
3647
|
// TODO: Should be on button press...
|
|
3692
3648
|
onSubmit: _handleFormSubmit,
|
|
@@ -3714,7 +3670,7 @@ function CreateReportDialogPrompt(uiDialogService, {
|
|
|
3714
3670
|
};
|
|
3715
3671
|
return /*#__PURE__*/react.createElement(react.Fragment, null, dataSourcesOpts.length > 1 && window.config?.allowMultiSelectExport && /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("label", {
|
|
3716
3672
|
className: "text-[14px] leading-[1.2] text-white"
|
|
3717
|
-
}, "Data Source"), /*#__PURE__*/react.createElement(ui_src/* Select */.
|
|
3673
|
+
}, "Data Source"), /*#__PURE__*/react.createElement(ui_src/* Select */.Ph, {
|
|
3718
3674
|
closeMenuOnSelect: true,
|
|
3719
3675
|
className: "border-primary-main mt-2 bg-black",
|
|
3720
3676
|
options: dataSourcesOpts,
|
|
@@ -3729,7 +3685,7 @@ function CreateReportDialogPrompt(uiDialogService, {
|
|
|
3729
3685
|
isClearable: false
|
|
3730
3686
|
})), /*#__PURE__*/react.createElement("div", {
|
|
3731
3687
|
className: "mt-3"
|
|
3732
|
-
}, /*#__PURE__*/react.createElement(ui_src/* Input */.
|
|
3688
|
+
}, /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
|
|
3733
3689
|
autoFocus: true,
|
|
3734
3690
|
label: "Enter the report name",
|
|
3735
3691
|
labelClassName: "text-white text-[14px] leading-[1.2]",
|
|
@@ -3879,8 +3835,8 @@ function PanelMeasurementTable({
|
|
|
3879
3835
|
}) {
|
|
3880
3836
|
const {
|
|
3881
3837
|
t
|
|
3882
|
-
} = (0,es/* useTranslation
|
|
3883
|
-
const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.
|
|
3838
|
+
} = (0,es/* useTranslation */.$G)('MeasurementTable');
|
|
3839
|
+
const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
|
|
3884
3840
|
const {
|
|
3885
3841
|
activeViewportId,
|
|
3886
3842
|
viewports
|
|
@@ -4006,7 +3962,7 @@ function PanelMeasurementTable({
|
|
|
4006
3962
|
centralize: true,
|
|
4007
3963
|
isDraggable: false,
|
|
4008
3964
|
showOverlay: true,
|
|
4009
|
-
content: ui_src/* Dialog */.
|
|
3965
|
+
content: ui_src/* Dialog */.Vq,
|
|
4010
3966
|
contentProps: {
|
|
4011
3967
|
title: 'Annotation',
|
|
4012
3968
|
noCloseButton: true,
|
|
@@ -4034,7 +3990,7 @@ function PanelMeasurementTable({
|
|
|
4034
3990
|
});
|
|
4035
3991
|
}
|
|
4036
3992
|
};
|
|
4037
|
-
return /*#__PURE__*/react.createElement(ui_src/* Input */.
|
|
3993
|
+
return /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
|
|
4038
3994
|
label: "Enter your annotation",
|
|
4039
3995
|
labelClassName: "text-white text-[14px] leading-[1.2]",
|
|
4040
3996
|
autoFocus: true,
|
|
@@ -4049,11 +4005,11 @@ function PanelMeasurementTable({
|
|
|
4049
4005
|
actions: [{
|
|
4050
4006
|
id: 'cancel',
|
|
4051
4007
|
text: 'Cancel',
|
|
4052
|
-
type: ui_src/* ButtonEnums.type */.
|
|
4008
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
|
|
4053
4009
|
}, {
|
|
4054
4010
|
id: 'save',
|
|
4055
4011
|
text: 'Save',
|
|
4056
|
-
type: ui_src/* ButtonEnums.type */.
|
|
4012
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary
|
|
4057
4013
|
}],
|
|
4058
4014
|
onSubmit: onSubmitHandler
|
|
4059
4015
|
}
|
|
@@ -4074,7 +4030,7 @@ function PanelMeasurementTable({
|
|
|
4074
4030
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
4075
4031
|
className: "ohif-scrollbar overflow-y-auto overflow-x-hidden",
|
|
4076
4032
|
"data-cy": 'measurements-panel'
|
|
4077
|
-
}, /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.
|
|
4033
|
+
}, /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.wt, {
|
|
4078
4034
|
title: t('Measurements'),
|
|
4079
4035
|
servicesManager: servicesManager,
|
|
4080
4036
|
data: displayMeasurements,
|
|
@@ -4082,7 +4038,7 @@ function PanelMeasurementTable({
|
|
|
4082
4038
|
onEdit: onMeasurementItemEditHandler
|
|
4083
4039
|
})), /*#__PURE__*/react.createElement("div", {
|
|
4084
4040
|
className: "flex justify-center p-4"
|
|
4085
|
-
}, /*#__PURE__*/react.createElement(ui_src/* ActionButtons */.
|
|
4041
|
+
}, /*#__PURE__*/react.createElement(ui_src/* ActionButtons */.EY, {
|
|
4086
4042
|
t: t,
|
|
4087
4043
|
actions: [{
|
|
4088
4044
|
label: 'Export',
|
|
@@ -4152,7 +4108,7 @@ function _mapMeasurementToDisplay(measurement, index, types) {
|
|
|
4152
4108
|
|
|
4153
4109
|
|
|
4154
4110
|
// EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
|
|
4155
|
-
var i18next = __webpack_require__(
|
|
4111
|
+
var i18next = __webpack_require__(73577);
|
|
4156
4112
|
;// CONCATENATED MODULE: ../../../extensions/default/src/getPanelModule.tsx
|
|
4157
4113
|
|
|
4158
4114
|
|
|
@@ -4179,7 +4135,7 @@ function getPanelModule({
|
|
|
4179
4135
|
name: 'seriesList',
|
|
4180
4136
|
iconName: 'tab-studies',
|
|
4181
4137
|
iconLabel: 'Studies',
|
|
4182
|
-
label: i18next/* default */.
|
|
4138
|
+
label: i18next/* default */.Z.t('SidePanel:Studies'),
|
|
4183
4139
|
component: Panels_WrappedPanelStudyBrowser.bind(null, {
|
|
4184
4140
|
commandsManager,
|
|
4185
4141
|
extensionManager,
|
|
@@ -4189,28 +4145,28 @@ function getPanelModule({
|
|
|
4189
4145
|
name: 'measure',
|
|
4190
4146
|
iconName: 'tab-linear',
|
|
4191
4147
|
iconLabel: 'Measure',
|
|
4192
|
-
label: i18next/* default */.
|
|
4193
|
-
secondaryLabel: i18next/* default */.
|
|
4148
|
+
label: i18next/* default */.Z.t('SidePanel:Measurements'),
|
|
4149
|
+
secondaryLabel: i18next/* default */.Z.t('SidePanel:Measurements'),
|
|
4194
4150
|
component: wrappedMeasurementPanel
|
|
4195
4151
|
}];
|
|
4196
4152
|
}
|
|
4197
4153
|
/* harmony default export */ const src_getPanelModule = (getPanelModule);
|
|
4198
4154
|
// EXTERNAL MODULE: ../../core/src/utils/isImage.js
|
|
4199
|
-
var isImage = __webpack_require__(
|
|
4155
|
+
var isImage = __webpack_require__(74440);
|
|
4200
4156
|
// EXTERNAL MODULE: ../../core/src/utils/sopClassDictionary.js
|
|
4201
|
-
var sopClassDictionary = __webpack_require__(
|
|
4157
|
+
var sopClassDictionary = __webpack_require__(66050);
|
|
4202
4158
|
// EXTERNAL MODULE: ../../core/src/classes/ImageSet.ts
|
|
4203
|
-
var ImageSet = __webpack_require__(
|
|
4159
|
+
var ImageSet = __webpack_require__(15337);
|
|
4204
4160
|
// EXTERNAL MODULE: ../../core/src/utils/isDisplaySetReconstructable.js
|
|
4205
|
-
var isDisplaySetReconstructable = __webpack_require__(
|
|
4161
|
+
var isDisplaySetReconstructable = __webpack_require__(74824);
|
|
4206
4162
|
;// CONCATENATED MODULE: ../../../extensions/default/package.json
|
|
4207
|
-
const package_namespaceObject =
|
|
4163
|
+
const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-default"}');
|
|
4208
4164
|
;// CONCATENATED MODULE: ../../../extensions/default/src/id.js
|
|
4209
4165
|
|
|
4210
|
-
const id = package_namespaceObject.
|
|
4166
|
+
const id = package_namespaceObject.u2;
|
|
4211
4167
|
|
|
4212
4168
|
// EXTERNAL MODULE: ../../core/src/utils/sortInstancesByPosition.ts
|
|
4213
|
-
var sortInstancesByPosition = __webpack_require__(
|
|
4169
|
+
var sortInstancesByPosition = __webpack_require__(87134);
|
|
4214
4170
|
;// CONCATENATED MODULE: ../../../extensions/default/src/utils/validations/checkMultiframe.ts
|
|
4215
4171
|
|
|
4216
4172
|
|
|
@@ -4221,18 +4177,18 @@ var sortInstancesByPosition = __webpack_require__(7986);
|
|
|
4221
4177
|
* @param {*} warnings
|
|
4222
4178
|
*/
|
|
4223
4179
|
function checkMultiFrame(multiFrameInstance, messages) {
|
|
4224
|
-
if (!(0,isDisplaySetReconstructable/* hasPixelMeasurements */.
|
|
4225
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4180
|
+
if (!(0,isDisplaySetReconstructable/* hasPixelMeasurements */.hu)(multiFrameInstance)) {
|
|
4181
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MULTIFRAME_NO_PIXEL_MEASUREMENTS);
|
|
4226
4182
|
}
|
|
4227
|
-
if (!(0,isDisplaySetReconstructable/* hasOrientation */.
|
|
4228
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4183
|
+
if (!(0,isDisplaySetReconstructable/* hasOrientation */.sb)(multiFrameInstance)) {
|
|
4184
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MULTIFRAME_NO_ORIENTATION);
|
|
4229
4185
|
}
|
|
4230
|
-
if (!(0,isDisplaySetReconstructable/* hasPosition */.
|
|
4231
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4186
|
+
if (!(0,isDisplaySetReconstructable/* hasPosition */.kN)(multiFrameInstance)) {
|
|
4187
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MULTIFRAME_NO_POSITION_INFORMATION);
|
|
4232
4188
|
}
|
|
4233
4189
|
}
|
|
4234
4190
|
// EXTERNAL MODULE: ../../core/src/utils/toNumber.js
|
|
4235
|
-
var toNumber = __webpack_require__(
|
|
4191
|
+
var toNumber = __webpack_require__(11218);
|
|
4236
4192
|
;// CONCATENATED MODULE: ../../../extensions/default/src/utils/validations/areAllImageDimensionsEqual.ts
|
|
4237
4193
|
|
|
4238
4194
|
|
|
@@ -4246,8 +4202,8 @@ function areAllImageDimensionsEqual(instances) {
|
|
|
4246
4202
|
return false;
|
|
4247
4203
|
}
|
|
4248
4204
|
const firstImage = instances[0];
|
|
4249
|
-
const firstImageRows = (0,toNumber/* default */.
|
|
4250
|
-
const firstImageColumns = (0,toNumber/* default */.
|
|
4205
|
+
const firstImageRows = (0,toNumber/* default */.Z)(firstImage.Rows);
|
|
4206
|
+
const firstImageColumns = (0,toNumber/* default */.Z)(firstImage.Columns);
|
|
4251
4207
|
for (let i = 1; i < instances.length; i++) {
|
|
4252
4208
|
const instance = instances[i];
|
|
4253
4209
|
const {
|
|
@@ -4273,7 +4229,7 @@ function areAllImageComponentsEqual(instances) {
|
|
|
4273
4229
|
return false;
|
|
4274
4230
|
}
|
|
4275
4231
|
const firstImage = instances[0];
|
|
4276
|
-
const firstImageSamplesPerPixel = (0,toNumber/* default */.
|
|
4232
|
+
const firstImageSamplesPerPixel = (0,toNumber/* default */.Z)(firstImage.SamplesPerPixel);
|
|
4277
4233
|
for (let i = 1; i < instances.length; i++) {
|
|
4278
4234
|
const instance = instances[i];
|
|
4279
4235
|
const {
|
|
@@ -4299,18 +4255,18 @@ function areAllImageOrientationsEqual(instances) {
|
|
|
4299
4255
|
return false;
|
|
4300
4256
|
}
|
|
4301
4257
|
const firstImage = instances[0];
|
|
4302
|
-
const firstImageOrientationPatient = (0,toNumber/* default */.
|
|
4258
|
+
const firstImageOrientationPatient = (0,toNumber/* default */.Z)(firstImage.ImageOrientationPatient);
|
|
4303
4259
|
for (let i = 1; i < instances.length; i++) {
|
|
4304
4260
|
const instance = instances[i];
|
|
4305
|
-
const imageOrientationPatient = (0,toNumber/* default */.
|
|
4306
|
-
if (!(0,isDisplaySetReconstructable/* _isSameOrientation */.
|
|
4261
|
+
const imageOrientationPatient = (0,toNumber/* default */.Z)(instance.ImageOrientationPatient);
|
|
4262
|
+
if (!(0,isDisplaySetReconstructable/* _isSameOrientation */.NB)(imageOrientationPatient, firstImageOrientationPatient)) {
|
|
4307
4263
|
return false;
|
|
4308
4264
|
}
|
|
4309
4265
|
}
|
|
4310
4266
|
return true;
|
|
4311
4267
|
}
|
|
4312
4268
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
|
|
4313
|
-
var esm = __webpack_require__(
|
|
4269
|
+
var esm = __webpack_require__(72076);
|
|
4314
4270
|
;// CONCATENATED MODULE: ../../../extensions/default/src/utils/calculateScanAxisNormal.ts
|
|
4315
4271
|
|
|
4316
4272
|
|
|
@@ -4320,9 +4276,9 @@ var esm = __webpack_require__(44753);
|
|
|
4320
4276
|
* @returns
|
|
4321
4277
|
*/
|
|
4322
4278
|
function calculateScanAxisNormal(imageOrientation) {
|
|
4323
|
-
const rowCosineVec = esm/* vec3.fromValues */.
|
|
4324
|
-
const colCosineVec = esm/* vec3.fromValues */.
|
|
4325
|
-
return esm/* vec3.cross */.
|
|
4279
|
+
const rowCosineVec = esm/* vec3.fromValues */.R3.fromValues(imageOrientation[0], imageOrientation[1], imageOrientation[2]);
|
|
4280
|
+
const colCosineVec = esm/* vec3.fromValues */.R3.fromValues(imageOrientation[3], imageOrientation[4], imageOrientation[5]);
|
|
4281
|
+
return esm/* vec3.cross */.R3.cross(esm/* vec3.create */.R3.create(), rowCosineVec, colCosineVec);
|
|
4326
4282
|
}
|
|
4327
4283
|
;// CONCATENATED MODULE: ../../../extensions/default/src/utils/validations/areAllImagePositionsEqual.ts
|
|
4328
4284
|
|
|
@@ -4341,8 +4297,8 @@ function calculateScanAxisNormal(imageOrientation) {
|
|
|
4341
4297
|
function _checkSeriesPositionShift(previousPosition, actualPosition, scanAxisNormal, averageSpacingBetweenFrames) {
|
|
4342
4298
|
// predicted position should be the previous position added by the multiplication
|
|
4343
4299
|
// of the scanAxisNormal and the average spacing between frames
|
|
4344
|
-
const predictedPosition = esm/* vec3.scaleAndAdd */.
|
|
4345
|
-
return esm/* vec3.distance */.
|
|
4300
|
+
const predictedPosition = esm/* vec3.scaleAndAdd */.R3.scaleAndAdd(esm/* vec3.create */.R3.create(), previousPosition, scanAxisNormal, averageSpacingBetweenFrames);
|
|
4301
|
+
return esm/* vec3.distance */.R3.distance(actualPosition, predictedPosition) > averageSpacingBetweenFrames;
|
|
4346
4302
|
}
|
|
4347
4303
|
|
|
4348
4304
|
/**
|
|
@@ -4354,18 +4310,18 @@ function areAllImagePositionsEqual(instances) {
|
|
|
4354
4310
|
if (!instances?.length) {
|
|
4355
4311
|
return false;
|
|
4356
4312
|
}
|
|
4357
|
-
const firstImageOrientationPatient = (0,toNumber/* default */.
|
|
4313
|
+
const firstImageOrientationPatient = (0,toNumber/* default */.Z)(instances[0].ImageOrientationPatient);
|
|
4358
4314
|
if (!firstImageOrientationPatient) {
|
|
4359
4315
|
return false;
|
|
4360
4316
|
}
|
|
4361
4317
|
const scanAxisNormal = calculateScanAxisNormal(firstImageOrientationPatient);
|
|
4362
|
-
const firstImagePositionPatient = (0,toNumber/* default */.
|
|
4363
|
-
const lastIpp = (0,toNumber/* default */.
|
|
4364
|
-
const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.
|
|
4318
|
+
const firstImagePositionPatient = (0,toNumber/* default */.Z)(instances[0].ImagePositionPatient);
|
|
4319
|
+
const lastIpp = (0,toNumber/* default */.Z)(instances[instances.length - 1].ImagePositionPatient);
|
|
4320
|
+
const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.Xn)(firstImagePositionPatient, lastIpp) / (instances.length - 1);
|
|
4365
4321
|
let previousImagePositionPatient = firstImagePositionPatient;
|
|
4366
4322
|
for (let i = 1; i < instances.length; i++) {
|
|
4367
4323
|
const instance = instances[i];
|
|
4368
|
-
const imagePositionPatient = (0,toNumber/* default */.
|
|
4324
|
+
const imagePositionPatient = (0,toNumber/* default */.Z)(instance.ImagePositionPatient);
|
|
4369
4325
|
if (_checkSeriesPositionShift(previousImagePositionPatient, imagePositionPatient, scanAxisNormal, averageSpacingBetweenFrames)) {
|
|
4370
4326
|
return false;
|
|
4371
4327
|
}
|
|
@@ -4386,29 +4342,29 @@ function areAllImageSpacingEqual(instances, messages) {
|
|
|
4386
4342
|
if (!instances?.length) {
|
|
4387
4343
|
return;
|
|
4388
4344
|
}
|
|
4389
|
-
const firstImagePositionPatient = (0,toNumber/* default */.
|
|
4345
|
+
const firstImagePositionPatient = (0,toNumber/* default */.Z)(instances[0].ImagePositionPatient);
|
|
4390
4346
|
if (!firstImagePositionPatient) {
|
|
4391
4347
|
return;
|
|
4392
4348
|
}
|
|
4393
|
-
const lastIpp = (0,toNumber/* default */.
|
|
4394
|
-
const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.
|
|
4349
|
+
const lastIpp = (0,toNumber/* default */.Z)(instances[instances.length - 1].ImagePositionPatient);
|
|
4350
|
+
const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.Xn)(firstImagePositionPatient, lastIpp) / (instances.length - 1);
|
|
4395
4351
|
let previousImagePositionPatient = firstImagePositionPatient;
|
|
4396
4352
|
const issuesFound = [];
|
|
4397
4353
|
for (let i = 1; i < instances.length; i++) {
|
|
4398
4354
|
const instance = instances[i];
|
|
4399
|
-
const imagePositionPatient = (0,toNumber/* default */.
|
|
4400
|
-
const spacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.
|
|
4401
|
-
const spacingIssue = (0,isDisplaySetReconstructable/* _getSpacingIssue */.
|
|
4355
|
+
const imagePositionPatient = (0,toNumber/* default */.Z)(instance.ImagePositionPatient);
|
|
4356
|
+
const spacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.Xn)(imagePositionPatient, previousImagePositionPatient);
|
|
4357
|
+
const spacingIssue = (0,isDisplaySetReconstructable/* _getSpacingIssue */.bg)(spacingBetweenFrames, averageSpacingBetweenFrames);
|
|
4402
4358
|
if (spacingIssue) {
|
|
4403
4359
|
const issue = spacingIssue.issue;
|
|
4404
4360
|
|
|
4405
4361
|
// avoid multiple warning of the same thing
|
|
4406
4362
|
if (!issuesFound.includes(issue)) {
|
|
4407
4363
|
issuesFound.push(issue);
|
|
4408
|
-
if (issue === isDisplaySetReconstructable/* reconstructionIssues */.
|
|
4409
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4410
|
-
} else if (issue === isDisplaySetReconstructable/* reconstructionIssues */.
|
|
4411
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4364
|
+
if (issue === isDisplaySetReconstructable/* reconstructionIssues */.e1.MISSING_FRAMES) {
|
|
4365
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MISSING_FRAMES);
|
|
4366
|
+
} else if (issue === isDisplaySetReconstructable/* reconstructionIssues */.e1.IRREGULAR_SPACING) {
|
|
4367
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.IRREGULAR_SPACING);
|
|
4412
4368
|
}
|
|
4413
4369
|
}
|
|
4414
4370
|
// we just want to find issues not how many
|
|
@@ -4435,16 +4391,16 @@ function areAllImageSpacingEqual(instances, messages) {
|
|
|
4435
4391
|
function checkSingleFrames(instances, messages) {
|
|
4436
4392
|
if (instances.length > 2) {
|
|
4437
4393
|
if (!areAllImageDimensionsEqual(instances)) {
|
|
4438
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4394
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_DIMENSIONS);
|
|
4439
4395
|
}
|
|
4440
4396
|
if (!areAllImageComponentsEqual(instances)) {
|
|
4441
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4397
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_COMPONENTS);
|
|
4442
4398
|
}
|
|
4443
4399
|
if (!areAllImageOrientationsEqual(instances)) {
|
|
4444
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4400
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_ORIENTATIONS);
|
|
4445
4401
|
}
|
|
4446
4402
|
if (!areAllImagePositionsEqual(instances)) {
|
|
4447
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4403
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_POSITION_INFORMATION);
|
|
4448
4404
|
}
|
|
4449
4405
|
areAllImageSpacingEqual(instances, messages);
|
|
4450
4406
|
}
|
|
@@ -4461,12 +4417,12 @@ function checkSingleFrames(instances, messages) {
|
|
|
4461
4417
|
* @param {Object[]} instances An array of `OHIFInstanceMetadata` objects.
|
|
4462
4418
|
*/
|
|
4463
4419
|
function getDisplaySetMessages(instances, isReconstructable, isDynamicVolume) {
|
|
4464
|
-
const messages = new src/* DisplaySetMessageList */.
|
|
4420
|
+
const messages = new src/* DisplaySetMessageList */.iK();
|
|
4465
4421
|
if (isDynamicVolume) {
|
|
4466
4422
|
return messages;
|
|
4467
4423
|
}
|
|
4468
4424
|
if (!instances.length) {
|
|
4469
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4425
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.NO_VALID_INSTANCES);
|
|
4470
4426
|
return;
|
|
4471
4427
|
}
|
|
4472
4428
|
const firstInstance = instances[0];
|
|
@@ -4479,18 +4435,18 @@ function getDisplaySetMessages(instances, isReconstructable, isDynamicVolume) {
|
|
|
4479
4435
|
if (ImageType?.includes('LOCALIZER')) {
|
|
4480
4436
|
return messages;
|
|
4481
4437
|
}
|
|
4482
|
-
if (!isDisplaySetReconstructable/* constructableModalities */.
|
|
4438
|
+
if (!isDisplaySetReconstructable/* constructableModalities */.M6.includes(Modality)) {
|
|
4483
4439
|
return messages;
|
|
4484
4440
|
}
|
|
4485
4441
|
const isMultiframe = NumberOfFrames > 1;
|
|
4486
4442
|
// Can't reconstruct if all instances don't have the ImagePositionPatient.
|
|
4487
4443
|
if (!isMultiframe && !instances.every(instance => instance.ImagePositionPatient)) {
|
|
4488
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4444
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.NO_POSITION_INFORMATION);
|
|
4489
4445
|
}
|
|
4490
|
-
const sortedInstances = (0,sortInstancesByPosition/* default */.
|
|
4446
|
+
const sortedInstances = (0,sortInstancesByPosition/* default */.Z)(instances);
|
|
4491
4447
|
isMultiframe ? checkMultiFrame(sortedInstances[0], messages) : checkSingleFrames(sortedInstances, messages);
|
|
4492
4448
|
if (!isReconstructable) {
|
|
4493
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4449
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.NOT_RECONSTRUCTABLE);
|
|
4494
4450
|
}
|
|
4495
4451
|
return messages;
|
|
4496
4452
|
}
|
|
@@ -4501,9 +4457,9 @@ function getDisplaySetMessages(instances, isReconstructable, isDynamicVolume) {
|
|
|
4501
4457
|
* Default handler for a instance list with an unsupported sopClassUID
|
|
4502
4458
|
*/
|
|
4503
4459
|
function getDisplaySetsFromUnsupportedSeries(instances) {
|
|
4504
|
-
const imageSet = new ImageSet/* default */.
|
|
4505
|
-
const messages = new src/* DisplaySetMessageList */.
|
|
4506
|
-
messages.addMessage(src/* DisplaySetMessage */.
|
|
4460
|
+
const imageSet = new ImageSet/* default */.Z(instances);
|
|
4461
|
+
const messages = new src/* DisplaySetMessageList */.iK();
|
|
4462
|
+
messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.UNSUPPORTED_DISPLAYSET);
|
|
4507
4463
|
const instance = instances[0];
|
|
4508
4464
|
imageSet.setAttributes({
|
|
4509
4465
|
displaySetInstanceUID: imageSet.uid,
|
|
@@ -4653,9 +4609,9 @@ function getDisplaySetInfo(instances) {
|
|
|
4653
4609
|
// O(n) to convert it into a map and O(1) to find each instance
|
|
4654
4610
|
instances.forEach(instance => instancesMap.set(instance.imageId, instance));
|
|
4655
4611
|
const firstTimePointInstances = timePoint.map(imageId => instancesMap.get(imageId));
|
|
4656
|
-
displaySetInfo = (0,isDisplaySetReconstructable/* default */.
|
|
4612
|
+
displaySetInfo = (0,isDisplaySetReconstructable/* default */.ZP)(firstTimePointInstances, appConfig);
|
|
4657
4613
|
} else {
|
|
4658
|
-
displaySetInfo = (0,isDisplaySetReconstructable/* default */.
|
|
4614
|
+
displaySetInfo = (0,isDisplaySetReconstructable/* default */.ZP)(instances, appConfig);
|
|
4659
4615
|
}
|
|
4660
4616
|
return {
|
|
4661
4617
|
isDynamicVolume,
|
|
@@ -4665,7 +4621,7 @@ function getDisplaySetInfo(instances) {
|
|
|
4665
4621
|
}
|
|
4666
4622
|
const makeDisplaySet = instances => {
|
|
4667
4623
|
const instance = instances[0];
|
|
4668
|
-
const imageSet = new ImageSet/* default */.
|
|
4624
|
+
const imageSet = new ImageSet/* default */.Z(instances);
|
|
4669
4625
|
const {
|
|
4670
4626
|
isDynamicVolume,
|
|
4671
4627
|
value: isReconstructable,
|
|
@@ -4760,7 +4716,7 @@ function getDisplaySetsFromSeries(instances) {
|
|
|
4760
4716
|
const stackableInstances = [];
|
|
4761
4717
|
instances.forEach(instance => {
|
|
4762
4718
|
// All imaging modalities must have a valid value for sopClassUid (x00080016) or rows (x00280010)
|
|
4763
|
-
if (!(0,isImage/* isImage */.
|
|
4719
|
+
if (!(0,isImage/* isImage */.O)(instance.SOPClassUID) && !instance.Rows) {
|
|
4764
4720
|
return;
|
|
4765
4721
|
}
|
|
4766
4722
|
let displaySet;
|
|
@@ -4796,7 +4752,7 @@ function getDisplaySetsFromSeries(instances) {
|
|
|
4796
4752
|
}
|
|
4797
4753
|
return displaySets;
|
|
4798
4754
|
}
|
|
4799
|
-
const getSopClassHandlerModule_sopClassUids = [sopClassDictionary/* default */.
|
|
4755
|
+
const getSopClassHandlerModule_sopClassUids = [sopClassDictionary/* default */.Z.ComputedRadiographyImageStorage, sopClassDictionary/* default */.Z.DigitalXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.DigitalXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.DigitalMammographyXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.DigitalMammographyXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.DigitalIntraOralXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.DigitalIntraOralXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.CTImageStorage, sopClassDictionary/* default */.Z.EnhancedCTImageStorage, sopClassDictionary/* default */.Z.LegacyConvertedEnhancedCTImageStorage, sopClassDictionary/* default */.Z.UltrasoundMultiframeImageStorage, sopClassDictionary/* default */.Z.MRImageStorage, sopClassDictionary/* default */.Z.EnhancedMRImageStorage, sopClassDictionary/* default */.Z.EnhancedMRColorImageStorage, sopClassDictionary/* default */.Z.LegacyConvertedEnhancedMRImageStorage, sopClassDictionary/* default */.Z.UltrasoundImageStorage, sopClassDictionary/* default */.Z.UltrasoundImageStorageRET, sopClassDictionary/* default */.Z.SecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeSingleBitSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeGrayscaleByteSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeGrayscaleWordSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeTrueColorSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.XRayAngiographicImageStorage, sopClassDictionary/* default */.Z.EnhancedXAImageStorage, sopClassDictionary/* default */.Z.XRayRadiofluoroscopicImageStorage, sopClassDictionary/* default */.Z.EnhancedXRFImageStorage, sopClassDictionary/* default */.Z.XRay3DAngiographicImageStorage, sopClassDictionary/* default */.Z.XRay3DCraniofacialImageStorage, sopClassDictionary/* default */.Z.BreastTomosynthesisImageStorage, sopClassDictionary/* default */.Z.BreastProjectionXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.BreastProjectionXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.IntravascularOpticalCoherenceTomographyImageStorageForPresentation, sopClassDictionary/* default */.Z.IntravascularOpticalCoherenceTomographyImageStorageForProcessing, sopClassDictionary/* default */.Z.NuclearMedicineImageStorage, sopClassDictionary/* default */.Z.VLEndoscopicImageStorage, sopClassDictionary/* default */.Z.VideoEndoscopicImageStorage, sopClassDictionary/* default */.Z.VLMicroscopicImageStorage, sopClassDictionary/* default */.Z.VideoMicroscopicImageStorage, sopClassDictionary/* default */.Z.VLSlideCoordinatesMicroscopicImageStorage, sopClassDictionary/* default */.Z.VLPhotographicImageStorage, sopClassDictionary/* default */.Z.VideoPhotographicImageStorage, sopClassDictionary/* default */.Z.OphthalmicPhotography8BitImageStorage, sopClassDictionary/* default */.Z.OphthalmicPhotography16BitImageStorage, sopClassDictionary/* default */.Z.OphthalmicTomographyImageStorage, sopClassDictionary/* default */.Z.VLWholeSlideMicroscopyImageStorage, sopClassDictionary/* default */.Z.PositronEmissionTomographyImageStorage, sopClassDictionary/* default */.Z.EnhancedPETImageStorage, sopClassDictionary/* default */.Z.LegacyConvertedEnhancedPETImageStorage, sopClassDictionary/* default */.Z.RTImageStorage, sopClassDictionary/* default */.Z.EnhancedUSVolumeStorage];
|
|
4800
4756
|
function getSopClassHandlerModule(appContextParam) {
|
|
4801
4757
|
appContext = appContextParam;
|
|
4802
4758
|
return [{
|
|
@@ -4822,7 +4778,7 @@ function ToolbarDivider() {
|
|
|
4822
4778
|
});
|
|
4823
4779
|
}
|
|
4824
4780
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Toolbar/ToolbarLayoutSelector.tsx
|
|
4825
|
-
function ToolbarLayoutSelector_extends() { ToolbarLayoutSelector_extends = Object.assign ? Object.assign.bind() : function (
|
|
4781
|
+
function ToolbarLayoutSelector_extends() { return ToolbarLayoutSelector_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, ToolbarLayoutSelector_extends.apply(null, arguments); }
|
|
4826
4782
|
|
|
4827
4783
|
|
|
4828
4784
|
|
|
@@ -4966,8 +4922,8 @@ function LayoutSelector({
|
|
|
4966
4922
|
const onInteractionHandler = () => {
|
|
4967
4923
|
setIsOpen(!isOpen);
|
|
4968
4924
|
};
|
|
4969
|
-
const DropdownContent = isOpen ? ui_src/* LayoutSelector */.
|
|
4970
|
-
return /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.
|
|
4925
|
+
const DropdownContent = isOpen ? ui_src/* LayoutSelector */.OF : null;
|
|
4926
|
+
return /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.hA, {
|
|
4971
4927
|
id: "Layout",
|
|
4972
4928
|
label: "Layout",
|
|
4973
4929
|
icon: "tool-layout",
|
|
@@ -4984,7 +4940,7 @@ function LayoutSelector({
|
|
|
4984
4940
|
className: "text-aqua-pale text-xs"
|
|
4985
4941
|
}, "Common"), /*#__PURE__*/react.createElement("div", {
|
|
4986
4942
|
className: "flex gap-4"
|
|
4987
|
-
}, commonPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.
|
|
4943
|
+
}, commonPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.W6, {
|
|
4988
4944
|
key: index,
|
|
4989
4945
|
classNames: "hover:bg-primary-dark group p-1 cursor-pointer",
|
|
4990
4946
|
icon: preset.icon,
|
|
@@ -4996,7 +4952,7 @@ function LayoutSelector({
|
|
|
4996
4952
|
className: "text-aqua-pale text-xs"
|
|
4997
4953
|
}, "Advanced"), /*#__PURE__*/react.createElement("div", {
|
|
4998
4954
|
className: "flex flex-col gap-2.5"
|
|
4999
|
-
}, advancedPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.
|
|
4955
|
+
}, advancedPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.W6, {
|
|
5000
4956
|
key: index + commonPresets.length,
|
|
5001
4957
|
classNames: "hover:bg-primary-dark group flex gap-2 p-1 cursor-pointer",
|
|
5002
4958
|
icon: preset.icon,
|
|
@@ -5027,7 +4983,7 @@ LayoutSelector.propTypes = {
|
|
|
5027
4983
|
};
|
|
5028
4984
|
/* harmony default export */ const ToolbarLayoutSelector = (ToolbarLayoutSelectorWithServices);
|
|
5029
4985
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Toolbar/ToolbarSplitButtonWithServices.tsx
|
|
5030
|
-
function ToolbarSplitButtonWithServices_extends() { ToolbarSplitButtonWithServices_extends = Object.assign ? Object.assign.bind() : function (
|
|
4986
|
+
function ToolbarSplitButtonWithServices_extends() { return ToolbarSplitButtonWithServices_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, ToolbarSplitButtonWithServices_extends.apply(null, arguments); }
|
|
5031
4987
|
|
|
5032
4988
|
|
|
5033
4989
|
|
|
@@ -5056,9 +5012,9 @@ function ToolbarSplitButtonWithServices({
|
|
|
5056
5012
|
});
|
|
5057
5013
|
}
|
|
5058
5014
|
})), []);
|
|
5059
|
-
const PrimaryButtonComponent = toolbarService?.getButtonComponentForUIType(primary.uiType) ?? ui_src/* ToolbarButton */.
|
|
5015
|
+
const PrimaryButtonComponent = toolbarService?.getButtonComponentForUIType(primary.uiType) ?? ui_src/* ToolbarButton */.hA;
|
|
5060
5016
|
const listItemRenderer = renderer;
|
|
5061
|
-
return /*#__PURE__*/react.createElement(ui_src/* SplitButton */.
|
|
5017
|
+
return /*#__PURE__*/react.createElement(ui_src/* SplitButton */.aW, {
|
|
5062
5018
|
primary: primary,
|
|
5063
5019
|
secondary: secondary,
|
|
5064
5020
|
items: getSplitButtonItems(items),
|
|
@@ -5110,7 +5066,7 @@ function ToolbarButtonGroupWithServices({
|
|
|
5110
5066
|
onInteraction,
|
|
5111
5067
|
size
|
|
5112
5068
|
}) {
|
|
5113
|
-
const getSplitButtonItems = (0,react.useCallback)(items => items.map((item, index) => /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.
|
|
5069
|
+
const getSplitButtonItems = (0,react.useCallback)(items => items.map((item, index) => /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.hA, {
|
|
5114
5070
|
key: item.id,
|
|
5115
5071
|
icon: item.icon,
|
|
5116
5072
|
label: item.label,
|
|
@@ -5132,7 +5088,7 @@ function ToolbarButtonGroupWithServices({
|
|
|
5132
5088
|
,
|
|
5133
5089
|
toolTipClassName: ""
|
|
5134
5090
|
})), [onInteraction, groupId]);
|
|
5135
|
-
return /*#__PURE__*/react.createElement(ui_src/* ButtonGroup */.
|
|
5091
|
+
return /*#__PURE__*/react.createElement(ui_src/* ButtonGroup */.hE, null, getSplitButtonItems(items));
|
|
5136
5092
|
}
|
|
5137
5093
|
/* harmony default export */ const Toolbar_ToolbarButtonGroupWithServices = (ToolbarButtonGroupWithServices);
|
|
5138
5094
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Components/ProgressDropdownWithService.tsx
|
|
@@ -5210,7 +5166,7 @@ function ProgressDropdownWithService({
|
|
|
5210
5166
|
unsubActiveStepChanged();
|
|
5211
5167
|
};
|
|
5212
5168
|
}, [servicesManager, workflowStepsService]);
|
|
5213
|
-
return /*#__PURE__*/react.createElement(ui_src/* ProgressDropdown */.
|
|
5169
|
+
return /*#__PURE__*/react.createElement(ui_src/* ProgressDropdown */.LU, {
|
|
5214
5170
|
options: dropdownOptions,
|
|
5215
5171
|
value: activeStepId,
|
|
5216
5172
|
onChange: handleDropdownChange
|
|
@@ -5237,7 +5193,7 @@ function getToolbarModule({
|
|
|
5237
5193
|
} = servicesManager.services;
|
|
5238
5194
|
return [{
|
|
5239
5195
|
name: 'ohif.radioGroup',
|
|
5240
|
-
defaultComponent: ui_src/* ToolbarButton */.
|
|
5196
|
+
defaultComponent: ui_src/* ToolbarButton */.hA
|
|
5241
5197
|
}, {
|
|
5242
5198
|
name: 'ohif.divider',
|
|
5243
5199
|
defaultComponent: ToolbarDivider
|
|
@@ -5454,9 +5410,9 @@ function adaptItem(item, subProps) {
|
|
|
5454
5410
|
return newItem;
|
|
5455
5411
|
}
|
|
5456
5412
|
// EXTERNAL MODULE: ../../ui/src/components/ContextMenu/ContextMenu.tsx
|
|
5457
|
-
var ContextMenu = __webpack_require__(
|
|
5413
|
+
var ContextMenu = __webpack_require__(58705);
|
|
5458
5414
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
|
|
5459
|
-
var dist_esm = __webpack_require__(
|
|
5415
|
+
var dist_esm = __webpack_require__(93725);
|
|
5460
5416
|
;// CONCATENATED MODULE: ../../../extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx
|
|
5461
5417
|
var _ContextMenuController;
|
|
5462
5418
|
|
|
@@ -5527,7 +5483,7 @@ class ContextMenuController {
|
|
|
5527
5483
|
preventCutOf: true,
|
|
5528
5484
|
defaultPosition: ContextMenuController._getDefaultPosition(defaultPointsPosition, event?.detail, viewportElement),
|
|
5529
5485
|
event,
|
|
5530
|
-
content: ContextMenu/* default */.
|
|
5486
|
+
content: ContextMenu/* default */.Z,
|
|
5531
5487
|
// This naming is part of the uiDialogService convention
|
|
5532
5488
|
// Clicking outside simply closes the dialog box.
|
|
5533
5489
|
onClickOutside: () => this.services.uiDialogService.dismiss({
|
|
@@ -5675,12 +5631,12 @@ const defaultContextMenu = {
|
|
|
5675
5631
|
|
|
5676
5632
|
|
|
5677
5633
|
// EXTERNAL MODULE: ../../../node_modules/moment/moment.js
|
|
5678
|
-
var moment = __webpack_require__(
|
|
5634
|
+
var moment = __webpack_require__(71271);
|
|
5679
5635
|
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
5680
5636
|
// EXTERNAL MODULE: ../../../node_modules/react-window/dist/index.esm.js
|
|
5681
|
-
var index_esm = __webpack_require__(
|
|
5637
|
+
var index_esm = __webpack_require__(94614);
|
|
5682
5638
|
// EXTERNAL MODULE: ../../../node_modules/classnames/index.js
|
|
5683
|
-
var classnames = __webpack_require__(
|
|
5639
|
+
var classnames = __webpack_require__(33901);
|
|
5684
5640
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
5685
5641
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomTagBrowser/DicomTagTable.tsx
|
|
5686
5642
|
|
|
@@ -5854,7 +5810,7 @@ function DicomTagTable({
|
|
|
5854
5810
|
style: {
|
|
5855
5811
|
height: '32rem'
|
|
5856
5812
|
}
|
|
5857
|
-
}, isHeaderRendered() && /*#__PURE__*/react.createElement(index_esm/* VariableSizeList */.
|
|
5813
|
+
}, isHeaderRendered() && /*#__PURE__*/react.createElement(index_esm/* VariableSizeList */.S_, {
|
|
5858
5814
|
ref: listRef,
|
|
5859
5815
|
height: 500,
|
|
5860
5816
|
itemCount: rows.length,
|
|
@@ -5881,7 +5837,7 @@ const {
|
|
|
5881
5837
|
} = src.classes;
|
|
5882
5838
|
const {
|
|
5883
5839
|
DicomMetaDictionary: DicomTagBrowser_DicomMetaDictionary
|
|
5884
|
-
} = dcmjs_es
|
|
5840
|
+
} = dcmjs_es["default"].data;
|
|
5885
5841
|
const {
|
|
5886
5842
|
nameMap
|
|
5887
5843
|
} = DicomTagBrowser_DicomMetaDictionary;
|
|
@@ -5971,12 +5927,12 @@ const DicomTagBrowser = ({
|
|
|
5971
5927
|
className: "mb-6 flex flex-row items-center pl-1"
|
|
5972
5928
|
}, /*#__PURE__*/react.createElement("div", {
|
|
5973
5929
|
className: "flex w-1/2 flex-row items-center"
|
|
5974
|
-
}, /*#__PURE__*/react.createElement(ui_src/* Typography */.
|
|
5930
|
+
}, /*#__PURE__*/react.createElement(ui_src/* Typography */.ZT, {
|
|
5975
5931
|
variant: "subtitle",
|
|
5976
5932
|
className: "mr-4"
|
|
5977
5933
|
}, "Series"), /*#__PURE__*/react.createElement("div", {
|
|
5978
5934
|
className: "mr-8 grow"
|
|
5979
|
-
}, /*#__PURE__*/react.createElement(ui_src/* Select */.
|
|
5935
|
+
}, /*#__PURE__*/react.createElement(ui_src/* Select */.Ph, {
|
|
5980
5936
|
id: "display-set-selector",
|
|
5981
5937
|
isClearable: false,
|
|
5982
5938
|
onChange: onSelectChange,
|
|
@@ -5985,12 +5941,12 @@ const DicomTagBrowser = ({
|
|
|
5985
5941
|
className: "text-white"
|
|
5986
5942
|
}))), /*#__PURE__*/react.createElement("div", {
|
|
5987
5943
|
className: "flex w-1/2 flex-row items-center"
|
|
5988
|
-
}, showInstanceList && /*#__PURE__*/react.createElement(ui_src/* Typography */.
|
|
5944
|
+
}, showInstanceList && /*#__PURE__*/react.createElement(ui_src/* Typography */.ZT, {
|
|
5989
5945
|
variant: "subtitle",
|
|
5990
5946
|
className: "mr-4"
|
|
5991
5947
|
}, "Instance Number"), showInstanceList && /*#__PURE__*/react.createElement("div", {
|
|
5992
5948
|
className: "grow"
|
|
5993
|
-
}, /*#__PURE__*/react.createElement(ui_src/* InputRange */.
|
|
5949
|
+
}, /*#__PURE__*/react.createElement(ui_src/* InputRange */.OX, {
|
|
5994
5950
|
value: instanceNumber,
|
|
5995
5951
|
key: selectedDisplaySetInstanceUID,
|
|
5996
5952
|
onChange: value => {
|
|
@@ -6006,7 +5962,7 @@ const DicomTagBrowser = ({
|
|
|
6006
5962
|
className: "h-1 w-full bg-black"
|
|
6007
5963
|
}), /*#__PURE__*/react.createElement("div", {
|
|
6008
5964
|
className: "my-3 flex w-1/2 flex-row"
|
|
6009
|
-
}, /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.
|
|
5965
|
+
}, /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.Xe, {
|
|
6010
5966
|
className: "mr-8 block w-full",
|
|
6011
5967
|
placeholder: "Search metadata...",
|
|
6012
5968
|
onDebounceChange: setFilterValue
|
|
@@ -6030,7 +5986,7 @@ function getFormattedRowsFromTags(tags, metadata) {
|
|
|
6030
5986
|
} else {
|
|
6031
5987
|
if (tagInfo.vr === 'xs') {
|
|
6032
5988
|
try {
|
|
6033
|
-
const tag = dcmjs_es
|
|
5989
|
+
const tag = dcmjs_es["default"].data.Tag.fromPString(tagInfo.tag).toCleanString();
|
|
6034
5990
|
const originalTagInfo = metadata[tag];
|
|
6035
5991
|
tagInfo.vr = originalTagInfo.vr;
|
|
6036
5992
|
} catch (error) {
|
|
@@ -6352,7 +6308,7 @@ const findViewportsByPosition = (state, {
|
|
|
6352
6308
|
};
|
|
6353
6309
|
/* harmony default export */ const src_findViewportsByPosition = (findViewportsByPosition);
|
|
6354
6310
|
// EXTERNAL MODULE: ./index.js + 35 modules
|
|
6355
|
-
var index = __webpack_require__(
|
|
6311
|
+
var index = __webpack_require__(6317);
|
|
6356
6312
|
;// CONCATENATED MODULE: ../../../extensions/default/src/commandsModule.ts
|
|
6357
6313
|
|
|
6358
6314
|
|
|
@@ -6751,7 +6707,7 @@ const commandsModule = ({
|
|
|
6751
6707
|
* for `replace` is false
|
|
6752
6708
|
*/
|
|
6753
6709
|
navigateHistory(historyArgs) {
|
|
6754
|
-
index/* history */.
|
|
6710
|
+
index/* history */.m.navigate(historyArgs.to, historyArgs.options);
|
|
6755
6711
|
},
|
|
6756
6712
|
openDICOMTagViewer() {
|
|
6757
6713
|
const {
|
|
@@ -6820,12 +6776,7 @@ const commandsModule = ({
|
|
|
6820
6776
|
excludeNonImageModalities
|
|
6821
6777
|
}) => {
|
|
6822
6778
|
const nonImageModalities = ['SR', 'SEG', 'SM', 'RTSTRUCT', 'RTPLAN', 'RTDOSE'];
|
|
6823
|
-
|
|
6824
|
-
// Sort the display sets as per the hanging protocol service viewport/display set scoring system.
|
|
6825
|
-
// The thumbnail list uses the same sorting.
|
|
6826
|
-
const dsSortFn = hangingProtocolService.getDisplaySetSortFunction();
|
|
6827
6779
|
const currentDisplaySets = [...displaySetService.activeDisplaySets];
|
|
6828
|
-
currentDisplaySets.sort(dsSortFn);
|
|
6829
6780
|
const {
|
|
6830
6781
|
activeViewportId,
|
|
6831
6782
|
viewports,
|
|
@@ -7879,8 +7830,8 @@ function getHangingProtocolModule() {
|
|
|
7879
7830
|
|
|
7880
7831
|
|
|
7881
7832
|
function DataSourceSelector() {
|
|
7882
|
-
const [appConfig] = (0,state/* useAppConfig */.
|
|
7883
|
-
const navigate = (0,dist/* useNavigate */.
|
|
7833
|
+
const [appConfig] = (0,state/* useAppConfig */.M)();
|
|
7834
|
+
const navigate = (0,dist/* useNavigate */.s0)();
|
|
7884
7835
|
|
|
7885
7836
|
// This is frowned upon, but the raw config is needed here to provide
|
|
7886
7837
|
// the selector
|
|
@@ -7904,8 +7855,8 @@ function DataSourceSelector() {
|
|
|
7904
7855
|
key: ds.sourceName
|
|
7905
7856
|
}, /*#__PURE__*/react.createElement("h1", {
|
|
7906
7857
|
className: "text-white"
|
|
7907
|
-
}, ds.configuration?.friendlyName || ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button
|
|
7908
|
-
type: ui_src/* ButtonEnums.type */.
|
|
7858
|
+
}, ds.configuration?.friendlyName || ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
|
|
7859
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary,
|
|
7909
7860
|
className: classnames_default()('ml-2'),
|
|
7910
7861
|
onClick: () => {
|
|
7911
7862
|
navigate({
|
|
@@ -7928,7 +7879,7 @@ function ItemListComponent({
|
|
|
7928
7879
|
}) {
|
|
7929
7880
|
const {
|
|
7930
7881
|
t
|
|
7931
|
-
} = (0,es/* useTranslation
|
|
7882
|
+
} = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
|
|
7932
7883
|
const [filterValue, setFilterValue] = (0,react.useState)('');
|
|
7933
7884
|
(0,react.useEffect)(() => {
|
|
7934
7885
|
setFilterValue('');
|
|
@@ -7939,18 +7890,18 @@ function ItemListComponent({
|
|
|
7939
7890
|
className: "flex items-center justify-between"
|
|
7940
7891
|
}, /*#__PURE__*/react.createElement("div", {
|
|
7941
7892
|
className: "text-primary-light text-[20px]"
|
|
7942
|
-
}, t(`Select ${itemLabel}`)), /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.
|
|
7893
|
+
}, t(`Select ${itemLabel}`)), /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.Xe, {
|
|
7943
7894
|
className: "max-w-[40%] grow",
|
|
7944
7895
|
value: filterValue,
|
|
7945
7896
|
onDebounceChange: setFilterValue,
|
|
7946
7897
|
placeholder: t(`Search ${itemLabel} list`)
|
|
7947
7898
|
})), /*#__PURE__*/react.createElement("div", {
|
|
7948
7899
|
className: "relative flex min-h-[1px] grow flex-col bg-black text-[14px]"
|
|
7949
|
-
}, itemList == null ? /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.
|
|
7900
|
+
}, itemList == null ? /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.LE, {
|
|
7950
7901
|
className: 'h-full w-full'
|
|
7951
7902
|
}) : itemList.length === 0 ? /*#__PURE__*/react.createElement("div", {
|
|
7952
7903
|
className: "text-primary-light flex h-full flex-col items-center justify-center px-6 py-4"
|
|
7953
|
-
}, /*#__PURE__*/react.createElement(ui_src/* Icon */.
|
|
7904
|
+
}, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
7954
7905
|
name: "magnifier",
|
|
7955
7906
|
className: "mb-4"
|
|
7956
7907
|
}), /*#__PURE__*/react.createElement("span", null, t(`No ${itemLabel} available`))) : /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
@@ -7962,10 +7913,10 @@ function ItemListComponent({
|
|
|
7962
7913
|
return /*#__PURE__*/react.createElement("div", {
|
|
7963
7914
|
className: classnames_default()('hover:text-primary-light hover:bg-primary-dark group mx-2 flex items-center justify-between px-6 py-2', border),
|
|
7964
7915
|
key: item.id
|
|
7965
|
-
}, /*#__PURE__*/react.createElement("div", null, item.name), /*#__PURE__*/react.createElement(ui_src/* Button
|
|
7916
|
+
}, /*#__PURE__*/react.createElement("div", null, item.name), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
|
|
7966
7917
|
onClick: () => onItemClicked(item),
|
|
7967
7918
|
className: "invisible group-hover:visible",
|
|
7968
|
-
endIcon: /*#__PURE__*/react.createElement(ui_src/* Icon */.
|
|
7919
|
+
endIcon: /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
7969
7920
|
name: "arrow-left"
|
|
7970
7921
|
})
|
|
7971
7922
|
}, t('Select')));
|
|
@@ -7986,7 +7937,7 @@ function DataSourceConfigurationModalComponent({
|
|
|
7986
7937
|
}) {
|
|
7987
7938
|
const {
|
|
7988
7939
|
t
|
|
7989
|
-
} = (0,es/* useTranslation
|
|
7940
|
+
} = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
|
|
7990
7941
|
const [itemList, setItemList] = (0,react.useState)();
|
|
7991
7942
|
const [selectedItems, setSelectedItems] = (0,react.useState)(configuredItems);
|
|
7992
7943
|
const [errorMessage, setErrorMessage] = (0,react.useState)();
|
|
@@ -8060,9 +8011,9 @@ function DataSourceConfigurationModalComponent({
|
|
|
8060
8011
|
} : undefined
|
|
8061
8012
|
}, /*#__PURE__*/react.createElement("div", {
|
|
8062
8013
|
className: "text- flex items-center gap-2"
|
|
8063
|
-
}, itemLabelIndex < selectedItems.length ? /*#__PURE__*/react.createElement(ui_src/* Icon */.
|
|
8014
|
+
}, itemLabelIndex < selectedItems.length ? /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
8064
8015
|
name: "status-tracked"
|
|
8065
|
-
}) : /*#__PURE__*/react.createElement(ui_src/* Icon */.
|
|
8016
|
+
}) : /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
8066
8017
|
name: "status-untracked"
|
|
8067
8018
|
}), /*#__PURE__*/react.createElement("div", {
|
|
8068
8019
|
className: classnames_default()(NO_WRAP_ELLIPSIS_CLASS_NAMES)
|
|
@@ -8096,11 +8047,11 @@ function DataSourceConfigurationComponent({
|
|
|
8096
8047
|
}) {
|
|
8097
8048
|
const {
|
|
8098
8049
|
t
|
|
8099
|
-
} = (0,es/* useTranslation
|
|
8050
|
+
} = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
|
|
8100
8051
|
const {
|
|
8101
8052
|
show,
|
|
8102
8053
|
hide
|
|
8103
|
-
} = (0,ui_src/* useModal */.
|
|
8054
|
+
} = (0,ui_src/* useModal */.dd)();
|
|
8104
8055
|
const {
|
|
8105
8056
|
customizationService
|
|
8106
8057
|
} = servicesManager.services;
|
|
@@ -8159,7 +8110,7 @@ function DataSourceConfigurationComponent({
|
|
|
8159
8110
|
}, [configurationAPI, configuredItems, showConfigurationModal]);
|
|
8160
8111
|
return configuredItems ? /*#__PURE__*/react.createElement("div", {
|
|
8161
8112
|
className: "text-aqua-pale flex items-center overflow-hidden"
|
|
8162
|
-
}, /*#__PURE__*/react.createElement(ui_src/* Icon */.
|
|
8113
|
+
}, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
8163
8114
|
name: "settings",
|
|
8164
8115
|
className: "mr-2.5 h-3.5 w-3.5 shrink-0 cursor-pointer",
|
|
8165
8116
|
onClick: showConfigurationModal
|
|
@@ -8348,6 +8299,8 @@ class GoogleCloudDataSourceConfigurationAPI {
|
|
|
8348
8299
|
|
|
8349
8300
|
|
|
8350
8301
|
|
|
8302
|
+
const getCustomizationModule_formatDate = src.utils.formatDate;
|
|
8303
|
+
|
|
8351
8304
|
/**
|
|
8352
8305
|
*
|
|
8353
8306
|
* Note: this is an example of how the customization module can be used
|
|
@@ -8490,6 +8443,21 @@ function getCustomizationModule({
|
|
|
8490
8443
|
}, {
|
|
8491
8444
|
id: 'progressDropdownWithServiceComponent',
|
|
8492
8445
|
component: ProgressDropdownWithService
|
|
8446
|
+
}, {
|
|
8447
|
+
id: 'studyBrowser.sortFunctions',
|
|
8448
|
+
values: [{
|
|
8449
|
+
label: 'Series Number',
|
|
8450
|
+
sortFunction: (a, b) => {
|
|
8451
|
+
return a?.SeriesNumber - b?.SeriesNumber;
|
|
8452
|
+
}
|
|
8453
|
+
}, {
|
|
8454
|
+
label: 'Series Date',
|
|
8455
|
+
sortFunction: (a, b) => {
|
|
8456
|
+
const dateA = new Date(getCustomizationModule_formatDate(a?.SeriesDate));
|
|
8457
|
+
const dateB = new Date(getCustomizationModule_formatDate(b?.SeriesDate));
|
|
8458
|
+
return dateB.getTime() - dateA.getTime();
|
|
8459
|
+
}
|
|
8460
|
+
}]
|
|
8493
8461
|
}]
|
|
8494
8462
|
}];
|
|
8495
8463
|
}
|
|
@@ -8504,7 +8472,7 @@ const LineChartViewport = ({
|
|
|
8504
8472
|
axis: chartAxis,
|
|
8505
8473
|
series: chartSeries
|
|
8506
8474
|
} = displaySet.instance.chartData;
|
|
8507
|
-
return /*#__PURE__*/react.createElement(ui_src/* LineChart */.
|
|
8475
|
+
return /*#__PURE__*/react.createElement(ui_src/* LineChart */.wW, {
|
|
8508
8476
|
showLegend: true,
|
|
8509
8477
|
legendWidth: 150,
|
|
8510
8478
|
axis: {
|
|
@@ -8542,10 +8510,10 @@ const getViewportModule = ({
|
|
|
8542
8510
|
};
|
|
8543
8511
|
|
|
8544
8512
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/calculate-suv/dist/calculate-suv.esm.js
|
|
8545
|
-
var calculate_suv_esm = __webpack_require__(
|
|
8513
|
+
var calculate_suv_esm = __webpack_require__(15747);
|
|
8546
8514
|
;// CONCATENATED MODULE: ../../../extensions/default/src/getPTImageIdInstanceMetadata.ts
|
|
8547
8515
|
|
|
8548
|
-
const getPTImageIdInstanceMetadata_metadataProvider = src
|
|
8516
|
+
const getPTImageIdInstanceMetadata_metadataProvider = src["default"].classes.MetadataProvider;
|
|
8549
8517
|
function getPTImageIdInstanceMetadata(imageId) {
|
|
8550
8518
|
const dicomMetaData = getPTImageIdInstanceMetadata_metadataProvider.get('instance', imageId);
|
|
8551
8519
|
if (!dicomMetaData) {
|
|
@@ -8801,7 +8769,7 @@ const handlePETImageMetadata = ({
|
|
|
8801
8769
|
if (!instanceMetadataArray.length) {
|
|
8802
8770
|
return;
|
|
8803
8771
|
}
|
|
8804
|
-
const suvScalingFactors = (0,calculate_suv_esm/* calculateSUVScalingFactors */.
|
|
8772
|
+
const suvScalingFactors = (0,calculate_suv_esm/* calculateSUVScalingFactors */.d)(instanceMetadataArray);
|
|
8805
8773
|
instanceMetadataArray.forEach((instanceMetadata, index) => {
|
|
8806
8774
|
init_metadataProvider.addCustomMetadata(imageIds[index], 'scalingModule', suvScalingFactors[index]);
|
|
8807
8775
|
});
|