@ohif/app 3.9.0-beta.65 → 3.9.0-beta.67
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/{169.bundle.ab6c1617324e8e5acbd0.js → 1169.bundle.a3d3d310f1d8d7e335bf.js} +6 -1
- package/dist/{202.bundle.567b7e2ac2f6c9213143.js → 1202.bundle.1468f0e71fea0c593081.js} +1 -1
- package/dist/{498.bundle.e8683e4faffd1f5666d0.js → 1498.bundle.d8f5281952d09c57ef87.js} +1 -1
- package/dist/{994.bundle.ceeeed48891cf977dd14.js → 1994.bundle.f892227ec1ef0242b604.js} +3 -3
- package/dist/{65.bundle.9b25384f1dd15b04c099.js → 2065.bundle.97b9e6e880856ef7a0ab.js} +2 -2
- package/dist/{281.bundle.b8b7d64372d238b1bed7.js → 2281.bundle.f39dbacfc08e78ef1d08.js} +4 -4
- package/dist/{412.bundle.836f106f6e2896dc42a5.js → 2412.bundle.e1abf9a60dcecb7f0c77.js} +1 -1
- package/dist/{417.bundle.abf8bcee0f246002acb9.js → 2417.bundle.4a0334c8c4047005979e.js} +1 -1
- package/dist/{650.bundle.a65389abf76ad921aa17.js → 2650.bundle.1f7d90198b9e361dfb9c.js} +2 -2
- package/dist/{791.bundle.4debb283e99b3c663b79.js → 2791.bundle.be025774272233e2ecc7.js} +2 -2
- package/dist/{831.bundle.9e1a3495947e5bb49756.js → 2831.bundle.22245416b8edb6c9dc56.js} +1 -1
- package/dist/2898.bundle.21f0702e5d67b8aca5af.js +177 -0
- package/dist/{909.bundle.1fbb8bb4c41d0bb2994d.js → 2909.bundle.82cc76eeaed307d01b07.js} +1 -1
- package/dist/{117.bundle.403581eea72534ff9c7e.js → 3117.bundle.c83d0f403d17104a7c4c.js} +1 -1
- package/dist/{286.bundle.985c5ebbb2158c7e59ab.js → 3286.bundle.b9b3a165dc5a8b24b47f.js} +1 -1
- package/dist/{424.bundle.1caecbb1bbefc271b621.js → 3424.bundle.1b6101d721148c04242b.js} +1 -1
- package/dist/{497.bundle.bbc07cef12d598653a65.js → 3497.bundle.a04a2444975bf50fddf8.js} +1 -1
- package/dist/{658.bundle.358716d6aee4c190f2cd.js → 3658.bundle.ca4d24aa942995e51df2.js} +1 -1
- package/dist/{962.bundle.85a0fcaaf3c0aeeb6789.js → 3962.bundle.b5dceca0c1e2ffd79a25.js} +1 -1
- package/dist/{210.bundle.257ad99561da3bcd8898.js → 4210.bundle.30af25b173b41868cecc.js} +2 -2
- package/dist/{353.bundle.35ad75ecf210b279b5d2.js → 4353.bundle.4af7310171d00a14915e.js} +1 -1
- package/dist/{530.bundle.87f8b13ff55bf7b2a6d1.js → 4530.bundle.ec12dfd2fbf9083b164e.js} +1 -1
- package/dist/{842.bundle.a18175a4463177477ae0.js → 4842.bundle.3236f6ff2d051d6ad37c.js} +10 -2
- package/dist/{978.bundle.56bcd4d2eea3e8622913.js → 4978.bundle.b14ab906ab53dc35d72a.js} +1 -1
- package/dist/{250.bundle.4743b359797751102600.js → 5250.bundle.6acf2b904f96c95065e3.js} +1 -1
- package/dist/{516.bundle.693f55fcf3bb54b40468.js → 5516.bundle.ba75957b41cd24329242.js} +28 -14
- package/dist/{793.bundle.e4c759b5cdfcc3c7494f.js → 5793.bundle.eed3fe9019c31999efff.js} +1 -1
- package/dist/{888.bundle.f2989b50bdb1b0d4b5da.js → 5888.bundle.d29f1740e8df31290fdb.js} +9 -1
- package/dist/{931.bundle.f6fa2a436ace89ebf60f.js → 5931.bundle.f16bcd50591d83af9f7a.js} +1 -1
- package/dist/{10.bundle.c626810bd199ab63f3a2.js → 6010.bundle.a41bef6e63d1f8f8af7f.js} +1 -1
- package/dist/{591.bundle.93e22748fb59e587b62c.js → 6591.bundle.4c4f7bda7d234aea13f3.js} +2 -2
- package/dist/{904.bundle.cf3367eab90aaef03406.js → 6904.bundle.27abf08c0f2e4fe5e06d.js} +1 -1
- package/dist/{246.bundle.fbf55ff25ff129a8803b.js → 7246.bundle.dd6a94cd92b79504743c.js} +1 -1
- package/dist/{360.bundle.e9046bdadd9127c4c283.js → 7360.bundle.0281552322bead8c1722.js} +2 -2
- package/dist/{376.bundle.c07661d7af53d348e9a6.js → 7376.bundle.36f742e5d8b42e5d15c8.js} +1 -1
- package/dist/{502.bundle.5ccd0605d5f7143e1a18.js → 7502.bundle.b81aac1f52528a48cb8a.js} +1 -1
- package/dist/{604.bundle.83f50929b208c60e48da.js → 7604.bundle.42d3f08efb3a9eae4581.js} +1 -1
- package/dist/{913.bundle.f982e2af9e7287fc3539.js → 7913.bundle.de1049f9f1a6edfc400d.js} +2 -2
- package/dist/{315.bundle.f7f9e6c76811f8a6a30f.js → 8315.bundle.5066943ed0a18dd2ae4e.js} +1 -1
- package/dist/{714.bundle.9b2c17c05367d7c0d610.js → 8714.bundle.fb419b4e3c25ae85d9fb.js} +1 -1
- package/dist/{944.bundle.c6c7ffe0ac1321ccbcea.js → 8944.bundle.5dc02815008d455fab79.js} +2 -2
- package/dist/{993.bundle.f8af55eb5f3da10a9ee1.js → 8993.bundle.256bb3c84d2564a5f3cf.js} +2 -2
- package/dist/{579.bundle.0b78fc095924efac431d.js → 9579.bundle.7212d7a737a71bb61502.js} +1 -1
- package/dist/9824.bundle.4136e0659d07bb9e00c3.js +256 -0
- package/dist/9824.css +2 -0
- package/dist/{app.bundle.ebe09d60104c52d101df.js → app.bundle.180ceb95d57f0ce696ff.js} +71 -62
- package/dist/app.bundle.css +2 -2
- package/dist/{histogram-worker.bundle.89729ccb99d170ff2f2f.js → histogram-worker.bundle.d97bab3206c49329f64b.js} +5 -5
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.316ddde0375abbd072e9.js → polySeg.bundle.40b9a8c9006bb15691ee.js} +4 -4
- package/dist/{suv-peak-worker.bundle.a27bcad90f8fe9252435.js → suv-peak-worker.bundle.a70e70b9ef87c18b896c.js} +5 -5
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{169.css → 1169.css} +0 -0
- /package/dist/{153.bundle.0ae1608ab0c459f10034.js → 153.bundle.e0672288d6a375992088.js} +0 -0
- /package/dist/{757.css → 1994.css} +0 -0
- /package/dist/{516.css → 2568.css} +0 -0
- /package/dist/{286.css → 3286.css} +0 -0
- /package/dist/{424.css → 3424.css} +0 -0
- /package/dist/{210.css → 4210.css} +0 -0
- /package/dist/{994.css → 4757.css} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[6591],{
|
|
3
3
|
|
|
4
4
|
/***/ 6591:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -129,7 +129,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
129
129
|
|
|
130
130
|
|
|
131
131
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
132
|
-
return __webpack_require__.e(/* import() */
|
|
132
|
+
return __webpack_require__.e(/* import() */ 2412).then(__webpack_require__.bind(__webpack_require__, 12412));
|
|
133
133
|
});
|
|
134
134
|
const OHIFCornerstoneVideoViewport = props => {
|
|
135
135
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[7246],{
|
|
3
3
|
|
|
4
4
|
/***/ 27246:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[7360],{
|
|
3
3
|
|
|
4
4
|
/***/ 91851:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1439,7 +1439,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
1439
1439
|
|
|
1440
1440
|
|
|
1441
1441
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
1442
|
-
return __webpack_require__.e(/* import() */
|
|
1442
|
+
return __webpack_require__.e(/* import() */ 8714).then(__webpack_require__.bind(__webpack_require__, 78714));
|
|
1443
1443
|
});
|
|
1444
1444
|
const OHIFCornerstoneSRViewport = props => {
|
|
1445
1445
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[7376],{
|
|
3
3
|
|
|
4
4
|
/***/ 57376:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[7502],{
|
|
3
3
|
|
|
4
4
|
/***/ 97502:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[7604],{
|
|
3
3
|
|
|
4
4
|
/***/ 97604:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[7913],{
|
|
3
3
|
|
|
4
4
|
/***/ 47913:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1630,7 +1630,7 @@ const options = {
|
|
|
1630
1630
|
|
|
1631
1631
|
// Register the task
|
|
1632
1632
|
const workerFn = () => {
|
|
1633
|
-
return new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(
|
|
1633
|
+
return new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(7607), __webpack_require__.b), {
|
|
1634
1634
|
name: 'suv-peak-worker' // name used by the browser to name the worker
|
|
1635
1635
|
});
|
|
1636
1636
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[8315],{
|
|
3
3
|
|
|
4
4
|
/***/ 88315:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[8714],{
|
|
3
3
|
|
|
4
4
|
/***/ 78714:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[8944],{
|
|
3
3
|
|
|
4
4
|
/***/ 88944:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -108,7 +108,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
108
108
|
|
|
109
109
|
|
|
110
110
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
111
|
-
return __webpack_require__.e(/* import() */
|
|
111
|
+
return __webpack_require__.e(/* import() */ 3286).then(__webpack_require__.bind(__webpack_require__, 53286));
|
|
112
112
|
});
|
|
113
113
|
const OHIFCornerstonePdfViewport = props => {
|
|
114
114
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[8993],{
|
|
3
3
|
|
|
4
4
|
/***/ 19383:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -6099,7 +6099,7 @@ function registerPolySegWorker() {
|
|
|
6099
6099
|
}
|
|
6100
6100
|
registered = true;
|
|
6101
6101
|
const workerFn = () => {
|
|
6102
|
-
return new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(
|
|
6102
|
+
return new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(1985), __webpack_require__.b), {
|
|
6103
6103
|
name: 'polySeg',
|
|
6104
6104
|
});
|
|
6105
6105
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[9579,818,5250],{
|
|
3
3
|
|
|
4
4
|
/***/ 49001:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[9824,2568],{
|
|
3
|
+
|
|
4
|
+
/***/ 78491:
|
|
5
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
|
+
|
|
7
|
+
// ESM COMPAT FLAG
|
|
8
|
+
__webpack_require__.r(__webpack_exports__);
|
|
9
|
+
|
|
10
|
+
// EXPORTS
|
|
11
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
12
|
+
"default": () => (/* binding */ cornerstone_dicom_pmap_src)
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/package.json
|
|
16
|
+
const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-cornerstone-dicom-pmap"}');
|
|
17
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/src/id.js
|
|
18
|
+
|
|
19
|
+
const id = package_namespaceObject.u2;
|
|
20
|
+
const SOPClassHandlerName = 'dicom-pmap';
|
|
21
|
+
const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
|
|
22
|
+
|
|
23
|
+
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
24
|
+
var react = __webpack_require__(43001);
|
|
25
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 74 modules
|
|
26
|
+
var src = __webpack_require__(84793);
|
|
27
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
|
|
28
|
+
var esm = __webpack_require__(12651);
|
|
29
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/adapters.es.js
|
|
30
|
+
var adapters_es = __webpack_require__(91202);
|
|
31
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 93 modules
|
|
32
|
+
var cornerstone_src = __webpack_require__(15516);
|
|
33
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/src/getSopClassHandlerModule.ts
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
const VOLUME_LOADER_SCHEME = 'cornerstoneStreamingImageVolume';
|
|
40
|
+
const sopClassUids = ['1.2.840.10008.5.1.4.1.1.30'];
|
|
41
|
+
function _getDisplaySetsFromSeries(instances, servicesManager, extensionManager) {
|
|
42
|
+
const instance = instances[0];
|
|
43
|
+
const {
|
|
44
|
+
StudyInstanceUID,
|
|
45
|
+
SeriesInstanceUID,
|
|
46
|
+
SOPInstanceUID,
|
|
47
|
+
SeriesDescription,
|
|
48
|
+
SeriesNumber,
|
|
49
|
+
SeriesDate,
|
|
50
|
+
SOPClassUID,
|
|
51
|
+
wadoRoot,
|
|
52
|
+
wadoUri,
|
|
53
|
+
wadoUriRoot
|
|
54
|
+
} = instance;
|
|
55
|
+
const displaySet = {
|
|
56
|
+
// Parametric map use to have the same modality as its referenced volume but
|
|
57
|
+
// "PMAP" is used in the viewer even though this is not a valid DICOM modality
|
|
58
|
+
Modality: 'PMAP',
|
|
59
|
+
isReconstructable: true,
|
|
60
|
+
// by default for now
|
|
61
|
+
displaySetInstanceUID: `pmap.${src.utils.guid()}`,
|
|
62
|
+
SeriesDescription,
|
|
63
|
+
SeriesNumber,
|
|
64
|
+
SeriesDate,
|
|
65
|
+
SOPInstanceUID,
|
|
66
|
+
SeriesInstanceUID,
|
|
67
|
+
StudyInstanceUID,
|
|
68
|
+
SOPClassHandlerId: SOPClassHandlerId,
|
|
69
|
+
SOPClassUID,
|
|
70
|
+
referencedImages: null,
|
|
71
|
+
referencedSeriesInstanceUID: null,
|
|
72
|
+
referencedDisplaySetInstanceUID: null,
|
|
73
|
+
referencedVolumeURI: null,
|
|
74
|
+
referencedVolumeId: null,
|
|
75
|
+
isDerivedDisplaySet: true,
|
|
76
|
+
loadStatus: {
|
|
77
|
+
loading: false,
|
|
78
|
+
loaded: false
|
|
79
|
+
},
|
|
80
|
+
sopClassUids,
|
|
81
|
+
instance,
|
|
82
|
+
instances: [instance],
|
|
83
|
+
wadoRoot,
|
|
84
|
+
wadoUriRoot,
|
|
85
|
+
wadoUri,
|
|
86
|
+
isOverlayDisplaySet: true
|
|
87
|
+
};
|
|
88
|
+
const referencedSeriesSequence = instance.ReferencedSeriesSequence;
|
|
89
|
+
if (!referencedSeriesSequence) {
|
|
90
|
+
console.error('ReferencedSeriesSequence is missing for the parametric map');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const referencedSeries = referencedSeriesSequence[0] || referencedSeriesSequence;
|
|
94
|
+
displaySet.referencedImages = instance.ReferencedSeriesSequence.ReferencedInstanceSequence;
|
|
95
|
+
displaySet.referencedSeriesInstanceUID = referencedSeries.SeriesInstanceUID;
|
|
96
|
+
|
|
97
|
+
// Does not get the referenced displaySet during parametric displaySet creation
|
|
98
|
+
// because it is still not available (getDisplaySetByUID returns `undefined`).
|
|
99
|
+
displaySet.getReferenceDisplaySet = () => {
|
|
100
|
+
const {
|
|
101
|
+
displaySetService
|
|
102
|
+
} = servicesManager.services;
|
|
103
|
+
if (displaySet.referencedDisplaySetInstanceUID) {
|
|
104
|
+
return displaySetService.getDisplaySetByUID(displaySet.referencedDisplaySetInstanceUID);
|
|
105
|
+
}
|
|
106
|
+
const referencedDisplaySets = displaySetService.getDisplaySetsForSeries(displaySet.referencedSeriesInstanceUID);
|
|
107
|
+
if (!referencedDisplaySets || referencedDisplaySets.length === 0) {
|
|
108
|
+
throw new Error('Referenced displaySet is missing for the parametric map');
|
|
109
|
+
}
|
|
110
|
+
const referencedDisplaySet = referencedDisplaySets[0];
|
|
111
|
+
displaySet.referencedDisplaySetInstanceUID = referencedDisplaySet.displaySetInstanceUID;
|
|
112
|
+
return referencedDisplaySet;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
// Does not get the referenced volumeId during parametric displaySet creation because the
|
|
116
|
+
// referenced displaySet is still not avaialble (getDisplaySetByUID returns `undefined`).
|
|
117
|
+
displaySet.getReferencedVolumeId = () => {
|
|
118
|
+
if (displaySet.referencedVolumeId) {
|
|
119
|
+
return displaySet.referencedVolumeId;
|
|
120
|
+
}
|
|
121
|
+
const referencedDisplaySet = displaySet.getReferenceDisplaySet();
|
|
122
|
+
const referencedVolumeURI = referencedDisplaySet.displaySetInstanceUID;
|
|
123
|
+
const referencedVolumeId = `${VOLUME_LOADER_SCHEME}:${referencedVolumeURI}`;
|
|
124
|
+
displaySet.referencedVolumeURI = referencedVolumeURI;
|
|
125
|
+
displaySet.referencedVolumeId = referencedVolumeId;
|
|
126
|
+
return referencedVolumeId;
|
|
127
|
+
};
|
|
128
|
+
displaySet.load = async ({
|
|
129
|
+
headers
|
|
130
|
+
}) => await _load(displaySet, servicesManager, extensionManager, headers);
|
|
131
|
+
return [displaySet];
|
|
132
|
+
}
|
|
133
|
+
async function _load(displaySet, servicesManager, extensionManager, headers) {
|
|
134
|
+
const volumeId = `${VOLUME_LOADER_SCHEME}:${displaySet.displaySetInstanceUID}`;
|
|
135
|
+
const volumeLoadObject = esm.cache.getVolumeLoadObject(volumeId);
|
|
136
|
+
if (volumeLoadObject) {
|
|
137
|
+
return volumeLoadObject.promise;
|
|
138
|
+
}
|
|
139
|
+
displaySet.loadStatus.loading = true;
|
|
140
|
+
|
|
141
|
+
// We don't want to fire multiple loads, so we'll wait for the first to finish
|
|
142
|
+
// and also return the same promise to any other callers.
|
|
143
|
+
// loadPromises[SOPInstanceUID] = new Promise(async (resolve, reject) => {
|
|
144
|
+
const promise = _loadParametricMap({
|
|
145
|
+
extensionManager,
|
|
146
|
+
displaySet,
|
|
147
|
+
headers
|
|
148
|
+
});
|
|
149
|
+
esm.cache.putVolumeLoadObject(volumeId, {
|
|
150
|
+
promise
|
|
151
|
+
}).catch(err => {
|
|
152
|
+
throw err;
|
|
153
|
+
});
|
|
154
|
+
promise.then(() => {
|
|
155
|
+
displaySet.loadStatus.loading = false;
|
|
156
|
+
displaySet.loadStatus.loaded = true;
|
|
157
|
+
}).catch(err => {
|
|
158
|
+
displaySet.loadStatus.loading = false;
|
|
159
|
+
throw err;
|
|
160
|
+
});
|
|
161
|
+
return promise;
|
|
162
|
+
}
|
|
163
|
+
async function _loadParametricMap({
|
|
164
|
+
extensionManager,
|
|
165
|
+
displaySet,
|
|
166
|
+
headers
|
|
167
|
+
}) {
|
|
168
|
+
const arrayBuffer = await cornerstone_src.dicomLoaderService.findDicomDataPromise(displaySet, null, headers);
|
|
169
|
+
const referencedVolumeId = displaySet.getReferencedVolumeId();
|
|
170
|
+
const cachedReferencedVolume = esm.cache.getVolume(referencedVolumeId);
|
|
171
|
+
|
|
172
|
+
// Parametric map can be loaded only if its referenced volume exists otherwise it will fail
|
|
173
|
+
if (!cachedReferencedVolume) {
|
|
174
|
+
throw new Error('Referenced Volume is missing for the PMAP, and stack viewport PMAP is not supported yet');
|
|
175
|
+
}
|
|
176
|
+
const {
|
|
177
|
+
imageIds
|
|
178
|
+
} = cachedReferencedVolume;
|
|
179
|
+
const results = await adapters_es.adaptersPMAP.Cornerstone3D.ParametricMap.generateToolState(imageIds, arrayBuffer, esm.metaData);
|
|
180
|
+
const {
|
|
181
|
+
pixelData
|
|
182
|
+
} = results;
|
|
183
|
+
const TypedArrayConstructor = pixelData.constructor;
|
|
184
|
+
const paramMapId = displaySet.displaySetInstanceUID;
|
|
185
|
+
const derivedVolume = await esm.volumeLoader.createAndCacheDerivedVolume(referencedVolumeId, {
|
|
186
|
+
volumeId: paramMapId,
|
|
187
|
+
targetBuffer: {
|
|
188
|
+
type: TypedArrayConstructor.name
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
derivedVolume.getScalarData().set(pixelData);
|
|
192
|
+
const range = derivedVolume.imageData.getPointData().getScalars().getRange();
|
|
193
|
+
const windowLevel = esm.utilities.windowLevel.toWindowLevel(range[0], range[1]);
|
|
194
|
+
derivedVolume.metadata.voiLut = [windowLevel];
|
|
195
|
+
derivedVolume.loadStatus = {
|
|
196
|
+
loaded: true
|
|
197
|
+
};
|
|
198
|
+
return derivedVolume;
|
|
199
|
+
}
|
|
200
|
+
function getSopClassHandlerModule({
|
|
201
|
+
servicesManager,
|
|
202
|
+
extensionManager
|
|
203
|
+
}) {
|
|
204
|
+
const getDisplaySetsFromSeries = instances => {
|
|
205
|
+
return _getDisplaySetsFromSeries(instances, servicesManager, extensionManager);
|
|
206
|
+
};
|
|
207
|
+
return [{
|
|
208
|
+
name: 'dicom-pmap',
|
|
209
|
+
sopClassUids,
|
|
210
|
+
getDisplaySetsFromSeries
|
|
211
|
+
}];
|
|
212
|
+
}
|
|
213
|
+
/* harmony default export */ const src_getSopClassHandlerModule = (getSopClassHandlerModule);
|
|
214
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/src/index.tsx
|
|
215
|
+
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); }
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
const Component = /*#__PURE__*/react.lazy(() => {
|
|
220
|
+
return __webpack_require__.e(/* import() */ 2898).then(__webpack_require__.bind(__webpack_require__, 22898));
|
|
221
|
+
});
|
|
222
|
+
const OHIFCornerstonePMAPViewport = props => {
|
|
223
|
+
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
224
|
+
fallback: /*#__PURE__*/react.createElement("div", null, "Loading...")
|
|
225
|
+
}, /*#__PURE__*/react.createElement(Component, props));
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* You can remove any of the following modules if you don't need them.
|
|
230
|
+
*/
|
|
231
|
+
const extension = {
|
|
232
|
+
id: id,
|
|
233
|
+
getViewportModule({
|
|
234
|
+
servicesManager,
|
|
235
|
+
extensionManager,
|
|
236
|
+
commandsManager
|
|
237
|
+
}) {
|
|
238
|
+
const ExtendedOHIFCornerstonePMAPViewport = props => {
|
|
239
|
+
return /*#__PURE__*/react.createElement(OHIFCornerstonePMAPViewport, _extends({
|
|
240
|
+
servicesManager: servicesManager,
|
|
241
|
+
extensionManager: extensionManager,
|
|
242
|
+
commandsManager: commandsManager
|
|
243
|
+
}, props));
|
|
244
|
+
};
|
|
245
|
+
return [{
|
|
246
|
+
name: 'dicom-pmap',
|
|
247
|
+
component: ExtendedOHIFCornerstonePMAPViewport
|
|
248
|
+
}];
|
|
249
|
+
},
|
|
250
|
+
getSopClassHandlerModule: src_getSopClassHandlerModule
|
|
251
|
+
};
|
|
252
|
+
/* harmony default export */ const cornerstone_dicom_pmap_src = (extension);
|
|
253
|
+
|
|
254
|
+
/***/ })
|
|
255
|
+
|
|
256
|
+
}]);
|
package/dist/9824.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
|
|
2
|
+
.viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
|