@ohif/app 3.11.0-beta.98 → 3.11.0

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.
Files changed (51) hide show
  1. package/dist/{2676.bundle.7e194265450db9aa1e98.js → 1402.bundle.e5306db9171c6c9793a7.js} +1379 -857
  2. package/dist/{9625.bundle.d2ab59c3dc4bf4139e1a.js → 1447.bundle.976ce9f69636f66a9eab.js} +2401 -2422
  3. package/dist/{147.bundle.a28710f442d91d98ee60.js → 147.bundle.e22bae08eb10c0a51314.js} +45 -122
  4. package/dist/{1919.bundle.a80e1fa53f199f8862dd.js → 1919.bundle.ca1ffebd2ee775dc2d82.js} +6 -4
  5. package/dist/{2011.bundle.c44c0094525a51b528f4.js → 2011.bundle.12539f6bbbfc20a372e9.js} +2726 -197
  6. package/dist/{6216.bundle.48ff7813b6b3b8aba5f0.js → 2345.bundle.1fedf5750caf46ce99d9.js} +1 -35
  7. package/dist/{2701.bundle.d5c7ef6ec8b6cd9c2dfa.js → 2701.bundle.f2c7a5ab4a8b49d73bff.js} +9 -9
  8. package/dist/{2974.bundle.54d5903a8b29f1b09299.js → 2974.bundle.ec95e58b346dbe30a362.js} +2 -0
  9. package/dist/{7750.bundle.216dafe3c87d611928da.js → 319.bundle.45c1c250b562a3feefa5.js} +296 -62
  10. package/dist/{3658.bundle.6093e112080735acc799.js → 3658.bundle.4b03e3bc783328aab18f.js} +2 -2
  11. package/dist/{9594.bundle.e623f61b984d7ff3b4b6.js → 4019.bundle.e07cc2a71b6e189a706a.js} +31 -157
  12. package/dist/{4113.bundle.e31f07e5967b95da38ec.js → 4113.bundle.3b3fed48ad784ccda1a1.js} +268 -67
  13. package/dist/{414.bundle.447355abfbdee0fcd226.js → 414.bundle.fac8463232edcfda0b6c.js} +15 -15
  14. package/dist/{4202.bundle.aa4161a7b8cb7c691072.js → 4202.bundle.f804c72fb887b9543506.js} +1 -1
  15. package/dist/{4759.bundle.4da90b9346bb5e377ac6.js → 4759.bundle.8686abdd7bcf4aa7d107.js} +2 -0
  16. package/dist/{5349.bundle.be4b2d9a58412788944e.js → 5349.bundle.c117cc60ab5ff40eed14.js} +2 -2
  17. package/dist/{6972.bundle.62729ec60365a1713e6e.js → 557.bundle.a0344a04ae7a43642402.js} +5541 -5283
  18. package/dist/{5674.bundle.6c0d445cbd151b6e7aa1.js → 5674.bundle.4e40a906351477a2a193.js} +2 -0
  19. package/dist/{6201.bundle.cf4e864bab13348add49.js → 6201.bundle.5d7b8937f331f965d1aa.js} +4 -4
  20. package/dist/{6376.bundle.de4abf332424cba7513e.js → 6376.bundle.24e14fa9bf28c7c86e7c.js} +1 -1
  21. package/dist/{1943.bundle.f020846851b7cc84afe7.js → 6991.bundle.08967b6f5698660e3a19.js} +67 -51
  22. package/dist/{7190.bundle.a35063abb9cb95986e67.js → 7190.bundle.4448c5a66a997bea24ca.js} +45 -8
  23. package/dist/{7197.bundle.e1e4eae326cae4231427.js → 7197.bundle.b8ce1b612ab1eff5d3ee.js} +5 -5
  24. package/dist/{810.bundle.b6c91b9eba0ed85abf1d.js → 810.bundle.84fc54342c180b8a3023.js} +6 -6
  25. package/dist/{8228.bundle.2df7b5c0e4e0fdbb3654.js → 8228.bundle.ec3557eae81cafaed8c9.js} +2 -2
  26. package/dist/{85.bundle.d741fbbde9d23cfd9bf3.js → 85.bundle.f9908f1f7350e5027d37.js} +3 -2
  27. package/dist/{8558.bundle.77bfe4e629eba4e4f807.js → 8558.bundle.ead200c0f2518d73739f.js} +3 -1
  28. package/dist/{860.bundle.736e07c64aeb9bfca8cb.js → 860.bundle.f90055bfb2088bf17617.js} +24 -1
  29. package/dist/{8740.bundle.d0f554795adaecf0292c.js → 8740.bundle.9e567165a05c863b9698.js} +18 -5
  30. package/dist/{8815.bundle.8f8b971e04e3c185fab2.js → 8815.bundle.9999a630034893a74508.js} +32 -10
  31. package/dist/{934.bundle.7267819612a1949b4985.js → 934.bundle.e620a43102a8abf8a1e3.js} +4 -2
  32. package/dist/{963.bundle.2742aa726a247a166628.js → 963.bundle.b2434897acfb3e8abee5.js} +29 -9
  33. package/dist/{1443.bundle.405ff549a88a585906f3.js → 9732.bundle.91cb05748bef4e4f67c2.js} +883 -1731
  34. package/dist/{9560.bundle.203976e64c9a0202e247.js → 9856.bundle.c34e4165e91ef095aa9f.js} +5853 -5649
  35. package/dist/{9862.bundle.11d2a0f6528e9e916e25.js → 9862.bundle.e404cb5f0e762fbf6a03.js} +2 -14
  36. package/dist/{5886.bundle.181e673d6d5a9333039a.js → 9892.bundle.364aba175ce50baeb46c.js} +35397 -32968
  37. package/dist/app-config.js +8 -0
  38. package/dist/{app.bundle.e65d04bbe0c78ac953b7.js → app.bundle.804c5a4cd283acda540d.js} +2239 -1468
  39. package/dist/{compute.bundle.06ee8311038e4ac2d34d.js → compute.bundle.a1c8365c4732e8b82ca3.js} +3 -3
  40. package/dist/index.html +1 -1
  41. package/dist/{interpolation.bundle.6b3b374f2888d3744e61.js → interpolation.bundle.488206d0a2c4fa1dd6c5.js} +1 -1
  42. package/dist/{polySeg.bundle.d8a36b40716862d016de.js → polySeg.bundle.02258624e0ec30e9934c.js} +3 -3
  43. package/dist/sw.js +1 -1
  44. package/package.json +22 -22
  45. /package/dist/{1459.bundle.1355d3eba175caed4bed.js → 1459.bundle.163c80965265cae11781.js} +0 -0
  46. /package/dist/{1807.bundle.7f4c8bba871a129c0ac4.js → 1807.bundle.d79c83317de38e4cffbd.js} +0 -0
  47. /package/dist/{213.bundle.42a97fecb41efdbe544e.js → 213.bundle.f8b1fd7851428f0fa02f.js} +0 -0
  48. /package/dist/{2424.bundle.54b1697ec7d23199a852.js → 2424.bundle.7469c5960e905196f646.js} +0 -0
  49. /package/dist/{6027.bundle.15c09b0276585fc58ef2.js → 6027.bundle.ab73f6c39c04c7662744.js} +0 -0
  50. /package/dist/{7431.bundle.503dc3262479de76225b.js → 7431.bundle.494b080a8141ef60067a.js} +0 -0
  51. /package/dist/{7639.bundle.390d70032154dd95344d.js → 7639.bundle.664fc584f04ca34a4bf1.js} +0 -0
