@ohif/app 3.8.0-beta.2 → 3.8.0-beta.21
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/{99.bundle.162517ee32cfe72a492e.js → 126.bundle.ecc43640cdea0799d233.js} +199 -137
- package/dist/{181.bundle.2ddc6f90740895a3949c.js → 181.bundle.bce8ecb8af857b2513df.js} +6 -6
- package/dist/{19.bundle.b3e9246d53aa79ae7960.js → 19.bundle.83bb9e609a5341b2c539.js} +7 -7
- package/dist/{221.bundle.26e8c46147d22ac7db87.js → 221.bundle.85989130912bdd3e4786.js} +10 -10
- package/dist/{743.bundle.489f7df3a089d4d374e1.js → 231.bundle.8aad229e39e23731d6c1.js} +18205 -17189
- package/dist/{236.bundle.2a2baeb75c8d28cc00bb.js → 236.bundle.07aab629b6fae960fd8b.js} +3 -3
- package/dist/{250.bundle.8084960e3318cda37317.js → 250.bundle.3f9fbb8ea16d267d6405.js} +6 -6
- package/dist/{359.bundle.161e1d8b66e9040c25ed.js → 359.bundle.51a3b9589ec6df17ceb3.js} +2 -2
- package/dist/{410.bundle.18de66c1ed27406c254f.js → 410.bundle.02218cd4a0d6112a31c1.js} +2 -2
- package/dist/{342.bundle.c11bb4c95bfb7fb0cfda.js → 43.bundle.b4a1abbd1256e58007eb.js} +131 -53
- package/dist/{451.bundle.9fd36f52ff69594f0669.js → 451.bundle.57c21db5d003c75e9d61.js} +2 -2
- package/dist/{471.bundle.b3d77b83b1593c09a504.js → 471.bundle.49c8d281adbae4a2c4df.js} +2 -2
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 485.bundle.8667a696ac2eaf99e4fa.js} +9 -98
- package/dist/{370.bundle.e6179cf74d133ce903f9.js → 563.bundle.cd25976497ad15a91e75.js} +320 -179
- package/dist/{82.bundle.48e08e39193f3f74377d.js → 575.bundle.8933c681f870a88af641.js} +166 -59
- package/dist/{613.bundle.9b005bbf039de90b69ee.js → 613.bundle.3239437a99b4a8cb954c.js} +7 -3
- package/dist/{663.bundle.e23c4e894c0792804c6f.js → 663.bundle.12656b0d6714c8f86736.js} +13 -11
- package/dist/{788.bundle.c3eec6c3ceea01af04b0.js → 788.bundle.0f9ae3c58f0f147f1fb9.js} +6 -6
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 82.bundle.122d1b58bc3e22439dd9.js} +12007 -3800
- package/dist/{822.bundle.891f2e57b1b7bc2f4cb4.js → 822.bundle.4f0424bd1dc0308bb489.js} +3 -3
- package/dist/{886.bundle.4b3a7f2079d085fdbcb3.js → 886.bundle.c8dd3ecc42a4253de278.js} +2 -2
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 933.bundle.6184b84edf14c687b936.js} +29 -10
- package/dist/{app.bundle.e6a19e792f9e31bb385a.js → app.bundle.82dcae1eee3b35631dd0.js} +11801 -11307
- package/dist/app.bundle.css +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- /package/dist/{12.bundle.7d9eec7fe48bf64d27fc.js → 12.bundle.1b0367478839ed9be1a7.js} +0 -0
- /package/dist/{202.bundle.d3490836f71e001dd30f.js → 202.bundle.ec714227032b22d4fa24.js} +0 -0
- /package/dist/{281.bundle.7accd3c1ccfd8625d3b6.js → 281.bundle.94ff32614db4a86841b5.js} +0 -0
- /package/dist/{506.bundle.d47786b157f68022ef80.js → 506.bundle.738a7d987830d0e9a157.js} +0 -0
- /package/dist/{82.css → 575.css} +0 -0
- /package/dist/{687.bundle.7dadbdd458571591c220.js → 687.bundle.626b5a936b1111eaa753.js} +0 -0
- /package/dist/{814.bundle.52c2b553bac85767a145.js → 814.bundle.aa347b0ce9d2ab9a055d.js} +0 -0
|
@@ -20,8 +20,8 @@ const id = package_namespaceObject.u2;
|
|
|
20
20
|
|
|
21
21
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
22
22
|
var react = __webpack_require__(43001);
|
|
23
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
24
|
-
var src = __webpack_require__(
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
24
|
+
var src = __webpack_require__(22582);
|
|
25
25
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
26
26
|
var core_src = __webpack_require__(71771);
|
|
27
27
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
@@ -2598,7 +2598,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2598
2598
|
|
|
2599
2599
|
|
|
2600
2600
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
2601
|
-
return Promise.all(/* import() */[__webpack_require__.e(
|
|
2601
|
+
return Promise.all(/* import() */[__webpack_require__.e(231), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(23), __webpack_require__.e(43), __webpack_require__.e(250)]).then(__webpack_require__.bind(__webpack_require__, 76516));
|
|
2602
2602
|
});
|
|
2603
2603
|
const MicroscopyViewport = props => {
|
|
2604
2604
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -22,8 +22,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
|
22
22
|
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
23
23
|
var lodash_debounce = __webpack_require__(8324);
|
|
24
24
|
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
25
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
26
|
-
var src = __webpack_require__(
|
|
25
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
26
|
+
var src = __webpack_require__(22582);
|
|
27
27
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
|
|
28
28
|
// extracted by mini-css-extract-plugin
|
|
29
29
|
|
|
@@ -59,8 +59,8 @@ const listComponentGenerator = props => {
|
|
|
59
59
|
|
|
60
60
|
// EXTERNAL MODULE: ../../../node_modules/moment/moment.js
|
|
61
61
|
var moment_moment = __webpack_require__(71271);
|
|
62
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
63
|
-
var esm = __webpack_require__(
|
|
62
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
|
|
63
|
+
var esm = __webpack_require__(62231);
|
|
64
64
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/components/ViewportOverlay/utils.ts
|
|
65
65
|
|
|
66
66
|
|
|
@@ -343,8 +343,8 @@ function getDicomWebClient(_ref) {
|
|
|
343
343
|
}
|
|
344
344
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
345
345
|
var dcmjs_es = __webpack_require__(67540);
|
|
346
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
347
|
-
var default_src = __webpack_require__(
|
|
346
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 77 modules
|
|
347
|
+
var default_src = __webpack_require__(4043);
|
|
348
348
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/cleanDenaturalizedDataset.ts
|
|
349
349
|
|
|
350
350
|
function isPrimitive(v) {
|
|
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
14
14
|
|
|
15
15
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
16
16
|
var src = __webpack_require__(71771);
|
|
17
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
18
|
-
var ui_src = __webpack_require__(
|
|
17
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
18
|
+
var ui_src = __webpack_require__(22582);
|
|
19
19
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/initToolGroups.js
|
|
20
20
|
const toolGroupIds = {
|
|
21
21
|
CT: 'ctToolGroup',
|
|
@@ -12,8 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ basic_dev_mode_src)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
16
|
-
var src = __webpack_require__(
|
|
15
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
16
|
+
var src = __webpack_require__(22582);
|
|
17
17
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
18
18
|
var core_src = __webpack_require__(71771);
|
|
19
19
|
;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/toolbarButtons.js
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
2
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[43],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 4043:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -512,10 +512,12 @@ class RetrieveMetadataLoaderSync extends RetrieveMetadataLoader {
|
|
|
512
512
|
|
|
513
513
|
|
|
514
514
|
/**
|
|
515
|
-
* Creates an immutable series loader object which loads each series sequentially using the iterator interface
|
|
515
|
+
* Creates an immutable series loader object which loads each series sequentially using the iterator interface.
|
|
516
|
+
*
|
|
516
517
|
* @param {DICOMWebClient} dicomWebClient The DICOMWebClient instance to be used for series load
|
|
517
518
|
* @param {string} studyInstanceUID The Study Instance UID from which series will be loaded
|
|
518
519
|
* @param {Array} seriesInstanceUIDList A list of Series Instance UIDs
|
|
520
|
+
*
|
|
519
521
|
* @returns {Object} Returns an object which supports loading of instances from each of given Series Instance UID
|
|
520
522
|
*/
|
|
521
523
|
function makeSeriesAsyncLoader(client, studyInstanceUID, seriesInstanceUIDList) {
|
|
@@ -613,37 +615,92 @@ class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader {
|
|
|
613
615
|
* Retrieve Study metadata from a DICOM server. If the server is configured to use lazy load, only the first series
|
|
614
616
|
* will be loaded and the property "studyLoader" will be set to let consumer load remaining series as needed.
|
|
615
617
|
*
|
|
616
|
-
* @param {
|
|
617
|
-
* @param {
|
|
618
|
-
* @param {
|
|
619
|
-
* @param {
|
|
620
|
-
* @
|
|
618
|
+
* @param {*} dicomWebClient The DICOMWebClient instance to be used for series load
|
|
619
|
+
* @param {*} StudyInstanceUID The UID of the Study to be retrieved
|
|
620
|
+
* @param {*} enableStudyLazyLoad Whether the study metadata should be loaded asynchronously
|
|
621
|
+
* @param {object} filters Object containing filters to be applied on retrieve metadata process
|
|
622
|
+
* @param {string} [filters.seriesInstanceUID] Series instance uid to filter results against
|
|
623
|
+
* @param {array} [filters.SeriesInstanceUIDs] Series instance uids to filter results against
|
|
624
|
+
* @param {function} [sortCriteria] Sort criteria function
|
|
625
|
+
* @param {function} [sortFunction] Sort function
|
|
626
|
+
*
|
|
627
|
+
* @returns {Promise} A promises that resolves the study descriptor object
|
|
621
628
|
*/
|
|
622
|
-
async function RetrieveMetadata(dicomWebClient,
|
|
629
|
+
async function RetrieveMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad) {
|
|
623
630
|
let filters = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
624
631
|
let sortCriteria = arguments.length > 4 ? arguments[4] : undefined;
|
|
625
632
|
let sortFunction = arguments.length > 5 ? arguments[5] : undefined;
|
|
626
633
|
const RetrieveMetadataLoader = enableStudyLazyLoad !== false ? RetrieveMetadataLoaderAsync : RetrieveMetadataLoaderSync;
|
|
627
|
-
const retrieveMetadataLoader = new RetrieveMetadataLoader(dicomWebClient,
|
|
634
|
+
const retrieveMetadataLoader = new RetrieveMetadataLoader(dicomWebClient, StudyInstanceUID, filters, sortCriteria, sortFunction);
|
|
628
635
|
const data = await retrieveMetadataLoader.execLoad();
|
|
629
636
|
return data;
|
|
630
637
|
}
|
|
631
638
|
/* harmony default export */ const retrieveMetadata = (RetrieveMetadata);
|
|
639
|
+
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/utils/retrieveMetadataFiltered.js
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* Retrieve metadata filtered.
|
|
644
|
+
*
|
|
645
|
+
* @param {*} dicomWebClient The DICOMWebClient instance to be used for series load
|
|
646
|
+
* @param {*} StudyInstanceUID The UID of the Study to be retrieved
|
|
647
|
+
* @param {*} enableStudyLazyLoad Whether the study metadata should be loaded asynchronously
|
|
648
|
+
* @param {object} filters Object containing filters to be applied on retrieve metadata process
|
|
649
|
+
* @param {string} [filters.seriesInstanceUID] Series instance uid to filter results against
|
|
650
|
+
* @param {array} [filters.SeriesInstanceUIDs] Series instance uids to filter results against
|
|
651
|
+
* @param {function} [sortCriteria] Sort criteria function
|
|
652
|
+
* @param {function} [sortFunction] Sort function
|
|
653
|
+
*
|
|
654
|
+
* @returns
|
|
655
|
+
*/
|
|
656
|
+
function retrieveMetadataFiltered(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction) {
|
|
657
|
+
const {
|
|
658
|
+
SeriesInstanceUIDs
|
|
659
|
+
} = filters;
|
|
660
|
+
return new Promise((resolve, reject) => {
|
|
661
|
+
const promises = SeriesInstanceUIDs.map(uid => {
|
|
662
|
+
const seriesSpecificFilters = Object.assign({}, filters, {
|
|
663
|
+
seriesInstanceUID: uid
|
|
664
|
+
});
|
|
665
|
+
return retrieveMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, seriesSpecificFilters, sortCriteria, sortFunction);
|
|
666
|
+
});
|
|
667
|
+
Promise.all(promises).then(results => {
|
|
668
|
+
const aggregatedResult = {
|
|
669
|
+
preLoadData: [],
|
|
670
|
+
promises: []
|
|
671
|
+
};
|
|
672
|
+
results.forEach(_ref => {
|
|
673
|
+
let {
|
|
674
|
+
preLoadData,
|
|
675
|
+
promises
|
|
676
|
+
} = _ref;
|
|
677
|
+
aggregatedResult.preLoadData = aggregatedResult.preLoadData.concat(preLoadData);
|
|
678
|
+
aggregatedResult.promises = aggregatedResult.promises.concat(promises);
|
|
679
|
+
});
|
|
680
|
+
resolve(aggregatedResult);
|
|
681
|
+
}, reject);
|
|
682
|
+
});
|
|
683
|
+
}
|
|
684
|
+
/* harmony default export */ const utils_retrieveMetadataFiltered = (retrieveMetadataFiltered);
|
|
632
685
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/retrieveStudyMetadata.js
|
|
633
686
|
|
|
687
|
+
|
|
634
688
|
const moduleName = 'RetrieveStudyMetadata';
|
|
635
689
|
// Cache for promises. Prevents unnecessary subsequent calls to the server
|
|
636
690
|
const StudyMetaDataPromises = new Map();
|
|
637
691
|
|
|
638
692
|
/**
|
|
639
|
-
* Retrieves study metadata
|
|
693
|
+
* Retrieves study metadata.
|
|
640
694
|
*
|
|
641
|
-
* @param {Object}
|
|
695
|
+
* @param {Object} dicomWebClient The DICOMWebClient instance to be used for series load
|
|
642
696
|
* @param {string} StudyInstanceUID The UID of the Study to be retrieved
|
|
643
|
-
* @param {boolean}
|
|
644
|
-
* @param {
|
|
645
|
-
* @param {
|
|
646
|
-
* @param {
|
|
697
|
+
* @param {boolean} enableStudyLazyLoad Whether the study metadata should be loaded asynchronously.
|
|
698
|
+
* @param {Object} [filters] Object containing filters to be applied on retrieve metadata process
|
|
699
|
+
* @param {string} [filters.seriesInstanceUID] Series instance uid to filter results against
|
|
700
|
+
* @param {array} [filters.SeriesInstanceUIDs] Series instance uids to filter results against
|
|
701
|
+
* @param {function} [sortCriteria] Sort criteria function
|
|
702
|
+
* @param {function} [sortFunction] Sort function
|
|
703
|
+
*
|
|
647
704
|
* @returns {Promise} that will be resolved with the metadata or rejected with the error
|
|
648
705
|
*/
|
|
649
706
|
function retrieveStudyMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction) {
|
|
@@ -662,13 +719,17 @@ function retrieveStudyMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazy
|
|
|
662
719
|
if (StudyMetaDataPromises.has(StudyInstanceUID)) {
|
|
663
720
|
return StudyMetaDataPromises.get(StudyInstanceUID);
|
|
664
721
|
}
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
722
|
+
let promise;
|
|
723
|
+
if (filters && filters.SeriesInstanceUIDs) {
|
|
724
|
+
promise = utils_retrieveMetadataFiltered(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction);
|
|
725
|
+
} else {
|
|
726
|
+
// Create a promise to handle the data retrieval
|
|
727
|
+
promise = new Promise((resolve, reject) => {
|
|
728
|
+
retrieveMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction).then(function (data) {
|
|
729
|
+
resolve(data);
|
|
730
|
+
}, reject);
|
|
731
|
+
});
|
|
732
|
+
}
|
|
672
733
|
|
|
673
734
|
// Store the promise in cache
|
|
674
735
|
StudyMetaDataPromises.set(StudyInstanceUID, promise);
|
|
@@ -677,10 +738,9 @@ function retrieveStudyMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazy
|
|
|
677
738
|
|
|
678
739
|
/**
|
|
679
740
|
* Delete the cached study metadata retrieval promise to ensure that the browser will
|
|
680
|
-
* re-retrieve the study metadata when it is next requested
|
|
741
|
+
* re-retrieve the study metadata when it is next requested.
|
|
681
742
|
*
|
|
682
743
|
* @param {String} StudyInstanceUID The UID of the Study to be removed from cache
|
|
683
|
-
*
|
|
684
744
|
*/
|
|
685
745
|
function deleteStudyMetadataPromise(StudyInstanceUID) {
|
|
686
746
|
if (StudyMetaDataPromises.has(StudyInstanceUID)) {
|
|
@@ -1324,6 +1384,9 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1324
1384
|
}
|
|
1325
1385
|
function setSuccessFlag() {
|
|
1326
1386
|
const study = src.DicomMetadataStore.getStudy(StudyInstanceUID, madeInClient);
|
|
1387
|
+
if (!study) {
|
|
1388
|
+
return;
|
|
1389
|
+
}
|
|
1327
1390
|
study.isLoaded = true;
|
|
1328
1391
|
}
|
|
1329
1392
|
|
|
@@ -1424,6 +1487,20 @@ let _store = {
|
|
|
1424
1487
|
// }
|
|
1425
1488
|
};
|
|
1426
1489
|
|
|
1490
|
+
function wrapSequences(obj) {
|
|
1491
|
+
return Object.keys(obj).reduce((acc, key) => {
|
|
1492
|
+
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
1493
|
+
// Recursively wrap sequences for nested objects
|
|
1494
|
+
acc[key] = wrapSequences(obj[key]);
|
|
1495
|
+
} else {
|
|
1496
|
+
acc[key] = obj[key];
|
|
1497
|
+
}
|
|
1498
|
+
if (key.endsWith('Sequence')) {
|
|
1499
|
+
acc[key] = src["default"].utils.addAccessors(acc[key]);
|
|
1500
|
+
}
|
|
1501
|
+
return acc;
|
|
1502
|
+
}, Array.isArray(obj) ? [] : {});
|
|
1503
|
+
}
|
|
1427
1504
|
const getMetaDataByURL = url => {
|
|
1428
1505
|
return _store.urls.find(metaData => metaData.url === url);
|
|
1429
1506
|
};
|
|
@@ -1585,8 +1662,13 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1585
1662
|
const numberOfSeries = series.length;
|
|
1586
1663
|
series.forEach((series, index) => {
|
|
1587
1664
|
const instances = series.instances.map(instance => {
|
|
1665
|
+
// for instance.metadata if the key ends with sequence then
|
|
1666
|
+
// we need to add a proxy to the first item in the sequence
|
|
1667
|
+
// so that we can access the value of the sequence
|
|
1668
|
+
// by using sequenceName.value
|
|
1669
|
+
const modifiedMetadata = wrapSequences(instance.metadata);
|
|
1588
1670
|
const obj = {
|
|
1589
|
-
...
|
|
1671
|
+
...modifiedMetadata,
|
|
1590
1672
|
url: instance.url,
|
|
1591
1673
|
imageId: instance.url,
|
|
1592
1674
|
...series,
|
|
@@ -2052,8 +2134,8 @@ var react = __webpack_require__(43001);
|
|
|
2052
2134
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
2053
2135
|
var prop_types = __webpack_require__(3827);
|
|
2054
2136
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
2055
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
2056
|
-
var ui_src = __webpack_require__(
|
|
2137
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
2138
|
+
var ui_src = __webpack_require__(22582);
|
|
2057
2139
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
2058
2140
|
var state = __webpack_require__(62657);
|
|
2059
2141
|
// EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
|
|
@@ -2062,8 +2144,8 @@ var dist = __webpack_require__(62474);
|
|
|
2062
2144
|
var es = __webpack_require__(69190);
|
|
2063
2145
|
// EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
|
|
2064
2146
|
var react_router_dist = __webpack_require__(85066);
|
|
2065
|
-
// EXTERNAL MODULE: ../../i18n/src/index.js +
|
|
2066
|
-
var i18n_src = __webpack_require__(
|
|
2147
|
+
// EXTERNAL MODULE: ../../i18n/src/index.js + 132 modules
|
|
2148
|
+
var i18n_src = __webpack_require__(45964);
|
|
2067
2149
|
// EXTERNAL MODULE: ../../../node_modules/classnames/index.js
|
|
2068
2150
|
var classnames = __webpack_require__(44921);
|
|
2069
2151
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
@@ -2071,6 +2153,7 @@ var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
|
2071
2153
|
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); }
|
|
2072
2154
|
|
|
2073
2155
|
|
|
2156
|
+
|
|
2074
2157
|
function Toolbar(_ref) {
|
|
2075
2158
|
let {
|
|
2076
2159
|
servicesManager
|
|
@@ -2078,15 +2161,21 @@ function Toolbar(_ref) {
|
|
|
2078
2161
|
const {
|
|
2079
2162
|
toolbarService
|
|
2080
2163
|
} = servicesManager.services;
|
|
2164
|
+
const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
|
|
2081
2165
|
const [toolbarButtons, setToolbarButtons] = (0,react.useState)([]);
|
|
2082
2166
|
(0,react.useEffect)(() => {
|
|
2167
|
+
const updateToolbar = () => {
|
|
2168
|
+
const toolGroupId = viewportGridService.getActiveViewportOptionByKey('toolGroupId') ?? 'default';
|
|
2169
|
+
setToolbarButtons(toolbarService.getButtonSection(toolGroupId));
|
|
2170
|
+
};
|
|
2083
2171
|
const {
|
|
2084
2172
|
unsubscribe
|
|
2085
|
-
} = toolbarService.subscribe(toolbarService.EVENTS.TOOL_BAR_MODIFIED,
|
|
2173
|
+
} = toolbarService.subscribe(toolbarService.EVENTS.TOOL_BAR_MODIFIED, updateToolbar);
|
|
2174
|
+
updateToolbar();
|
|
2086
2175
|
return () => {
|
|
2087
2176
|
unsubscribe();
|
|
2088
2177
|
};
|
|
2089
|
-
}, [toolbarService]);
|
|
2178
|
+
}, [toolbarService, viewportGrid]);
|
|
2090
2179
|
const onInteraction = (0,react.useCallback)(args => toolbarService.recordInteraction(args), [toolbarService]);
|
|
2091
2180
|
return /*#__PURE__*/react.createElement(react.Fragment, null, toolbarButtons.map(toolDef => {
|
|
2092
2181
|
const {
|
|
@@ -2166,14 +2255,14 @@ function ViewerHeader(_ref) {
|
|
|
2166
2255
|
hotkeyDefinitions,
|
|
2167
2256
|
hotkeyDefaults
|
|
2168
2257
|
} = hotkeysManager;
|
|
2169
|
-
const versionNumber = "3.8.0-beta.
|
|
2170
|
-
const commitHash = "
|
|
2258
|
+
const versionNumber = "3.8.0-beta.21";
|
|
2259
|
+
const commitHash = "00e751933ac6d611a34773fa69594243f1b99082";
|
|
2171
2260
|
const menuOptions = [{
|
|
2172
2261
|
title: t('Header:About'),
|
|
2173
2262
|
icon: 'info',
|
|
2174
2263
|
onClick: () => show({
|
|
2175
2264
|
content: ui_src/* AboutModal */.tk,
|
|
2176
|
-
title: 'About OHIF Viewer',
|
|
2265
|
+
title: t('AboutModal:About OHIF Viewer'),
|
|
2177
2266
|
contentProps: {
|
|
2178
2267
|
versionNumber,
|
|
2179
2268
|
commitHash
|
|
@@ -2183,7 +2272,7 @@ function ViewerHeader(_ref) {
|
|
|
2183
2272
|
title: t('Header:Preferences'),
|
|
2184
2273
|
icon: 'settings',
|
|
2185
2274
|
onClick: () => show({
|
|
2186
|
-
title: t('UserPreferencesModal:User
|
|
2275
|
+
title: t('UserPreferencesModal:User preferences'),
|
|
2187
2276
|
content: ui_src/* UserPreferences */.i1,
|
|
2188
2277
|
contentProps: {
|
|
2189
2278
|
hotkeyDefaults: hotkeysManager.getValidHotkeyDefinitions(hotkeyDefaults),
|
|
@@ -2863,7 +2952,7 @@ function WrappedPanelStudyBrowser(_ref) {
|
|
|
2863
2952
|
// already determined our datasource
|
|
2864
2953
|
const dataSource = extensionManager.getDataSources()[0];
|
|
2865
2954
|
const _getStudiesForPatientByMRN = Panels_getStudiesForPatientByMRN.bind(null, dataSource);
|
|
2866
|
-
const _getImageSrcFromImageId = _createGetImageSrcFromImageIdFn(extensionManager);
|
|
2955
|
+
const _getImageSrcFromImageId = (0,react.useCallback)(_createGetImageSrcFromImageIdFn(extensionManager), []);
|
|
2867
2956
|
const _requestDisplaySetCreationForStudy = Panels_requestDisplaySetCreationForStudy.bind(null, dataSource);
|
|
2868
2957
|
return /*#__PURE__*/react.createElement(Panels_PanelStudyBrowser, {
|
|
2869
2958
|
servicesManager: servicesManager,
|
|
@@ -4320,7 +4409,7 @@ ToolbarButtonWithServices.propTypes = {
|
|
|
4320
4409
|
state: prop_types_default().shape({
|
|
4321
4410
|
primaryToolId: (prop_types_default()).string,
|
|
4322
4411
|
toggles: prop_types_default().objectOf((prop_types_default()).bool),
|
|
4323
|
-
groups: prop_types_default().objectOf((prop_types_default()).
|
|
4412
|
+
groups: prop_types_default().objectOf((prop_types_default()).any)
|
|
4324
4413
|
}).isRequired
|
|
4325
4414
|
}).isRequired
|
|
4326
4415
|
}).isRequired
|
|
@@ -5626,9 +5715,6 @@ const commandsModule = _ref => {
|
|
|
5626
5715
|
delete displaySetSelectorMap[`${activeStudyUID || hpInfo.activeStudyUID}:activeDisplaySet:0`];
|
|
5627
5716
|
stateSyncService.store(stateSyncReduce);
|
|
5628
5717
|
// This is a default action applied
|
|
5629
|
-
const {
|
|
5630
|
-
protocol
|
|
5631
|
-
} = hangingProtocolService.getActiveProtocol();
|
|
5632
5718
|
actions.toggleHpTools();
|
|
5633
5719
|
|
|
5634
5720
|
// try to use the same tool in the new hanging protocol stage
|
|
@@ -5649,17 +5735,6 @@ const commandsModule = _ref => {
|
|
|
5649
5735
|
});
|
|
5650
5736
|
}
|
|
5651
5737
|
}
|
|
5652
|
-
|
|
5653
|
-
// Send the notification about updating the state
|
|
5654
|
-
if (protocolId !== hpInfo.protocolId) {
|
|
5655
|
-
// The old protocol callbacks are used for turning off things
|
|
5656
|
-
// like crosshairs when moving to the new HP
|
|
5657
|
-
commandsManager.run(oldProtocol.callbacks?.onProtocolExit);
|
|
5658
|
-
// The new protocol callback is used for things like
|
|
5659
|
-
// activating modes etc.
|
|
5660
|
-
}
|
|
5661
|
-
|
|
5662
|
-
commandsManager.run(protocol.callbacks?.onProtocolEnter);
|
|
5663
5738
|
return true;
|
|
5664
5739
|
} catch (e) {
|
|
5665
5740
|
console.error(e);
|
|
@@ -7328,8 +7403,11 @@ const handlePETImageMetadata = _ref2 => {
|
|
|
7328
7403
|
const {
|
|
7329
7404
|
instances
|
|
7330
7405
|
} = src.DicomMetadataStore.getSeries(StudyInstanceUID, SeriesInstanceUID);
|
|
7406
|
+
if (!instances?.length) {
|
|
7407
|
+
return;
|
|
7408
|
+
}
|
|
7331
7409
|
const modality = instances[0].Modality;
|
|
7332
|
-
if (modality !== 'PT') {
|
|
7410
|
+
if (!modality || modality !== 'PT') {
|
|
7333
7411
|
return;
|
|
7334
7412
|
}
|
|
7335
7413
|
const imageIds = instances.map(instance => instance.imageId);
|
|
@@ -21,8 +21,8 @@ var react = __webpack_require__(43001);
|
|
|
21
21
|
var es = __webpack_require__(69190);
|
|
22
22
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
23
23
|
var src = __webpack_require__(71771);
|
|
24
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
25
|
-
var ui_src = __webpack_require__(
|
|
24
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
25
|
+
var ui_src = __webpack_require__(22582);
|
|
26
26
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/initSEGToolGroup.ts
|
|
27
27
|
function createSEGToolGroupAndAddTools(ToolGroupService, customizationService, toolGroupId) {
|
|
28
28
|
const {
|
|
@@ -19,8 +19,8 @@ var prop_types = __webpack_require__(3827);
|
|
|
19
19
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
20
20
|
// EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
|
|
21
21
|
var src = __webpack_require__(71771);
|
|
22
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
23
|
-
var ui_src = __webpack_require__(
|
|
22
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
23
|
+
var ui_src = __webpack_require__(22582);
|
|
24
24
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
|
|
25
25
|
|
|
26
26
|
const RESPONSE = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
1
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[485],{
|
|
2
2
|
|
|
3
3
|
/***/ 82803:
|
|
4
4
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
@@ -92,7 +92,7 @@ exports.Z = function (_ref) {
|
|
|
92
92
|
|
|
93
93
|
/***/ }),
|
|
94
94
|
|
|
95
|
-
/***/
|
|
95
|
+
/***/ 96538:
|
|
96
96
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
97
97
|
|
|
98
98
|
"use strict";
|
|
@@ -106,99 +106,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
106
106
|
|
|
107
107
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/macros.js + 6 modules
|
|
108
108
|
var macros = __webpack_require__(41168);
|
|
109
|
-
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/PolyData.js +
|
|
110
|
-
var PolyData = __webpack_require__(
|
|
111
|
-
// EXTERNAL MODULE: ../../../node_modules/@
|
|
112
|
-
var
|
|
113
|
-
// EXTERNAL MODULE: ../../../node_modules/@babel/runtime/helpers/esm/createClass.js
|
|
114
|
-
var createClass = __webpack_require__(75755);
|
|
115
|
-
;// CONCATENATED MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/EdgeLocator.js
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
var EdgeLocator = /*#__PURE__*/function () {
|
|
120
|
-
function EdgeLocator() {
|
|
121
|
-
var oriented = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
122
|
-
|
|
123
|
-
(0,classCallCheck/* default */.Z)(this, EdgeLocator);
|
|
124
|
-
|
|
125
|
-
this.oriented = oriented;
|
|
126
|
-
this.edgeMap = new Map();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
(0,createClass/* default */.Z)(EdgeLocator, [{
|
|
130
|
-
key: "initialize",
|
|
131
|
-
value: function initialize() {
|
|
132
|
-
this.edgeMap.clear();
|
|
133
|
-
}
|
|
134
|
-
}, {
|
|
135
|
-
key: "computeEdgeKey",
|
|
136
|
-
value: function computeEdgeKey(pointId0, pointId1) {
|
|
137
|
-
return this.oriented || pointId0 < pointId1 ? // Cantor pairing function:
|
|
138
|
-
0.5 * (pointId0 * pointId1) * (pointId0 * pointId1 + 1) + pointId1 : 0.5 * (pointId1 * pointId0) * (pointId1 * pointId0 + 1) + pointId0;
|
|
139
|
-
}
|
|
140
|
-
}, {
|
|
141
|
-
key: "insertUniqueEdge",
|
|
142
|
-
value: function insertUniqueEdge(pointId0, pointId1, newEdgeValue) {
|
|
143
|
-
// Generate a unique key
|
|
144
|
-
var key = this.computeEdgeKey(pointId0, pointId1);
|
|
145
|
-
var node = this.edgeMap.get(key);
|
|
146
|
-
|
|
147
|
-
if (!node) {
|
|
148
|
-
// Didn't find key, so add a new edge entry
|
|
149
|
-
node = {
|
|
150
|
-
key: key,
|
|
151
|
-
edgeId: this.edgeMap.size,
|
|
152
|
-
value: newEdgeValue
|
|
153
|
-
};
|
|
154
|
-
this.edgeMap.set(key, node);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return node;
|
|
158
|
-
}
|
|
159
|
-
}, {
|
|
160
|
-
key: "insertEdge",
|
|
161
|
-
value: function insertEdge(pointId0, pointId1, newEdgeValue) {
|
|
162
|
-
// Generate a unique key
|
|
163
|
-
var key = this.computeEdgeKey(pointId0, pointId1);
|
|
164
|
-
var node = {
|
|
165
|
-
key: key,
|
|
166
|
-
edgeId: this.edgeMap.size,
|
|
167
|
-
value: newEdgeValue
|
|
168
|
-
};
|
|
169
|
-
this.edgeMap.set(key, node);
|
|
170
|
-
return node;
|
|
171
|
-
}
|
|
172
|
-
}, {
|
|
173
|
-
key: "isInsertedEdge",
|
|
174
|
-
value: function isInsertedEdge(pointId0, pointId1) {
|
|
175
|
-
var key = this.computeEdgeKey(pointId0, pointId1);
|
|
176
|
-
return this.edgeMap.get(key);
|
|
177
|
-
}
|
|
178
|
-
}], [{
|
|
179
|
-
key: "getEdgePointIds",
|
|
180
|
-
value: function getEdgePointIds(node) {
|
|
181
|
-
var n = 0.5 * (-1 + Math.sqrt(8 * node.key + 1));
|
|
182
|
-
var pointId0 = node.key - 0.5 * (n + 1) * n;
|
|
183
|
-
var pointId1 = n - pointId0;
|
|
184
|
-
return [pointId0, pointId1];
|
|
185
|
-
}
|
|
186
|
-
}]);
|
|
187
|
-
|
|
188
|
-
return EdgeLocator;
|
|
189
|
-
}();
|
|
190
|
-
|
|
191
|
-
function newInstance() {
|
|
192
|
-
var initialValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
193
|
-
return new EdgeLocator(initialValues.oriented);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
var vtkEdgeLocator = {
|
|
197
|
-
newInstance: newInstance
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
109
|
+
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/PolyData.js + 6 modules
|
|
110
|
+
var PolyData = __webpack_require__(48663);
|
|
111
|
+
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/EdgeLocator.js
|
|
112
|
+
var EdgeLocator = __webpack_require__(29699);
|
|
202
113
|
;// CONCATENATED MODULE: ../../../node_modules/@kitware/vtk.js/Filters/General/ImageMarchingSquares/caseTable.js
|
|
203
114
|
// ----------------------------------------------------------------------------
|
|
204
115
|
// Marching squares case functions (using lines to generate the 2D tessellation).
|
|
@@ -287,7 +198,7 @@ function vtkImageMarchingSquares(publicAPI, model) {
|
|
|
287
198
|
var ids = [];
|
|
288
199
|
var pixelScalars = [];
|
|
289
200
|
var pixelPts = [];
|
|
290
|
-
var edgeLocator =
|
|
201
|
+
var edgeLocator = EdgeLocator/* default */.Z.newInstance(); // Retrieve scalars and pixel coordinates. i-j-k is origin of pixel.
|
|
291
202
|
|
|
292
203
|
publicAPI.getPixelScalars = function (i, j, k, slice, dims, origin, spacing, s) {
|
|
293
204
|
// First get the indices for the pixel
|
|
@@ -447,10 +358,10 @@ function extend(publicAPI, model) {
|
|
|
447
358
|
vtkImageMarchingSquares(publicAPI, model);
|
|
448
359
|
} // ----------------------------------------------------------------------------
|
|
449
360
|
|
|
450
|
-
var
|
|
361
|
+
var newInstance = macros["default"].newInstance(extend, 'vtkImageMarchingSquares'); // ----------------------------------------------------------------------------
|
|
451
362
|
|
|
452
363
|
var vtkImageMarchingSquares$1 = {
|
|
453
|
-
newInstance:
|
|
364
|
+
newInstance: newInstance,
|
|
454
365
|
extend: extend
|
|
455
366
|
};
|
|
456
367
|
|