@ohif/app 3.8.0-beta.8 → 3.8.0-beta.80
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/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
- package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.787f5a848ed632a4d5fc.js} +90 -112
- package/dist/141.bundle.556b4c1e4cab770417ac.js +8620 -0
- package/dist/{687.bundle.9065db35c01823286f08.js → 164.bundle.d4598e491783753a8b6b.js} +22 -38
- package/dist/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/183.bundle.72bf18ad23ee6624986d.js +30394 -0
- package/dist/{506.bundle.5731bb4349e266491225.js → 188.bundle.b80554ec7df7dcd435a5.js} +23 -28
- package/dist/{342.bundle.e7c3d500f86fdfcc62b5.js → 206.bundle.f957e0d1cdff66dbac69.js} +1963 -1142
- package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
- package/dist/217.bundle.be1cc412f8e26be87d21.js +115079 -0
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.6f734abf8fa85b1a310d.js} +107 -127
- package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
- package/dist/{19.bundle.f77c5787b6d8ac0b638b.js → 325.bundle.84909a08305556e9f924.js} +479 -371
- package/dist/335.bundle.c39d4aefe33aecab958f.js +2590 -0
- package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.e6d0bba29351b5650a8c.js} +566 -868
- package/dist/{776.bundle.a2dedb405a12ffd7699b.js → 41.bundle.7c943bb857ed37831905.js} +7295 -3536
- package/dist/422.bundle.bd6529c536f59807fbee.js +881 -0
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 433.bundle.4c77c1fe8fc90ac14218.js} +14737 -27555
- package/dist/445.bundle.38c6d2af64e41cd7c614.js +7835 -0
- package/dist/{126.bundle.6e7111d58bcc937ffd80.js → 448.bundle.deedeff5744e77510734.js} +362 -430
- package/dist/487.bundle.7890ca42826941ebcd60.js +1875 -0
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.7c94543955552475c56a.js} +98 -127
- package/dist/{663.bundle.d7be28450db14266cdd0.js → 540.bundle.079d43a6717e95c24392.js} +225 -188
- package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1c1f57118560046649c1.js} +37 -62
- package/dist/574.bundle.be075ac52fb52b442a8b.js +2641 -0
- package/dist/{181.css → 574.css} +1 -1
- package/dist/{410.bundle.15c855b0ff4a1a674fb8.js → 594.bundle.0b1165661dd638820082.js} +183 -221
- package/dist/{221.bundle.aef554202c58483cb34e.js → 633.bundle.c1658e76f104cbd14cab.js} +349 -552
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
- package/dist/699.bundle.4f01772e7ce6637de339.js +768 -0
- package/dist/702.bundle.963481fbf871984b646f.js +8426 -0
- package/dist/722.bundle.afab1fe6bfcd569130ac.js +1083 -0
- package/dist/{359.bundle.45ecb3d28e8c22142606.js → 724.bundle.e5794460c391ee9cba2c.js} +164 -259
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.0b3d9277d22fe7e15b89.js} +512 -879
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
- package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.c0ee6e1d4d97e1353213.js} +77 -96
- package/dist/{236.bundle.4e9924934a747afac132.js → 889.bundle.7858e4b7ca1a2b12b64f.js} +207 -199
- package/dist/{281.bundle.deb7492d143e7768d8bf.js → 905.bundle.170908fe660fc6b40649.js} +157 -124
- package/dist/{814.bundle.c8c951d20039b63b865a.js → 907.bundle.dee4e30420caf07caea6.js} +16 -30
- package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
- package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
- package/dist/94.bundle.c452d9b0645277c2cf4e.js +784 -0
- package/dist/{12.bundle.b5ca13e5363f170ecb3b.js → 961.bundle.aaaaaba0ec015a3b85d8.js} +20 -33
- package/dist/app-config.js +1 -0
- package/dist/{app.bundle.a978edc59b9d82f2eb22.js → app.bundle.6c090a2d6d3ccc97a81d.js} +183240 -87650
- package/dist/app.bundle.css +16 -13
- package/dist/assets/images/CT-AAA.png +0 -0
- package/dist/assets/images/CT-AAA2.png +0 -0
- package/dist/assets/images/CT-Air.png +0 -0
- package/dist/assets/images/CT-Bone.png +0 -0
- package/dist/assets/images/CT-Bones.png +0 -0
- package/dist/assets/images/CT-Cardiac.png +0 -0
- package/dist/assets/images/CT-Cardiac2.png +0 -0
- package/dist/assets/images/CT-Cardiac3.png +0 -0
- package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
- package/dist/assets/images/CT-Chest-Vessels.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
- package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
- package/dist/assets/images/CT-Fat.png +0 -0
- package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
- package/dist/assets/images/CT-Lung.png +0 -0
- package/dist/assets/images/CT-MIP.png +0 -0
- package/dist/assets/images/CT-Muscle.png +0 -0
- package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
- package/dist/assets/images/CT-Soft-Tissue.png +0 -0
- package/dist/assets/images/DTI-FA-Brain.png +0 -0
- package/dist/assets/images/MR-Angio.png +0 -0
- package/dist/assets/images/MR-Default.png +0 -0
- package/dist/assets/images/MR-MIP.png +0 -0
- package/dist/assets/images/MR-T2-Brain.png +0 -0
- package/dist/assets/images/VolumeRendering.png +0 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
- package/dist/histogram-worker.bundle.829e14ec12c2b41a4323.js +359 -0
- package/dist/index.html +1 -1
- package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
- package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
- package/dist/polySeg.bundle.63011312c3c79e717ea9.js +249 -0
- package/dist/serve.json +12 -0
- package/dist/sw.js +1 -1
- package/package.json +26 -22
- package/dist/181.bundle.a62b9f0ec692299acb35.js +0 -1527
- package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
- package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
- package/dist/613.bundle.9e7072e5b575354fe51e.js +0 -532
- package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
- package/dist/75788f12450d4c5ed494.wasm +0 -0
- package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
- package/dist/788.bundle.207ac23c0dfa70cbe3fb.js +0 -2682
- package/dist/82.bundle.d6fdcca0f67540bb226a.js +0 -1049
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
- /package/dist/{19.css → 325.css} +0 -0
- /package/dist/{776.css → 41.css} +0 -0
- /package/dist/{579.css → 481.css} +0 -0
- /package/dist/{250.css → 544.css} +0 -0
- /package/dist/{221.css → 633.css} +0 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[835],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 6835:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
// EXPORTS
|
|
9
9
|
__webpack_require__.d(__webpack_exports__, {
|
|
10
|
-
|
|
10
|
+
zl: () => (/* reexport */ useMachine)
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
// UNUSED EXPORTS: createActorContext, shallowEqual, useActor, useInterpret, useSelector, useSpawn
|
|
14
14
|
|
|
15
15
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
16
|
-
var react = __webpack_require__(
|
|
16
|
+
var react = __webpack_require__(41766);
|
|
17
17
|
// EXTERNAL MODULE: ../../../node_modules/use-sync-external-store/shim/with-selector.js
|
|
18
|
-
var with_selector = __webpack_require__(
|
|
18
|
+
var with_selector = __webpack_require__(33724);
|
|
19
19
|
// EXTERNAL MODULE: ../../../node_modules/xstate/es/index.js + 22 modules
|
|
20
|
-
var es = __webpack_require__(
|
|
20
|
+
var es = __webpack_require__(57593);
|
|
21
21
|
// EXTERNAL MODULE: ../../../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js
|
|
22
|
-
var use_isomorphic_layout_effect_browser_esm = __webpack_require__(
|
|
22
|
+
var use_isomorphic_layout_effect_browser_esm = __webpack_require__(96025);
|
|
23
23
|
;// CONCATENATED MODULE: ../../../node_modules/@xstate/react/es/useConstant.js
|
|
24
24
|
|
|
25
25
|
function useConstant_useConstant(fn) {
|
|
@@ -89,12 +89,12 @@ function useIdleInterpreter(getMachine, options) {
|
|
|
89
89
|
delays: delays
|
|
90
90
|
};
|
|
91
91
|
var machineWithConfig = machine.withConfig(machineConfig, function () { return (__assign(__assign({}, machine.context), context)); });
|
|
92
|
-
return (0,es/* interpret */.
|
|
92
|
+
return (0,es/* interpret */.U4)(machineWithConfig, interpreterOptions);
|
|
93
93
|
});
|
|
94
94
|
// Make sure options are kept updated when they change.
|
|
95
95
|
// This mutation assignment is safe because the service instance is only used
|
|
96
96
|
// in one place -- this hook's caller.
|
|
97
|
-
(0,use_isomorphic_layout_effect_browser_esm/* default */.
|
|
97
|
+
(0,use_isomorphic_layout_effect_browser_esm/* default */.A)(function () {
|
|
98
98
|
Object.assign(service.machine.options.actions, actions);
|
|
99
99
|
Object.assign(service.machine.options.guards, guards);
|
|
100
100
|
Object.assign(service.machine.options.activities, activities);
|
|
@@ -221,7 +221,7 @@ function utils_isService(actor) {
|
|
|
221
221
|
return 'state' in actor && 'machine' in actor;
|
|
222
222
|
}
|
|
223
223
|
function utils_isInterpreterStateEqual(service, prevState, nextState) {
|
|
224
|
-
if (service.status === es/* InterpreterStatus */.
|
|
224
|
+
if (service.status === es/* InterpreterStatus */.vy.NotStarted) {
|
|
225
225
|
return true;
|
|
226
226
|
}
|
|
227
227
|
// Only change the current state if:
|
|
@@ -270,9 +270,9 @@ function useMachine(getMachine) {
|
|
|
270
270
|
// so we don't miss any notifications
|
|
271
271
|
var service = useIdleInterpreter(getMachine, options);
|
|
272
272
|
var getSnapshot = (0,react.useCallback)(function () {
|
|
273
|
-
if (service.status === es/* InterpreterStatus */.
|
|
273
|
+
if (service.status === es/* InterpreterStatus */.vy.NotStarted) {
|
|
274
274
|
return (options.state
|
|
275
|
-
? es/* State */.
|
|
275
|
+
? es/* State */.Uw.create(options.state)
|
|
276
276
|
: service.machine.initialState);
|
|
277
277
|
}
|
|
278
278
|
return service.getSnapshot();
|
|
@@ -287,10 +287,10 @@ function useMachine(getMachine) {
|
|
|
287
287
|
var storeSnapshot = (0,with_selector.useSyncExternalStoreWithSelector)(subscribe, getSnapshot, getSnapshot, identity, isEqual);
|
|
288
288
|
(0,react.useEffect)(function () {
|
|
289
289
|
var rehydratedState = options.state;
|
|
290
|
-
service.start(rehydratedState ? es/* State */.
|
|
290
|
+
service.start(rehydratedState ? es/* State */.Uw.create(rehydratedState) : undefined);
|
|
291
291
|
return function () {
|
|
292
292
|
service.stop();
|
|
293
|
-
service.status = es/* InterpreterStatus */.
|
|
293
|
+
service.status = es/* InterpreterStatus */.vy.NotStarted;
|
|
294
294
|
};
|
|
295
295
|
}, []);
|
|
296
296
|
return [storeSnapshot, service.send, service];
|
|
@@ -477,7 +477,7 @@ function createActorContext(machine, interpreterOptions, observerOrListener) {
|
|
|
477
477
|
|
|
478
478
|
/***/ }),
|
|
479
479
|
|
|
480
|
-
/***/
|
|
480
|
+
/***/ 2465:
|
|
481
481
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
482
482
|
|
|
483
483
|
/**
|
|
@@ -489,13 +489,13 @@ function createActorContext(machine, interpreterOptions, observerOrListener) {
|
|
|
489
489
|
* This source code is licensed under the MIT license found in the
|
|
490
490
|
* LICENSE file in the root directory of this source tree.
|
|
491
491
|
*/
|
|
492
|
-
var e=__webpack_require__(
|
|
492
|
+
var e=__webpack_require__(41766);function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k="function"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}
|
|
493
493
|
function r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u="undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;
|
|
494
494
|
|
|
495
495
|
|
|
496
496
|
/***/ }),
|
|
497
497
|
|
|
498
|
-
/***/
|
|
498
|
+
/***/ 2878:
|
|
499
499
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
500
500
|
|
|
501
501
|
/**
|
|
@@ -507,51 +507,51 @@ function r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f)
|
|
|
507
507
|
* This source code is licensed under the MIT license found in the
|
|
508
508
|
* LICENSE file in the root directory of this source tree.
|
|
509
509
|
*/
|
|
510
|
-
var h=__webpack_require__(
|
|
510
|
+
var h=__webpack_require__(41766),n=__webpack_require__(28178);function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q="function"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;
|
|
511
511
|
exports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);
|
|
512
512
|
u(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};
|
|
513
513
|
|
|
514
514
|
|
|
515
515
|
/***/ }),
|
|
516
516
|
|
|
517
|
-
/***/
|
|
517
|
+
/***/ 28178:
|
|
518
518
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
519
519
|
|
|
520
520
|
|
|
521
521
|
|
|
522
522
|
if (true) {
|
|
523
|
-
module.exports = __webpack_require__(
|
|
523
|
+
module.exports = __webpack_require__(2465);
|
|
524
524
|
} else {}
|
|
525
525
|
|
|
526
526
|
|
|
527
527
|
/***/ }),
|
|
528
528
|
|
|
529
|
-
/***/
|
|
529
|
+
/***/ 33724:
|
|
530
530
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
531
531
|
|
|
532
532
|
|
|
533
533
|
|
|
534
534
|
if (true) {
|
|
535
|
-
module.exports = __webpack_require__(
|
|
535
|
+
module.exports = __webpack_require__(2878);
|
|
536
536
|
} else {}
|
|
537
537
|
|
|
538
538
|
|
|
539
539
|
/***/ }),
|
|
540
540
|
|
|
541
|
-
/***/
|
|
541
|
+
/***/ 57593:
|
|
542
542
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
543
543
|
|
|
544
544
|
|
|
545
545
|
// EXPORTS
|
|
546
546
|
__webpack_require__.d(__webpack_exports__, {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
547
|
+
vy: () => (/* reexport */ InterpreterStatus),
|
|
548
|
+
u5: () => (/* reexport */ Machine),
|
|
549
|
+
Uw: () => (/* reexport */ State_State),
|
|
550
|
+
kp: () => (/* binding */ es_assign),
|
|
551
|
+
U4: () => (/* reexport */ interpret)
|
|
552
552
|
});
|
|
553
553
|
|
|
554
|
-
// UNUSED EXPORTS: ActionTypes, Interpreter, SpecialTargets, StateNode, actions, choose, createMachine, createSchema, doneInvoke, forwardTo, log, mapState, matchState, matchesState, pure, raise, send, sendParent, sendTo, sendUpdate, spawn, spawnBehavior, stop, t, toActorRef, toEventObject, toObserver, toSCXMLEvent
|
|
554
|
+
// UNUSED EXPORTS: ActionTypes, Interpreter, SpecialTargets, StateNode, actions, cancel, choose, createMachine, createSchema, doneInvoke, forwardTo, log, mapState, matchState, matchesState, pure, raise, send, sendParent, sendTo, sendUpdate, spawn, spawnBehavior, stop, t, toActorRef, toEventObject, toObserver, toSCXMLEvent
|
|
555
555
|
|
|
556
556
|
;// CONCATENATED MODULE: ../../../node_modules/xstate/es/_virtual/_tslib.js
|
|
557
557
|
/*! *****************************************************************************
|
|
@@ -3744,7 +3744,13 @@ function () {
|
|
|
3744
3744
|
|
|
3745
3745
|
|
|
3746
3746
|
scheduler.schedule(function () {
|
|
3747
|
-
|
|
3747
|
+
var _a;
|
|
3748
|
+
|
|
3749
|
+
if ((_a = _this._state) === null || _a === void 0 ? void 0 : _a.done) {
|
|
3750
|
+
return;
|
|
3751
|
+
} // it feels weird to handle this here but we need to handle this even slightly "out of band"
|
|
3752
|
+
|
|
3753
|
+
|
|
3748
3754
|
var _event = toSCXMLEvent({
|
|
3749
3755
|
type: 'xstate.stop'
|
|
3750
3756
|
});
|
|
@@ -6194,6 +6200,7 @@ var t = (/* unused pure expression or super */ null && (createSchema));
|
|
|
6194
6200
|
|
|
6195
6201
|
|
|
6196
6202
|
var es_assign = actions_assign,
|
|
6203
|
+
es_cancel = (/* unused pure expression or super */ null && (cancel$1)),
|
|
6197
6204
|
es_send = (/* unused pure expression or super */ null && (send$1)),
|
|
6198
6205
|
es_sendTo = (/* unused pure expression or super */ null && (sendTo$1)),
|
|
6199
6206
|
es_sendParent = (/* unused pure expression or super */ null && (sendParent$1)),
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[862],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 49862:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
__webpack_require__.r(__webpack_exports__);
|
|
8
8
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9
9
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
10
10
|
/* harmony export */ });
|
|
11
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
12
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
11
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41766);
|
|
12
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11374);
|
|
13
13
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
14
|
-
/* harmony import */ var
|
|
15
|
-
/* harmony import */ var
|
|
16
|
-
/* harmony import */ var
|
|
17
|
-
/* harmony import */ var
|
|
18
|
-
/* harmony import */ var
|
|
19
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3743);
|
|
14
|
+
/* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5085);
|
|
15
|
+
/* harmony import */ var _cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24542);
|
|
16
|
+
/* harmony import */ var _getContextModule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(219);
|
|
17
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44656);
|
|
18
|
+
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80619);
|
|
20
19
|
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); }
|
|
21
20
|
|
|
22
21
|
|
|
@@ -25,30 +24,30 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
const {
|
|
30
|
-
formatDate
|
|
31
|
-
} = _ohif_core__WEBPACK_IMPORTED_MODULE_2__.utils;
|
|
32
27
|
function TrackedCornerstoneViewport(props) {
|
|
33
28
|
const {
|
|
34
29
|
displaySets,
|
|
35
30
|
viewportId,
|
|
36
|
-
viewportLabel,
|
|
37
31
|
servicesManager,
|
|
38
32
|
extensionManager
|
|
39
33
|
} = props;
|
|
40
|
-
const {
|
|
41
|
-
t
|
|
42
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_4__/* .useTranslation */ .$G)('Common');
|
|
43
34
|
const {
|
|
44
35
|
measurementService,
|
|
45
36
|
cornerstoneViewportService,
|
|
46
|
-
viewportGridService
|
|
37
|
+
viewportGridService,
|
|
38
|
+
viewportActionCornersService
|
|
47
39
|
} = servicesManager.services;
|
|
48
40
|
|
|
49
41
|
// Todo: handling more than one displaySet on the same viewport
|
|
50
42
|
const displaySet = displaySets[0];
|
|
51
|
-
const
|
|
43
|
+
const {
|
|
44
|
+
t
|
|
45
|
+
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_6__/* .useTranslation */ .Bd)('Common');
|
|
46
|
+
const [viewportGrid] = (0,_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .useViewportGrid */ .ih)();
|
|
47
|
+
const {
|
|
48
|
+
activeViewportId
|
|
49
|
+
} = viewportGrid;
|
|
50
|
+
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,_getContextModule__WEBPACK_IMPORTED_MODULE_4__/* .useTrackedMeasurements */ .B)();
|
|
52
51
|
const [isTracked, setIsTracked] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
53
52
|
const [trackedMeasurementUID, setTrackedMeasurementUID] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
|
54
53
|
const [viewportElem, setViewportElem] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
|
@@ -56,24 +55,11 @@ function TrackedCornerstoneViewport(props) {
|
|
|
56
55
|
trackedSeries
|
|
57
56
|
} = trackedMeasurements.context;
|
|
58
57
|
const {
|
|
59
|
-
|
|
60
|
-
SeriesDescription,
|
|
61
|
-
SeriesInstanceUID,
|
|
62
|
-
SeriesNumber
|
|
58
|
+
SeriesInstanceUID
|
|
63
59
|
} = displaySet;
|
|
64
|
-
const {
|
|
65
|
-
PatientID,
|
|
66
|
-
PatientName,
|
|
67
|
-
PatientSex,
|
|
68
|
-
PatientAge,
|
|
69
|
-
SliceThickness,
|
|
70
|
-
SpacingBetweenSlices,
|
|
71
|
-
StudyDate,
|
|
72
|
-
ManufacturerModelName
|
|
73
|
-
} = displaySet.images[0];
|
|
74
60
|
const updateIsTracked = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
|
|
75
61
|
const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
|
|
76
|
-
if (viewport instanceof
|
|
62
|
+
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_5__.BaseVolumeViewport) {
|
|
77
63
|
// A current image id will only exist for volume viewports that can have measurements tracked.
|
|
78
64
|
// Typically these are those volume viewports for the series of acquisition.
|
|
79
65
|
const currentImageId = viewport?.getCurrentImageId();
|
|
@@ -91,12 +77,12 @@ function TrackedCornerstoneViewport(props) {
|
|
|
91
77
|
const onElementEnabled = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(evt => {
|
|
92
78
|
if (evt.detail.element !== viewportElem) {
|
|
93
79
|
// The VOLUME_VIEWPORT_NEW_VOLUME event allows updateIsTracked to reliably fetch the image id for a volume viewport.
|
|
94
|
-
evt.detail.element?.addEventListener(
|
|
80
|
+
evt.detail.element?.addEventListener(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_5__.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, updateIsTracked);
|
|
95
81
|
setViewportElem(evt.detail.element);
|
|
96
82
|
}
|
|
97
83
|
}, [updateIsTracked, viewportElem]);
|
|
98
84
|
const onElementDisabled = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
|
|
99
|
-
viewportElem?.removeEventListener(
|
|
85
|
+
viewportElem?.removeEventListener(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_5__.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, updateIsTracked);
|
|
100
86
|
}, [updateIsTracked, viewportElem]);
|
|
101
87
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(updateIsTracked, [updateIsTracked]);
|
|
102
88
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
@@ -114,7 +100,7 @@ function TrackedCornerstoneViewport(props) {
|
|
|
114
100
|
}, [updateIsTracked, viewportId]);
|
|
115
101
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
116
102
|
if (isTracked) {
|
|
117
|
-
|
|
103
|
+
_cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_3__.annotation.config.style.setViewportToolStyles(viewportId, {
|
|
118
104
|
global: {
|
|
119
105
|
lineDash: ''
|
|
120
106
|
}
|
|
@@ -122,14 +108,14 @@ function TrackedCornerstoneViewport(props) {
|
|
|
122
108
|
cornerstoneViewportService.getRenderingEngine().renderViewport(viewportId);
|
|
123
109
|
return;
|
|
124
110
|
}
|
|
125
|
-
|
|
111
|
+
_cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_3__.annotation.config.style.setViewportToolStyles(viewportId, {
|
|
126
112
|
global: {
|
|
127
113
|
lineDash: '4,4'
|
|
128
114
|
}
|
|
129
115
|
});
|
|
130
116
|
cornerstoneViewportService.getRenderingEngine().renderViewport(viewportId);
|
|
131
117
|
return () => {
|
|
132
|
-
|
|
118
|
+
_cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_3__.annotation.config.style.setViewportToolStyles(viewportId, {});
|
|
133
119
|
};
|
|
134
120
|
}, [isTracked]);
|
|
135
121
|
|
|
@@ -145,11 +131,10 @@ function TrackedCornerstoneViewport(props) {
|
|
|
145
131
|
const addedRaw = measurementService.EVENTS.RAW_MEASUREMENT_ADDED;
|
|
146
132
|
const subscriptions = [];
|
|
147
133
|
[added, addedRaw].forEach(evt => {
|
|
148
|
-
subscriptions.push(measurementService.subscribe(evt,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
} = _ref;
|
|
134
|
+
subscriptions.push(measurementService.subscribe(evt, ({
|
|
135
|
+
source,
|
|
136
|
+
measurement
|
|
137
|
+
}) => {
|
|
153
138
|
const {
|
|
154
139
|
activeViewportId
|
|
155
140
|
} = viewportGridService.getState();
|
|
@@ -160,7 +145,8 @@ function TrackedCornerstoneViewport(props) {
|
|
|
160
145
|
if (viewportId === activeViewportId) {
|
|
161
146
|
const {
|
|
162
147
|
referenceStudyUID: StudyInstanceUID,
|
|
163
|
-
referenceSeriesUID: SeriesInstanceUID
|
|
148
|
+
referenceSeriesUID: SeriesInstanceUID,
|
|
149
|
+
uid: measurementId
|
|
164
150
|
} = measurement;
|
|
165
151
|
sendTrackedMeasurementsEvent('SET_DIRTY', {
|
|
166
152
|
SeriesInstanceUID
|
|
@@ -168,7 +154,8 @@ function TrackedCornerstoneViewport(props) {
|
|
|
168
154
|
sendTrackedMeasurementsEvent('TRACK_SERIES', {
|
|
169
155
|
viewportId,
|
|
170
156
|
StudyInstanceUID,
|
|
171
|
-
SeriesInstanceUID
|
|
157
|
+
SeriesInstanceUID,
|
|
158
|
+
measurementId
|
|
172
159
|
});
|
|
173
160
|
}
|
|
174
161
|
}).unsubscribe);
|
|
@@ -179,14 +166,31 @@ function TrackedCornerstoneViewport(props) {
|
|
|
179
166
|
});
|
|
180
167
|
};
|
|
181
168
|
}, [measurementService, sendTrackedMeasurementsEvent, viewportId, viewportGridService]);
|
|
182
|
-
|
|
169
|
+
const switchMeasurement = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(direction => {
|
|
183
170
|
const newTrackedMeasurementUID = _getNextMeasurementUID(direction, servicesManager, trackedMeasurementUID, trackedMeasurements);
|
|
184
171
|
if (!newTrackedMeasurementUID) {
|
|
185
172
|
return;
|
|
186
173
|
}
|
|
187
174
|
setTrackedMeasurementUID(newTrackedMeasurementUID);
|
|
188
175
|
measurementService.jumpToMeasurement(viewportId, newTrackedMeasurementUID);
|
|
189
|
-
}
|
|
176
|
+
}, [measurementService, servicesManager, trackedMeasurementUID, trackedMeasurements, viewportId]);
|
|
177
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
178
|
+
const statusComponent = _getStatusComponent(isTracked, t);
|
|
179
|
+
const arrowsComponent = _getArrowsComponent(isTracked, switchMeasurement, viewportId === activeViewportId);
|
|
180
|
+
viewportActionCornersService.setComponents([{
|
|
181
|
+
viewportId,
|
|
182
|
+
id: 'viewportStatusComponent',
|
|
183
|
+
component: statusComponent,
|
|
184
|
+
indexPriority: -100,
|
|
185
|
+
location: viewportActionCornersService.LOCATIONS.topLeft
|
|
186
|
+
}, {
|
|
187
|
+
viewportId,
|
|
188
|
+
id: 'viewportActionArrowsComponent',
|
|
189
|
+
component: arrowsComponent,
|
|
190
|
+
indexPriority: 0,
|
|
191
|
+
location: viewportActionCornersService.LOCATIONS.topRight
|
|
192
|
+
}]);
|
|
193
|
+
}, [activeViewportId, isTracked, switchMeasurement, viewportActionCornersService, viewportId]);
|
|
190
194
|
const getCornerstoneViewport = () => {
|
|
191
195
|
const {
|
|
192
196
|
component: Component
|
|
@@ -196,32 +200,7 @@ function TrackedCornerstoneViewport(props) {
|
|
|
196
200
|
onElementDisabled: onElementDisabled
|
|
197
201
|
}));
|
|
198
202
|
};
|
|
199
|
-
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
200
|
-
onDoubleClick: evt => {
|
|
201
|
-
evt.stopPropagation();
|
|
202
|
-
evt.preventDefault();
|
|
203
|
-
},
|
|
204
|
-
useAltStyling: isTracked,
|
|
205
|
-
onArrowsClick: direction => switchMeasurement(direction),
|
|
206
|
-
getStatusComponent: () => _getStatusComponent(isTracked),
|
|
207
|
-
studyData: {
|
|
208
|
-
label: viewportLabel,
|
|
209
|
-
studyDate: formatDate(SeriesDate) || formatDate(StudyDate) || t('NoStudyDate'),
|
|
210
|
-
currentSeries: SeriesNumber,
|
|
211
|
-
// TODO - switch entire currentSeries to be UID based or actual position based
|
|
212
|
-
seriesDescription: SeriesDescription,
|
|
213
|
-
patientInformation: {
|
|
214
|
-
patientName: PatientName ? _ohif_core__WEBPACK_IMPORTED_MODULE_2__["default"].utils.formatPN(PatientName) : '',
|
|
215
|
-
patientSex: PatientSex || '',
|
|
216
|
-
patientAge: PatientAge || '',
|
|
217
|
-
MRN: PatientID || '',
|
|
218
|
-
thickness: SliceThickness ? `${parseFloat(SliceThickness).toFixed(2)}` : '',
|
|
219
|
-
thicknessUnits: 'mm',
|
|
220
|
-
spacing: SpacingBetweenSlices !== undefined ? `${parseFloat(SpacingBetweenSlices).toFixed(2)}mm` : '',
|
|
221
|
-
scanner: ManufacturerModelName || ''
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
203
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
225
204
|
className: "relative flex h-full w-full flex-row overflow-hidden"
|
|
226
205
|
}, getCornerstoneViewport()));
|
|
227
206
|
}
|
|
@@ -269,45 +248,47 @@ function _getNextMeasurementUID(direction, servicesManager, trackedMeasurementId
|
|
|
269
248
|
// Not tracking a measurement, or previous measurement now deleted, revert to 0.
|
|
270
249
|
measurementIndex = 0;
|
|
271
250
|
} else {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
} else if (direction === 'right') {
|
|
278
|
-
measurementIndex++;
|
|
279
|
-
if (measurementIndex === measurementCount) {
|
|
280
|
-
measurementIndex = 0;
|
|
281
|
-
}
|
|
251
|
+
measurementIndex += direction;
|
|
252
|
+
if (measurementIndex < 0) {
|
|
253
|
+
measurementIndex = measurementCount - 1;
|
|
254
|
+
} else if (measurementIndex === measurementCount) {
|
|
255
|
+
measurementIndex = 0;
|
|
282
256
|
}
|
|
283
257
|
}
|
|
284
258
|
const newTrackedMeasurementId = uids[measurementIndex];
|
|
285
259
|
return newTrackedMeasurementId;
|
|
286
260
|
}
|
|
287
|
-
|
|
288
|
-
|
|
261
|
+
const _getArrowsComponent = (isTracked, switchMeasurement, isActiveViewport) => {
|
|
262
|
+
if (!isTracked) {
|
|
263
|
+
return null;
|
|
264
|
+
}
|
|
265
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionArrows */ .$I, {
|
|
266
|
+
onArrowsClick: direction => switchMeasurement(direction),
|
|
267
|
+
className: isActiveViewport ? 'visible' : 'invisible group-hover:visible'
|
|
268
|
+
});
|
|
269
|
+
};
|
|
270
|
+
function _getStatusComponent(isTracked, t) {
|
|
271
|
+
if (!isTracked) {
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
289
274
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
290
275
|
className: "relative"
|
|
291
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
276
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .Tooltip */ .m_, {
|
|
292
277
|
position: "bottom-left",
|
|
293
278
|
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
294
279
|
className: "flex py-2"
|
|
295
280
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
296
281
|
className: "flex pt-1"
|
|
297
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
282
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .Icon */ .In, {
|
|
298
283
|
name: "info-link",
|
|
299
284
|
className: "text-primary-main w-4"
|
|
300
285
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
301
286
|
className: "ml-4 flex"
|
|
302
287
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", {
|
|
303
288
|
className: "text-common-light text-base"
|
|
304
|
-
}, isTracked ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
className: "font-bold text-white"
|
|
308
|
-
}, " untracked "), "series ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("br", null), " will not be shown in the ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("br", null), " measurements panel"))))
|
|
309
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ohif_ui__WEBPACK_IMPORTED_MODULE_3__/* .Icon */ .JO, {
|
|
310
|
-
name: trackedIcon,
|
|
289
|
+
}, isTracked ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, t('Series is tracked and can be viewed in the measurement panel')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, t('Measurements for untracked series will not be shown in the measurements panel')))))
|
|
290
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .Icon */ .In, {
|
|
291
|
+
name: 'viewport-status-tracked',
|
|
311
292
|
className: "text-aqua-pale"
|
|
312
293
|
})));
|
|
313
294
|
}
|