@@ -159,6 +159,8 @@ var Events;
159
159
  Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
160
160
  Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
161
161
  Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
162
+ Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
163
+ Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
162
164
  Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
163
165
  Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
164
166
  Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
@@ -28,10 +28,10 @@ var src = __webpack_require__(15871);
28
28
  var i18n_src = __webpack_require__(89806);
29
29
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
30
30
  var esm = __webpack_require__(15327);
31
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 66 modules
32
- var dist_esm = __webpack_require__(34279);
33
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 177 modules
34
- var cornerstone_src = __webpack_require__(56972);
31
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 70 modules
32
+ var dist_esm = __webpack_require__(92740);
33
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 184 modules
34
+ var cornerstone_src = __webpack_require__(20557);
35
35
  ;// ../../../extensions/cornerstone-dicom-pmap/src/getSopClassHandlerModule.ts
36
36
 
37
37
 
@@ -683,7 +683,7 @@ expose(workerOperations);
683
683
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
684
684
  /******/ __webpack_require__.u = (chunkId) => {
685
685
  /******/ // return url for filenames based on template
686
- /******/ return "" + chunkId + ".bundle." + "a35063abb9cb95986e67" + ".js";
686
+ /******/ return "" + chunkId + ".bundle." + "4448c5a66a997bea24ca" + ".js";
687
687
  /******/ };
688
688
  /******/ })();
689
689
  /******/
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[1943],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[6991],{
3
3
 
4
4
  /***/ 10401:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -19,7 +19,62 @@ var Swipe;
19
19
 
20
20
  /***/ }),
21
21
 
22
- /***/ 13423:
22
+ /***/ 18682:
23
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
24
+
25
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
27
+ /* harmony export */ });
28
+ var SegmentationRepresentations;
29
+ (function (SegmentationRepresentations) {
30
+ SegmentationRepresentations["Labelmap"] = "Labelmap";
31
+ SegmentationRepresentations["Contour"] = "Contour";
32
+ SegmentationRepresentations["Surface"] = "Surface";
33
+ })(SegmentationRepresentations || (SegmentationRepresentations = {}));
34
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SegmentationRepresentations);
35
+
36
+
37
+ /***/ }),
38
+
39
+ /***/ 28024:
40
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
+
42
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
43
+ /* harmony export */ C: () => (/* binding */ setShowPercentage),
44
+ /* harmony export */ w: () => (/* binding */ showPercentage)
45
+ /* harmony export */ });
46
+ // Global state to control whether to show the percentage in the overlay
47
+ let showPercentage = true;
48
+
49
+ /**
50
+ * Sets whether to show the pleura percentage in the viewport overlay
51
+ * @param value - Boolean indicating whether to show the percentage
52
+ */
53
+ function setShowPercentage(value) {
54
+ showPercentage = value;
55
+ }
56
+
57
+ /***/ }),
58
+
59
+ /***/ 49892:
60
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
61
+
62
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
63
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
64
+ /* harmony export */ });
65
+ var ToolModes;
66
+ (function (ToolModes) {
67
+ ToolModes["Active"] = "Active";
68
+ ToolModes["Passive"] = "Passive";
69
+ ToolModes["Enabled"] = "Enabled";
70
+ ToolModes["Disabled"] = "Disabled";
71
+ })(ToolModes || (ToolModes = {}));
72
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToolModes);
73
+
74
+
75
+ /***/ }),
76
+
77
+ /***/ 55015:
23
78
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
24
79
 
25
80
  // ESM COMPAT FLAG
@@ -28,8 +83,8 @@ __webpack_require__.r(__webpack_exports__);
28
83
  // EXPORTS
29
84
  __webpack_require__.d(__webpack_exports__, {
30
85
  "default": () => (/* binding */ usAnnotation_src),
31
- setShowPercentage: () => (/* reexport */ setShowPercentage),
32
- showPercentage: () => (/* reexport */ showPercentage)
86
+ setShowPercentage: () => (/* reexport */ PleuraBlinePercentage/* setShowPercentage */.C),
87
+ showPercentage: () => (/* reexport */ PleuraBlinePercentage/* showPercentage */.w)
33
88
  });
34
89
 
35
90
  ;// ../../../extensions/usAnnotation/package.json
@@ -161,6 +216,9 @@ function USAnnotationPanel() {
161
216
  commandsManager.runCommand('setDisplayFanAnnotation', {
162
217
  value
163
218
  });
219
+ commandsManager.runCommand('setShowPleuraPercentage', {
220
+ value
221
+ });
164
222
  setShowOverlay(value);
165
223
  };
166
224
  /**
@@ -450,17 +508,8 @@ function getInstanceByImageId(services, imageId) {
450
508
  const displaySet = activeDisplaySets.find(displaySet => displaySet?.imageIds?.includes(imageId));
451
509
  return displaySet?.instance;
452
510
  }
453
- ;// ../../../extensions/usAnnotation/src/PleuraBlinePercentage.ts
454
- // Global state to control whether to show the percentage in the overlay
455
- let showPercentage = true;
456
-
457
- /**
458
- * Sets whether to show the pleura percentage in the viewport overlay
459
- * @param value - Boolean indicating whether to show the percentage
460
- */
461
- function setShowPercentage(value) {
462
- showPercentage = value;
463
- }
511
+ // EXTERNAL MODULE: ../../../extensions/usAnnotation/src/PleuraBlinePercentage.ts
512
+ var PleuraBlinePercentage = __webpack_require__(28024);
464
513
  ;// ../../../extensions/usAnnotation/src/getCommandsModule.ts
465
514
 
466
515
 
@@ -645,7 +694,7 @@ function commandsModule({
645
694
  setShowPleuraPercentage: ({
646
695
  value
647
696
  }) => {
648
- setShowPercentage(value);
697
+ (0,PleuraBlinePercentage/* setShowPercentage */.C)(value);
649
698
  // Trigger ANNOTATION_MODIFIED event to update the overlay
650
699
  (0,dist_esm.triggerEvent)(dist_esm.eventTarget, esm.Enums.Events.ANNOTATION_MODIFIED, {
651
700
  annotation: {
@@ -855,41 +904,6 @@ function commandsModule({
855
904
  });
856
905
 
857
906
 
858
- /***/ }),
859
-
860
- /***/ 18682:
861
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
862
-
863
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
864
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
865
- /* harmony export */ });
866
- var SegmentationRepresentations;
867
- (function (SegmentationRepresentations) {
868
- SegmentationRepresentations["Labelmap"] = "Labelmap";
869
- SegmentationRepresentations["Contour"] = "Contour";
870
- SegmentationRepresentations["Surface"] = "Surface";
871
- })(SegmentationRepresentations || (SegmentationRepresentations = {}));
872
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SegmentationRepresentations);
873
-
874
-
875
- /***/ }),
876
-
877
- /***/ 49892:
878
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
879
-
880
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
881
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
882
- /* harmony export */ });
883
- var ToolModes;
884
- (function (ToolModes) {
885
- ToolModes["Active"] = "Active";
886
- ToolModes["Passive"] = "Passive";
887
- ToolModes["Enabled"] = "Enabled";
888
- ToolModes["Disabled"] = "Disabled";
889
- })(ToolModes || (ToolModes = {}));
890
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToolModes);
891
-
892
-
893
907
  /***/ }),
894
908
 
895
909
  /***/ 66452:
@@ -997,6 +1011,8 @@ var Events;
997
1011
  Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
998
1012
  Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
999
1013
  Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
1014
+ Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
1015
+ Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
1000
1016
  Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
1001
1017
  Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
1002
1018
  Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
@@ -576,6 +576,27 @@ const isPlainObject = (val) => {
576
576
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
577
577
  }
578
578
 
579
+ /**
580
+ * Determine if a value is an empty object (safely handles Buffers)
581
+ *
582
+ * @param {*} val The value to test
583
+ *
584
+ * @returns {boolean} True if value is an empty object, otherwise false
585
+ */
586
+ const isEmptyObject = (val) => {
587
+ // Early return for non-objects or Buffers to prevent RangeError
588
+ if (!isObject(val) || isBuffer(val)) {
589
+ return false;
590
+ }
591
+
592
+ try {
593
+ return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
594
+ } catch (e) {
595
+ // Fallback for any other objects that might cause RangeError with Object.keys()
596
+ return false;
597
+ }
598
+ }
599
+
579
600
  /**
580
601
  * Determine if a value is a Date
581
602
  *
@@ -698,6 +719,11 @@ function forEach(obj, fn, {allOwnKeys = false} = {}) {
698
719
  fn.call(null, obj[i], i, obj);
699
720
  }
700
721
  } else {
722
+ // Buffer check
723
+ if (isBuffer(obj)) {
724
+ return;
725
+ }
726
+
701
727
  // Iterate over object keys
702
728
  const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
703
729
  const len = keys.length;
@@ -711,6 +737,10 @@ function forEach(obj, fn, {allOwnKeys = false} = {}) {
711
737
  }
712
738
 
713
739
  function findKey(obj, key) {
740
+ if (isBuffer(obj)){
741
+ return null;
742
+ }
743
+
714
744
  key = key.toLowerCase();
715
745
  const keys = Object.keys(obj);
716
746
  let i = keys.length;
@@ -1064,6 +1094,11 @@ const toJSONObject = (obj) => {
1064
1094
  return;
1065
1095
  }
1066
1096
 
1097
+ //Buffer check
1098
+ if (isBuffer(source)) {
1099
+ return source;
1100
+ }
1101
+
1067
1102
  if(!('toJSON' in source)) {
1068
1103
  stack[i] = source;
1069
1104
  const target = isArray(source) ? [] : {};
@@ -1135,6 +1170,7 @@ const isIterable = (thing) => thing != null && isFunction(thing[iterator]);
1135
1170
  isBoolean,
1136
1171
  isObject,
1137
1172
  isPlainObject,
1173
+ isEmptyObject,
1138
1174
  isReadableStream,
1139
1175
  isRequest,
1140
1176
  isResponse,
@@ -1826,7 +1862,7 @@ const origin = hasBrowserEnv && window.location.href || 'http://localhost';
1826
1862
 
1827
1863
 
1828
1864
  function toURLEncodedForm(data, options) {
1829
- return helpers_toFormData(data, new platform.classes.URLSearchParams(), Object.assign({
1865
+ return helpers_toFormData(data, new platform.classes.URLSearchParams(), {
1830
1866
  visitor: function(value, key, path, helpers) {
1831
1867
  if (platform.isNode && utils.isBuffer(value)) {
1832
1868
  this.append(key, value.toString('base64'));
@@ -1834,8 +1870,9 @@ function toURLEncodedForm(data, options) {
1834
1870
  }
1835
1871
 
1836
1872
  return helpers.defaultVisitor.apply(this, arguments);
1837
- }
1838
- }, options));
1873
+ },
1874
+ ...options
1875
+ });
1839
1876
  }
1840
1877
 
1841
1878
  ;// ../../../node_modules/axios/lib/helpers/formDataToJSON.js
@@ -2649,7 +2686,7 @@ function throttle(fn, freq) {
2649
2686
  clearTimeout(timer);
2650
2687
  timer = null;
2651
2688
  }
2652
- fn.apply(null, args);
2689
+ fn(...args);
2653
2690
  }
2654
2691
 
2655
2692
  const throttled = (...args) => {
@@ -2938,7 +2975,7 @@ function mergeConfig(config1, config2) {
2938
2975
  headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)
2939
2976
  };
2940
2977
 
2941
- utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
2978
+ utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {
2942
2979
  const merge = mergeMap[prop] || mergeDeepProperties;
2943
2980
  const configValue = merge(config1[prop], config2[prop], prop);
2944
2981
  (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
@@ -3740,7 +3777,7 @@ function dispatchRequest(config) {
3740
3777
  }
3741
3778
 
3742
3779
  ;// ../../../node_modules/axios/lib/env/data.js
3743
- const VERSION = "1.10.0";
3780
+ const VERSION = "1.11.0";
3744
3781
  ;// ../../../node_modules/axios/lib/helpers/validator.js
3745
3782
 
3746
3783
 
@@ -3998,8 +4035,8 @@ class Axios {
3998
4035
 
3999
4036
  if (!synchronousRequestInterceptors) {
4000
4037
  const chain = [dispatchRequest.bind(this), undefined];
4001
- chain.unshift.apply(chain, requestInterceptorChain);
4002
- chain.push.apply(chain, responseInterceptorChain);
4038
+ chain.unshift(...requestInterceptorChain);
4039
+ chain.push(...responseInterceptorChain);
4003
4040
  len = chain.length;
4004
4041
 
4005
4042
  promise = Promise.resolve(config);
@@ -30,8 +30,8 @@ var i18n_src = __webpack_require__(89806);
30
30
  var esm = __webpack_require__(15327);
31
31
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
32
32
  var dist_esm = __webpack_require__(4667);
33
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 66 modules
34
- var adapters_dist_esm = __webpack_require__(34279);
33
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 70 modules
34
+ var adapters_dist_esm = __webpack_require__(92740);
35
35
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
36
36
  var dcmjs_es = __webpack_require__(5842);
37
37
  ;// ../../../extensions/cornerstone-dicom-seg/src/utils/dicomlabToRGB.ts
@@ -345,8 +345,8 @@ function getHangingProtocolModule() {
345
345
  }
346
346
  /* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
347
347
 
348
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 140 modules
349
- var default_src = __webpack_require__(49625);
348
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
349
+ var default_src = __webpack_require__(11447);
350
350
  // EXTERNAL MODULE: ../../../extensions/default/src/utils/_shared/PROMPT_RESPONSES.ts
351
351
  var PROMPT_RESPONSES = __webpack_require__(96357);
352
352
  ;// ../../../extensions/cornerstone-dicom-seg/src/commandsModule.ts
@@ -744,7 +744,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
744
744
 
745
745
 
746
746
  const Component = /*#__PURE__*/react.lazy(() => {
747
- return Promise.all(/* import() */[__webpack_require__.e(7431), __webpack_require__.e(6972), __webpack_require__.e(8740)]).then(__webpack_require__.bind(__webpack_require__, 69845));
747
+ return Promise.all(/* import() */[__webpack_require__.e(7431), __webpack_require__.e(557), __webpack_require__.e(8740)]).then(__webpack_require__.bind(__webpack_require__, 69845));
748
748
  });
749
749
  const OHIFCornerstoneSEGViewport = props => {
750
750
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -975,8 +975,8 @@ PanelPetSUV.propTypes = {
975
975
  }).isRequired
976
976
  }).isRequired
977
977
  };
978
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 177 modules
979
- var cornerstone_src = __webpack_require__(56972);
978
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 184 modules
979
+ var cornerstone_src = __webpack_require__(20557);
980
980
  ;// ../../../extensions/tmtv/src/utils/handleROIThresholding.ts
981
981
  const handleROIThresholding = async ({
982
982
  commandsManager,
@@ -1096,8 +1096,8 @@ function PanelRoiThresholdSegmentation() {
1096
1096
 
1097
1097
 
1098
1098
 
1099
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 140 modules
1100
- var default_src = __webpack_require__(49625);
1099
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
1100
+ var default_src = __webpack_require__(11447);
1101
1101
  ;// ../../../extensions/tmtv/src/Panels/PanelTMTV.tsx
1102
1102
 
1103
1103
 
@@ -1474,8 +1474,8 @@ function createAndDownloadTMTVReport(segReport, additionalReportRows, options =
1474
1474
  }
1475
1475
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
1476
1476
  var dcmjs_es = __webpack_require__(5842);
1477
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 66 modules
1478
- var adapters_dist_esm = __webpack_require__(34279);
1477
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 70 modules
1478
+ var adapters_dist_esm = __webpack_require__(92740);
1479
1479
  ;// ../../../extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js
1480
1480
 
1481
1481
 
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
14
14
 
15
15
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
16
16
  var react = __webpack_require__(86326);
17
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 140 modules
18
- var src = __webpack_require__(49625);
17
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
18
+ var src = __webpack_require__(11447);
19
19
  ;// ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
20
20
  // extracted by mini-css-extract-plugin
21
21
 
@@ -904,6 +904,7 @@ const tracked = {
904
904
  };
905
905
  const dicomsr = {
906
906
  sopClassHandler: '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
907
+ sopClassHandler3D: '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr-3d',
907
908
  viewport: '@ohif/extension-cornerstone-dicom-sr.viewportModule.dicom-sr'
908
909
  };
909
910
  const dicomvideo = {
@@ -1034,7 +1035,7 @@ function modeFactory() {
1034
1035
  displaySetsToDisplay: [ohif.sopClassHandler, dicomvideo.sopClassHandler, ohif.wsiSopClassHandler]
1035
1036
  }, {
1036
1037
  namespace: dicomsr.viewport,
1037
- displaySetsToDisplay: [dicomsr.sopClassHandler]
1038
+ displaySetsToDisplay: [dicomsr.sopClassHandler, dicomsr.sopClassHandler3D]
1038
1039
  }, {
1039
1040
  namespace: dicomvideo.viewport,
1040
1041
  displaySetsToDisplay: [dicomvideo.sopClassHandler]
@@ -1054,7 +1055,7 @@ function modeFactory() {
1054
1055
  }],
1055
1056
  extensions: extensionDependencies,
1056
1057
  hangingProtocol: 'default',
1057
- sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, ohif.wsiSopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler],
1058
+ sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, ohif.wsiSopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler, dicomsr.sopClassHandler3D],
1058
1059
  hotkeys: {
1059
1060
  name: 'basic-test-hotkeys'
1060
1061
  }
@@ -598,7 +598,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
598
598
 
599
599
 
600
600
  const Component = /*#__PURE__*/react.lazy(() => {
601
- return Promise.all(/* import() */[__webpack_require__.e(9594), __webpack_require__.e(7750), __webpack_require__.e(6216), __webpack_require__.e(2011), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9625), __webpack_require__.e(6972), __webpack_require__.e(5349)]).then(__webpack_require__.bind(__webpack_require__, 88414));
601
+ return Promise.all(/* import() */[__webpack_require__.e(4019), __webpack_require__.e(319), __webpack_require__.e(2345), __webpack_require__.e(2011), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(1447), __webpack_require__.e(557), __webpack_require__.e(5349)]).then(__webpack_require__.bind(__webpack_require__, 88414));
602
602
  });
603
603
  const OHIFCornerstoneRTViewport = props => {
604
604
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -694,6 +694,8 @@ var Events;
694
694
  Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
695
695
  Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
696
696
  Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
697
+ Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
698
+ Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
697
699
  Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
698
700
  Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
699
701
  Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
@@ -1,6 +1,26 @@
1
1
  "use strict";
2
2
  (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[860,8402],{
3
3
 
4
+ /***/ 28024:
5
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
+
7
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
+ /* harmony export */ C: () => (/* binding */ setShowPercentage),
9
+ /* harmony export */ w: () => (/* binding */ showPercentage)
10
+ /* harmony export */ });
11
+ // Global state to control whether to show the percentage in the overlay
12
+ let showPercentage = true;
13
+
14
+ /**
15
+ * Sets whether to show the pleura percentage in the viewport overlay
16
+ * @param value - Boolean indicating whether to show the percentage
17
+ */
18
+ function setShowPercentage(value) {
19
+ showPercentage = value;
20
+ }
21
+
22
+ /***/ }),
23
+
4
24
  /***/ 94507:
5
25
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
26
 
@@ -959,12 +979,15 @@ const toolbarButtons = [
959
979
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
960
980
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
961
981
  var dist_esm = __webpack_require__(4667);
982
+ // EXTERNAL MODULE: ../../../extensions/usAnnotation/src/PleuraBlinePercentage.ts
983
+ var PleuraBlinePercentage = __webpack_require__(28024);
962
984
  ;// ../../../modes/usAnnotation/src/index.ts
963
985
 
964
986
 
965
987
 
966
988
 
967
989
 
990
+
968
991
  const ohif = {
969
992
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
970
993
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -1118,7 +1141,7 @@ function modeFactory({
1118
1141
  title: 'BLinePleuraPercentage',
1119
1142
  condition: ({
1120
1143
  referenceInstance
1121
- }) => referenceInstance?.Modality.includes('US'),
1144
+ }) => referenceInstance?.Modality.includes('US') && PleuraBlinePercentage/* showPercentage */.w,
1122
1145
  contentF: () => {
1123
1146
  const {
1124
1147
  viewportGridService,
@@ -17,13 +17,21 @@ var react = __webpack_require__(86326);
17
17
  // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3072 modules
18
18
  var src = __webpack_require__(42606);
19
19
  ;// ../../../extensions/cornerstone-dicom-seg/src/utils/initSEGToolGroup.ts
20
- function createSEGToolGroupAndAddTools(ToolGroupService, customizationService, toolGroupId) {
20
+ function createSEGToolGroupAndAddTools({
21
+ commandsManager,
22
+ toolGroupService,
23
+ customizationService,
24
+ toolGroupId
25
+ }) {
21
26
  const tools = customizationService.getCustomization('cornerstone.overlayViewportTools');
22
- return ToolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
27
+ const updatedTools = commandsManager.run('initializeSegmentLabelTool', {
28
+ tools
29
+ });
30
+ return toolGroupService.createToolGroupAndAddTools(toolGroupId, updatedTools);
23
31
  }
24
32
  /* harmony default export */ const initSEGToolGroup = (createSEGToolGroupAndAddTools);
25
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 177 modules
26
- var cornerstone_src = __webpack_require__(56972);
33
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 184 modules
34
+ var cornerstone_src = __webpack_require__(20557);
27
35
  ;// ../../../extensions/cornerstone-dicom-seg/src/utils/promptHydrateSEG.ts
28
36
 
29
37
  function promptHydrateSEG({
@@ -247,7 +255,12 @@ function OHIFCornerstoneSEGViewport(props) {
247
255
 
248
256
  // This creates a custom tool group which has the lifetime of this view
249
257
  // only, and does NOT interfere with currently displayed segmentations.
250
- toolGroup = initSEGToolGroup(toolGroupService, customizationService, toolGroupId);
258
+ toolGroup = initSEGToolGroup({
259
+ commandsManager,
260
+ toolGroupService,
261
+ customizationService,
262
+ toolGroupId
263
+ });
251
264
  return () => {
252
265
  // remove the segmentation representations if seg displayset changed
253
266
  // e.g., another seg displayset is dragged into the viewport
@@ -689,6 +689,20 @@ const toolbarButtons = [{
689
689
  commands: 'setToolActiveToolbar'
690
690
  }]
691
691
  }
692
+ }, {
693
+ id: 'SegmentLabelTool',
694
+ uiType: 'ohif.toolBoxButton',
695
+ props: {
696
+ icon: 'tool-segment-label',
697
+ label: 'Segment Label Display',
698
+ tooltip: 'Click to show or hide segment labels when hovering with your mouse.',
699
+ commands: {
700
+ commandName: 'toggleSegmentLabel'
701
+ },
702
+ evaluate: ['evaluate.cornerstoneTool.toggle', {
703
+ name: 'evaluate.cornerstone.hasSegmentation'
704
+ }]
705
+ }
692
706
  }];
693
707
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
694
708
  ;// ../../../modes/segmentation/src/initToolGroups.ts
@@ -702,12 +716,15 @@ const colorsByOrientation = {
702
716
  sagittal: 'rgb(200, 200, 0)',
703
717
  coronal: 'rgb(0, 200, 0)'
704
718
  };
705
- function createTools(utilityModule) {
719
+ function createTools({
720
+ utilityModule,
721
+ commandsManager
722
+ }) {
706
723
  const {
707
724
  toolNames,
708
725
  Enums
709
726
  } = utilityModule.exports;
710
- return {
727
+ const tools = {
711
728
  active: [{
712
729
  toolName: toolNames.WindowLevel,
713
730
  bindings: [{
@@ -818,17 +835,19 @@ function createTools(utilityModule) {
818
835
  toolName: toolNames.ReferenceLines
819
836
  }, {
820
837
  toolName: toolNames.AdvancedMagnify
821
- }, {
822
- toolName: toolNames.SegmentLabel,
823
- configuration: {
824
- hoverTimeout: 1
825
- }
826
838
  }]
827
839
  };
840
+ const updatedTools = commandsManager.run('initializeSegmentLabelTool', {
841
+ tools
842
+ });
843
+ return updatedTools;
828
844
  }
829
845
  function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {
830
846
  const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
831
- const tools = createTools(utilityModule);
847
+ const tools = createTools({
848
+ commandsManager,
849
+ utilityModule
850
+ });
832
851
  toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
833
852
  }
834
853
  function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
@@ -837,7 +856,10 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
837
856
  const {
838
857
  cornerstoneViewportService
839
858
  } = servicesManager.services;
840
- const tools = createTools(utilityModule);
859
+ const tools = createTools({
860
+ commandsManager,
861
+ utilityModule
862
+ });
841
863
  tools.disabled.push({
842
864
  toolName: utilityModule.exports.toolNames.Crosshairs,
843
865
  configuration: {
@@ -978,7 +1000,7 @@ function modeFactory({
978
1000
  toolbarService.updateSection(toolbarService.sections.viewportActionMenu.bottomLeft, ['windowLevelMenu']);
979
1001
  toolbarService.updateSection('MoreTools', ['Reset', 'rotate-right', 'flipHorizontal', 'ReferenceLines', 'ImageOverlayViewer', 'StackScroll', 'invert', 'Cine', 'Magnify', 'TagBrowser']);
980
1002
  toolbarService.updateSection(toolbarService.sections.segmentationToolbox, ['SegmentationUtilities', 'SegmentationTools']);
981
- toolbarService.updateSection('SegmentationUtilities', ['LabelmapSlicePropagation', 'InterpolateLabelmap', 'SegmentBidirectional']);
1003
+ toolbarService.updateSection('SegmentationUtilities', ['LabelmapSlicePropagation', 'InterpolateLabelmap', 'SegmentBidirectional', 'SegmentLabelTool']);
982
1004
  toolbarService.updateSection('SegmentationTools', ['BrushTools', 'MarkerLabelmap', 'RegionSegmentPlus', 'Shapes']);
983
1005
  toolbarService.updateSection('BrushTools', ['Brush', 'Eraser', 'Threshold']);
984
1006
  },
@@ -159,6 +159,8 @@ var Events;
159
159
  Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
160
160
  Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
161
161
  Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
162
+ Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
163
+ Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
162
164
  Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
163
165
  Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
164
166
  Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
@@ -691,8 +693,8 @@ function getCustomizationModule() {
691
693
  /* harmony default export */ const maxNumImageFrames = ((study, extraData) => Math.max(...(extraData?.displaySets?.map?.(ds => ds.numImageFrames ?? 0) || [0])));
692
694
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
693
695
  var react = __webpack_require__(86326);
694
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 177 modules
695
- var src = __webpack_require__(56972);
696
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 184 modules
697
+ var src = __webpack_require__(20557);
696
698
  ;// ../../../extensions/test-extension/src/getPanelModule.tsx
697
699
 
698
700