@ohif/app 3.9.0-beta.4 → 3.9.0-beta.40

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 (233) hide show
  1. package/dist/{117.bundle.a80b1511ef4b302fb7cc.js → 117.bundle.1f7b56504d506e7259e3.js} +66 -69
  2. package/dist/{889.bundle.6df37a2db81b97f4a76a.js → 121.bundle.d1d51ac098a41f618eab.js} +40 -12
  3. package/dist/{998.bundle.f2ba5b6c1aa0caa6d672.js → 129.bundle.29770734ee3882c107c0.js} +40 -25
  4. package/dist/{574.bundle.72bd5061ccd504235419.js → 139.bundle.09e5af0a9ae8a285af77.js} +25 -37
  5. package/dist/{989.bundle.bf32dc457ea9abccca09.js → 14.bundle.90dd112f5bc6f21d6ce1.js} +5 -5
  6. package/dist/{783.bundle.1f650e1ef1b10d19870f.js → 140.bundle.a58cbadd477749143dea.js} +2 -2
  7. package/dist/{164.bundle.1da1cadb56951caef1d6.js → 164.bundle.2b23bfbcb23497d7c87a.js} +548 -301
  8. package/dist/{544.bundle.e8227e98860e39636a00.js → 172.bundle.e0ee762bee7496d6491e.js} +16 -30
  9. package/dist/{487.bundle.a517b1d6cd2d82b9a7ea.js → 194.bundle.2dde300e0ed19254b6ba.js} +5 -5
  10. package/dist/{699.bundle.f62694527f6dfe417f81.js → 211.bundle.e8eea5d565da00092f57.js} +43 -5
  11. package/dist/{776.bundle.91747df457143051f872.js → 218.bundle.ec4ecebd17f837a87fff.js} +10 -12
  12. package/dist/{236.bundle.4ca7987e1d57f60ec13a.js → 236.bundle.34db90a140e37d34fd71.js} +544 -221
  13. package/dist/{530.bundle.17b9a34fefff133e5379.js → 265.bundle.b32a0cc143efa80ee3cc.js} +8 -12
  14. package/dist/{862.bundle.55dde21bab4c841b6259.js → 323.bundle.955cc8f5eb5c01295118.js} +5 -9
  15. package/dist/{342.bundle.340982440de15f540a89.js → 342.bundle.fcb2038060a062129d34.js} +7 -0
  16. package/dist/{550.bundle.4f728d9ab7a8c7685abd.js → 363.bundle.34dddd70f4ffd669287e.js} +234 -150
  17. package/dist/{806.bundle.50e039eb624382ee1fce.js → 370.bundle.bd9884c274c26a54dfae.js} +101 -18
  18. package/dist/{682.bundle.0909fbf9a76430e4bbc9.js → 382.bundle.df3ca2c99f3547b31d5b.js} +38 -5
  19. package/dist/{907.bundle.d2c612ec56380e73df89.js → 444.bundle.7d0ca442eef652e676fc.js} +4 -4
  20. package/dist/{483.bundle.a353efc5a5dd563c903c.js → 483.bundle.0f1848f6a2cf34829fef.js} +16 -3
  21. package/dist/{35.bundle.0168d78bfad0cb784112.js → 501.bundle.2f703ca4598a3be0d748.js} +950 -348
  22. package/dist/{905.bundle.c1c60224a599e789feb4.js → 552.bundle.274e23ec01ab41ad7189.js} +3 -3
  23. package/dist/{981.bundle.cccdc8caaa5a11f4a998.js → 555.bundle.b2a12c8da6bb11dad2b7.js} +14 -13
  24. package/dist/{939.bundle.9d93b2e47c52338747a2.js → 612.bundle.297a033523539e0b47f9.js} +2 -2
  25. package/dist/{295.bundle.9926ff25c6dbf53845b1.js → 675.bundle.c9720f40fd7c7e9b7e54.js} +5 -9
  26. package/dist/{325.bundle.1c54c1689fb4b1955e8c.js → 717.bundle.ea82dab5ef9f7f640319.js} +58 -26
  27. package/dist/{722.bundle.2547630541b670f10d6e.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
  28. package/dist/{121.bundle.b582314ec0024fdf2d15.js → 792.bundle.485ad2f98823a4b3feb1.js} +6 -10
  29. package/dist/{721.bundle.0de8f780088aee87dbd9.js → 799.bundle.e744c0af4fdf31b180ac.js} +12 -12
  30. package/dist/{448.bundle.077b4b50ee63487516eb.js → 806.bundle.1632ea111682147bad5f.js} +19 -6
  31. package/dist/{297.bundle.194d8985ab974839b5b6.js → 837.bundle.ff9fe44bf863a5bceabc.js} +2 -2
  32. package/dist/{961.bundle.6aea7b3de9e93a9ebab1.js → 853.bundle.1ccbecc265671c9e009e.js} +4 -4
  33. package/dist/{473.bundle.6cd4be953853f35b29c3.js → 914.bundle.e15be8089bf422ed7b51.js} +512 -274
  34. package/dist/{94.bundle.08683468d52365475d9a.js → 920.bundle.0b80f44e0e0df6829650.js} +39 -9
  35. package/dist/{390.bundle.5a21388b461ee51db594.js → 944.bundle.a58e0a80876da559f6b9.js} +653 -95
  36. package/dist/{243.bundle.391c2805222b849abc2c.js → 989.bundle.47ce0ed7ca8119f2a0f9.js} +4 -4
  37. package/dist/app-config.js +5 -1
  38. package/dist/app.bundle.css +5 -4
  39. package/dist/{app.bundle.9e22e72ec23a08cde379.js → app.bundle.e10ba453bd29c6aa3df0.js} +162761 -45947
  40. package/dist/assets/images/action-new-dialog.svg +14 -0
  41. package/dist/assets/images/arrow-down.svg +5 -0
  42. package/dist/assets/images/arrow-left-small.svg +6 -0
  43. package/dist/assets/images/arrow-left.svg +6 -0
  44. package/dist/assets/images/arrow-right-small.svg +6 -0
  45. package/dist/assets/images/arrow-right.svg +6 -0
  46. package/dist/assets/images/calendar.svg +5 -0
  47. package/dist/assets/images/cancel.svg +8 -0
  48. package/dist/assets/images/checkbox-active.svg +9 -0
  49. package/dist/assets/images/checkbox-checked.svg +9 -0
  50. package/dist/assets/images/checkbox-default.svg +3 -0
  51. package/dist/assets/images/checkbox-unchecked.svg +3 -0
  52. package/dist/assets/images/chevron-down.svg +3 -0
  53. package/dist/assets/images/chevron-left.svg +3 -0
  54. package/dist/assets/images/chevron-menu.svg +12 -0
  55. package/dist/assets/images/chevron-next.svg +6 -0
  56. package/dist/assets/images/chevron-prev.svg +6 -0
  57. package/dist/assets/images/chevron-right.svg +3 -0
  58. package/dist/assets/images/circled-checkmark.svg +6 -0
  59. package/dist/assets/images/clipboard.svg +1 -0
  60. package/dist/assets/images/closeIcon.svg +3 -0
  61. package/dist/assets/images/content-next.svg +9 -0
  62. package/dist/assets/images/content-prev.svg +9 -0
  63. package/dist/assets/images/dotted-circle.svg +3 -0
  64. package/dist/assets/images/edit-patient.svg +15 -0
  65. package/dist/assets/images/exclamation.svg +9 -0
  66. package/dist/assets/images/external-link.svg +5 -0
  67. package/dist/assets/images/eye-hidden.svg +8 -0
  68. package/dist/assets/images/eye-visible.svg +6 -0
  69. package/dist/assets/images/focus-frame-target.svg +13 -0
  70. package/dist/assets/images/group-layers.svg +6 -0
  71. package/dist/assets/images/icon-add.svg +15 -0
  72. package/dist/assets/images/icon-alert-small.svg +8 -0
  73. package/dist/assets/images/icon-chevron-patient.svg +12 -0
  74. package/dist/assets/images/icon-clear-field.svg +8 -0
  75. package/dist/assets/images/icon-close.svg +8 -0
  76. package/dist/assets/images/icon-color-lut.svg +23 -0
  77. package/dist/assets/images/icon-delete.svg +17 -0
  78. package/dist/assets/images/icon-disclosure-close.svg +12 -0
  79. package/dist/assets/images/icon-disclosure-open.svg +12 -0
  80. package/dist/assets/images/icon-display-settings.svg +21 -0
  81. package/dist/assets/images/icon-more-menu.svg +17 -0
  82. package/dist/assets/images/icon-mpr-alt.svg +9 -0
  83. package/dist/assets/images/icon-multiple-patients.svg +21 -0
  84. package/dist/assets/images/icon-next-inactive.svg +6 -0
  85. package/dist/assets/images/icon-next.svg +6 -0
  86. package/dist/assets/images/icon-patient.svg +13 -0
  87. package/dist/assets/images/icon-pause.svg +6 -0
  88. package/dist/assets/images/icon-play.svg +6 -0
  89. package/dist/assets/images/icon-prev-inactive.svg +6 -0
  90. package/dist/assets/images/icon-prev.svg +6 -0
  91. package/dist/assets/images/icon-rename.svg +15 -0
  92. package/dist/assets/images/icon-search.svg +9 -0
  93. package/dist/assets/images/icon-settings.svg +13 -0
  94. package/dist/assets/images/icon-status-alert.svg +8 -0
  95. package/dist/assets/images/icon-tool-scissor.svg +17 -0
  96. package/dist/assets/images/icon-toolbar-back.svg +12 -0
  97. package/dist/assets/images/icon-transferring.svg +6 -0
  98. package/dist/assets/images/icon-upload.svg +6 -0
  99. package/dist/assets/images/icons-alert-outline.svg +8 -0
  100. package/dist/assets/images/illustration-investigational-use.svg +20 -0
  101. package/dist/assets/images/info-action.svg +10 -0
  102. package/dist/assets/images/info-link.svg +7 -0
  103. package/dist/assets/images/info.svg +3 -0
  104. package/dist/assets/images/launch-arrow.svg +7 -0
  105. package/dist/assets/images/launch-info.svg +8 -0
  106. package/dist/assets/images/layout-advanced-3d-four-up.svg +13 -0
  107. package/dist/assets/images/layout-advanced-3d-main.svg +12 -0
  108. package/dist/assets/images/layout-advanced-3d-only.svg +9 -0
  109. package/dist/assets/images/layout-advanced-3d-primary.svg +12 -0
  110. package/dist/assets/images/layout-advanced-axial-primary.svg +11 -0
  111. package/dist/assets/images/layout-advanced-mpr.svg +11 -0
  112. package/dist/assets/images/layout-common-1x1.svg +9 -0
  113. package/dist/assets/images/layout-common-1x2.svg +10 -0
  114. package/dist/assets/images/layout-common-2x2.svg +11 -0
  115. package/dist/assets/images/layout-common-2x3.svg +12 -0
  116. package/dist/assets/images/list-bullets.svg +10 -0
  117. package/dist/assets/images/loading-ohif-mark.svg +5 -0
  118. package/dist/assets/images/lock.svg +1 -0
  119. package/dist/assets/images/logo-ohif-small.svg +5 -0
  120. package/dist/assets/images/magnifier.svg +7 -0
  121. package/dist/assets/images/navigation-panel-right-hide.svg +5 -0
  122. package/dist/assets/images/navigation-panel-right-reveal.svg +5 -0
  123. package/dist/assets/images/next-arrow.svg +12 -0
  124. package/dist/assets/images/notifications-error.svg +8 -0
  125. package/dist/assets/images/notifications-info.svg +8 -0
  126. package/dist/assets/images/notifications-success.svg +6 -0
  127. package/dist/assets/images/notifications-warning.svg +8 -0
  128. package/dist/assets/images/notificationwarning-diamond.svg +10 -0
  129. package/dist/assets/images/ohif-logo-color-darkbg.svg +20 -0
  130. package/dist/assets/images/ohif-logo.svg +18 -0
  131. package/dist/assets/images/old-play.svg +9 -0
  132. package/dist/assets/images/old-stop.svg +9 -0
  133. package/dist/assets/images/old-trash.svg +9 -0
  134. package/dist/assets/images/panel-group-more.svg +6 -0
  135. package/dist/assets/images/panel-group-open-close.svg +6 -0
  136. package/dist/assets/images/pencil.svg +4 -0
  137. package/dist/assets/images/power-off.svg +11 -0
  138. package/dist/assets/images/prev-arrow.svg +12 -0
  139. package/dist/assets/images/profile.svg +1 -0
  140. package/dist/assets/images/push-left.svg +5 -0
  141. package/dist/assets/images/push-right.svg +5 -0
  142. package/dist/assets/images/row-add.svg +8 -0
  143. package/dist/assets/images/row-edit.svg +9 -0
  144. package/dist/assets/images/row-hidden.svg +11 -0
  145. package/dist/assets/images/row-lock.svg +7 -0
  146. package/dist/assets/images/row-shown.svg +9 -0
  147. package/dist/assets/images/row-unlock.svg +7 -0
  148. package/dist/assets/images/settings.svg +6 -0
  149. package/dist/assets/images/side-panel-close-left.svg +14 -0
  150. package/dist/assets/images/side-panel-close-right.svg +14 -0
  151. package/dist/assets/images/sorting-active-down.svg +6 -0
  152. package/dist/assets/images/sorting-active-up.svg +6 -0
  153. package/dist/assets/images/sorting.svg +6 -0
  154. package/dist/assets/images/status-alert-warning.svg +9 -0
  155. package/dist/assets/images/status-alert.svg +7 -0
  156. package/dist/assets/images/status-locked.svg +7 -0
  157. package/dist/assets/images/status-tracked.svg +7 -0
  158. package/dist/assets/images/status-untracked.svg +6 -0
  159. package/dist/assets/images/tab-4d.svg +13 -0
  160. package/dist/assets/images/tab-linear.svg +8 -0
  161. package/dist/assets/images/tab-patient-info.svg +7 -0
  162. package/dist/assets/images/tab-roi-threshold.svg +10 -0
  163. package/dist/assets/images/tab-segmentation.svg +11 -0
  164. package/dist/assets/images/tab-studies.svg +13 -0
  165. package/dist/assets/images/tool-3d-rotate.svg +20 -0
  166. package/dist/assets/images/tool-angle.svg +12 -0
  167. package/dist/assets/images/tool-annotate.svg +11 -0
  168. package/dist/assets/images/tool-bidirectional.svg +21 -0
  169. package/dist/assets/images/tool-calibrate.svg +19 -0
  170. package/dist/assets/images/tool-capture.svg +10 -0
  171. package/dist/assets/images/tool-cine.svg +9 -0
  172. package/dist/assets/images/tool-circle.svg +8 -0
  173. package/dist/assets/images/tool-cobb-angle.svg +14 -0
  174. package/dist/assets/images/tool-create-threshold.svg +9 -0
  175. package/dist/assets/images/tool-crosshair.svg +14 -0
  176. package/dist/assets/images/tool-dicom-tag-browser.svg +15 -0
  177. package/dist/assets/images/tool-flip-horizontal.svg +10 -0
  178. package/dist/assets/images/tool-freehand-polygon.svg +37 -0
  179. package/dist/assets/images/tool-freehand-roi.svg +12 -0
  180. package/dist/assets/images/tool-freehand.svg +34 -0
  181. package/dist/assets/images/tool-fusion-color.svg +13 -0
  182. package/dist/assets/images/tool-invert.svg +10 -0
  183. package/dist/assets/images/tool-layout-default.svg +22 -0
  184. package/dist/assets/images/tool-length.svg +16 -0
  185. package/dist/assets/images/tool-magnetic-roi.svg +17 -0
  186. package/dist/assets/images/tool-magnify.svg +7 -0
  187. package/dist/assets/images/tool-measure-elipse.svg +12 -0
  188. package/dist/assets/images/tool-more-menu.svg +6 -0
  189. package/dist/assets/images/tool-move.svg +13 -0
  190. package/dist/assets/images/tool-polygon.svg +3 -0
  191. package/dist/assets/images/tool-quick-magnify.svg +11 -0
  192. package/dist/assets/images/tool-rectangle.svg +12 -0
  193. package/dist/assets/images/tool-reference-lines.svg +13 -0
  194. package/dist/assets/images/tool-reset.svg +9 -0
  195. package/dist/assets/images/tool-rotate-right.svg +12 -0
  196. package/dist/assets/images/tool-seg-brush.svg +9 -0
  197. package/dist/assets/images/tool-seg-eraser.svg +10 -0
  198. package/dist/assets/images/tool-seg-shape.svg +9 -0
  199. package/dist/assets/images/tool-seg-threshold.svg +17 -0
  200. package/dist/assets/images/tool-spline-roi.svg +14 -0
  201. package/dist/assets/images/tool-stack-image-sync.svg +10 -0
  202. package/dist/assets/images/tool-stack-scroll.svg +10 -0
  203. package/dist/assets/images/tool-toggle-dicom-overlay.svg +9 -0
  204. package/dist/assets/images/tool-ultrasound-bidirectional.svg +15 -0
  205. package/dist/assets/images/tool-window-level.svg +9 -0
  206. package/dist/assets/images/tool-window-region.svg +12 -0
  207. package/dist/assets/images/tool-zoom.svg +9 -0
  208. package/dist/assets/images/tracked.svg +6 -0
  209. package/dist/assets/images/ui-arrow-down.svg +3 -0
  210. package/dist/assets/images/ui-arrow-left.svg +3 -0
  211. package/dist/assets/images/ui-arrow-right.svg +3 -0
  212. package/dist/assets/images/ui-arrow-up.svg +3 -0
  213. package/dist/assets/images/unlink.svg +9 -0
  214. package/dist/assets/images/viewport-status-tracked.svg +13 -0
  215. package/dist/assets/images/viewport-window-level.svg +17 -0
  216. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  217. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  218. package/dist/google.js +1 -0
  219. package/dist/{histogram-worker.bundle.829e14ec12c2b41a4323.js → histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js} +2 -2
  220. package/dist/index.html +1 -1
  221. package/dist/{polySeg.bundle.1799686b019040500219.js → polySeg.bundle.df492df5042827938ba4.js} +3 -3
  222. package/dist/{suv-peak-worker.bundle.25f8b85eab9ec06da48d.js → suv-peak-worker.bundle.8f4b505fad3d371489fe.js} +4 -4
  223. package/dist/sw.js +1 -1
  224. package/package.json +26 -23
  225. /package/dist/{998.css → 129.css} +0 -0
  226. /package/dist/{574.css → 139.css} +0 -0
  227. /package/dist/{544.css → 172.css} +0 -0
  228. /package/dist/{550.css → 363.css} +0 -0
  229. /package/dist/{325.css → 404.css} +0 -0
  230. /package/dist/{481.css → 717.css} +0 -0
  231. /package/dist/{726.bundle.c8de818cf1a3ff0cf7d2.js → 726.bundle.90d63d40a19b058034ee.js} +0 -0
  232. /package/dist/{835.bundle.4c0eaa2c1a427ee41817.js → 835.bundle.5d1951da8bbc6afdf3e0.js} +0 -0
  233. /package/dist/{931.bundle.d270a1fda9a2836c3cc5.js → 931.bundle.058f8de4606f27b31f4f.js} +0 -0
@@ -1,4 +1,4 @@
1
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[806],{
1
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[370],{
2
2
 
3
3
  /***/ 93858:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -1840,6 +1840,40 @@ function wheelListener(evt) {
1840
1840
  /* harmony default export */ const wheel_wheelListener = (wheelListener);
1841
1841
 
1842
1842
 
1843
+ /***/ }),
1844
+
1845
+ /***/ 99595:
1846
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1847
+
1848
+ "use strict";
1849
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1850
+ /* harmony export */ Q: () => (/* binding */ checkAndDefineTextBoxProperty),
1851
+ /* harmony export */ d: () => (/* binding */ checkAndDefineCachedStatsProperty)
1852
+ /* harmony export */ });
1853
+ const checkAndDefineTextBoxProperty = (annotation) => {
1854
+ if (!annotation.data) {
1855
+ annotation.data = {};
1856
+ }
1857
+ if (!annotation.data.handles) {
1858
+ annotation.data.handles = {};
1859
+ }
1860
+ if (!annotation.data.handles.textBox) {
1861
+ annotation.data.handles.textBox = {};
1862
+ }
1863
+ return annotation;
1864
+ };
1865
+ const checkAndDefineCachedStatsProperty = (annotation) => {
1866
+ if (!annotation.data) {
1867
+ annotation.data = {};
1868
+ }
1869
+ if (!annotation.data.cachedStats) {
1870
+ annotation.data.cachedStats = {};
1871
+ }
1872
+ return annotation;
1873
+ };
1874
+
1875
+
1876
+
1843
1877
  /***/ }),
1844
1878
 
1845
1879
  /***/ 95778:
@@ -2522,7 +2556,7 @@ class AdvancedMagnifyViewportManager {
2522
2556
  /* harmony export */ });
2523
2557
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
2524
2558
  /* harmony import */ var _distancePointToContour__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7783);
2525
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2746);
2559
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49574);
2526
2560
  /* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73047);
2527
2561
 
2528
2562
 
@@ -2865,11 +2899,17 @@ function completeClosedContourEdit(element) {
2865
2899
  const updatedPoints = (0,_utilities_planarFreehandROITool_smoothPoints__WEBPACK_IMPORTED_MODULE_7__/* .shouldSmooth */ .Q)(this.configuration, annotation)
2866
2900
  ? (0,_utilities_planarFreehandROITool_smoothPoints__WEBPACK_IMPORTED_MODULE_7__/* .getInterpolatedPoints */ .p)(this.configuration, fusedCanvasPoints, prevCanvasPoints)
2867
2901
  : fusedCanvasPoints;
2902
+ const decimateConfig = this.configuration?.decimate || {};
2868
2903
  (0,_utilities_contours_updateContourPolyline__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(annotation, {
2869
2904
  points: updatedPoints,
2870
2905
  closed: true,
2871
2906
  targetWindingDirection: _types_ContourAnnotation__WEBPACK_IMPORTED_MODULE_6__/* .ContourWindingDirection */ .W.Clockwise,
2872
- }, viewport);
2907
+ }, viewport, {
2908
+ decimate: {
2909
+ enabled: !!decimateConfig.enabled,
2910
+ epsilon: decimateConfig.epsilon,
2911
+ },
2912
+ });
2873
2913
  if (annotation.autoGenerated) {
2874
2914
  annotation.autoGenerated = false;
2875
2915
  }
@@ -3439,7 +3479,7 @@ function findOpenUShapedContourVectorToPeakOnRender(enabledElement, annotation)
3439
3479
  /* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73047);
3440
3480
  /* harmony import */ var _utilities_planarFreehandROITool_smoothPoints__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(36605);
3441
3481
  /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(23072);
3442
- /* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(75534);
3482
+ /* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(75908);
3443
3483
  /* harmony import */ var _findOpenUShapedContourVectorToPeak__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(51051);
3444
3484
  /* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(54177);
3445
3485
 
@@ -3713,10 +3753,16 @@ function completeOpenContourEdit(element) {
3713
3753
  const updatedPoints = (0,_utilities_planarFreehandROITool_smoothPoints__WEBPACK_IMPORTED_MODULE_6__/* .shouldSmooth */ .Q)(this.configuration)
3714
3754
  ? (0,_utilities_planarFreehandROITool_smoothPoints__WEBPACK_IMPORTED_MODULE_6__/* .getInterpolatedPoints */ .p)(this.configuration, fusedCanvasPoints, prevCanvasPoints)
3715
3755
  : fusedCanvasPoints;
3756
+ const decimateConfig = this.configuration?.decimate || {};
3716
3757
  (0,_utilities_contours__WEBPACK_IMPORTED_MODULE_8__.updateContourPolyline)(annotation, {
3717
3758
  points: updatedPoints,
3718
3759
  closed: false,
3719
- }, viewport);
3760
+ }, viewport, {
3761
+ decimate: {
3762
+ enabled: !!decimateConfig.enabled,
3763
+ epsilon: decimateConfig.epsilon,
3764
+ },
3765
+ });
3720
3766
  const worldPoints = annotation.data.contour.polyline;
3721
3767
  annotation.data.handles.points = [
3722
3768
  worldPoints[0],
@@ -3836,10 +3882,10 @@ function registerOpenContourEndEditLoop(toolInstance) {
3836
3882
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3837
3883
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
3838
3884
  /* harmony export */ });
3839
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2746);
3885
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49574);
3840
3886
  /* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73047);
3841
3887
  /* harmony import */ var _findOpenUShapedContourVectorToPeak__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51051);
3842
- /* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75534);
3888
+ /* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75908);
3843
3889
 
3844
3890
 
3845
3891
 
@@ -4009,10 +4055,42 @@ function renderOpenContourBeingEdited(enabledElement, svgDrawingHelper, annotati
4009
4055
  const polylineUIDToRender = 'preview-1';
4010
4056
  (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPolyline)(svgDrawingHelper, annotation.annotationUID, polylineUIDToRender, fusedCanvasPoints, options);
4011
4057
  }
4058
+ function renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation) {
4059
+ if (annotation.parentAnnotationUID) {
4060
+ return;
4061
+ }
4062
+ const { viewport } = enabledElement;
4063
+ const options = this._getRenderingOptions(enabledElement, annotation);
4064
+ const canvasPolyline = annotation.data.contour.polyline.map((worldPos) => viewport.worldToCanvas(worldPos));
4065
+ const childContours = (0,_utilities_contours__WEBPACK_IMPORTED_MODULE_3__.getContourHolesDataCanvas)(annotation, viewport);
4066
+ const polylineUID = '1';
4067
+ const center = canvasPolyline[0];
4068
+ const radius = 6;
4069
+ const numberOfPoints = 100;
4070
+ const circlePoints = [];
4071
+ for (let i = 0; i < numberOfPoints; i++) {
4072
+ const angle = (i / numberOfPoints) * 2 * Math.PI;
4073
+ const x = center[0] + radius * Math.cos(angle);
4074
+ const y = center[1] + radius * Math.sin(angle);
4075
+ circlePoints.push([x, y]);
4076
+ }
4077
+ const crosshair = [
4078
+ [center[0] - radius * 2, center[1]],
4079
+ [center[0] + radius * 2, center[1]],
4080
+ [center[0], center[1] - radius * 2],
4081
+ [center[0], center[1] + radius * 2],
4082
+ ];
4083
+ (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID + '-crosshair_v', [crosshair[0], crosshair[1]], options);
4084
+ (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID + '-crosshair_h', [crosshair[2], crosshair[3]], options);
4085
+ const allContours = [circlePoints, ...childContours];
4086
+ (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID, allContours, options);
4087
+ }
4012
4088
  function registerRenderMethods(toolInstance) {
4013
4089
  toolInstance.renderContour = renderContour.bind(toolInstance);
4014
4090
  toolInstance.renderClosedContour = renderClosedContour.bind(toolInstance);
4015
4091
  toolInstance.renderOpenContour = renderOpenContour.bind(toolInstance);
4092
+ toolInstance.renderPointContourWithMarker =
4093
+ renderPointContourWithMarker.bind(toolInstance);
4016
4094
  toolInstance.renderOpenUShapedContour =
4017
4095
  renderOpenUShapedContour.bind(toolInstance);
4018
4096
  toolInstance.renderContourBeingDrawn =
@@ -4738,12 +4816,12 @@ var stateManagement_segmentation = __webpack_require__(63421);
4738
4816
  var enums = __webpack_require__(84901);
4739
4817
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
4740
4818
  var annotationState = __webpack_require__(38296);
4741
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 17 modules
4742
- var drawingSvg = __webpack_require__(2746);
4819
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 18 modules
4820
+ var drawingSvg = __webpack_require__(49574);
4743
4821
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/AnnotationTool.js
4744
4822
  var AnnotationTool = __webpack_require__(52454);
4745
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/index.js
4746
- var contours = __webpack_require__(75534);
4823
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/index.js + 9 modules
4824
+ var contours = __webpack_require__(75908);
4747
4825
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/ContourBaseTool.js
4748
4826
 
4749
4827
 
@@ -5086,7 +5164,7 @@ const defaultContourConfig = {
5086
5164
  outlineDashInactive: undefined,
5087
5165
  outlineDashAutoGenerated: '5,3',
5088
5166
  activeSegmentOutlineWidthDelta: 0,
5089
- renderFill: false,
5167
+ renderFill: true,
5090
5168
  fillAlpha: 0.5,
5091
5169
  fillAlphaInactive: 0.3,
5092
5170
  fillAlphaAutoGenerated: 0.3,
@@ -5149,6 +5227,8 @@ function deleteConfigCache(segmentationRepresentationUID) {
5149
5227
 
5150
5228
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/index.js + 31 modules
5151
5229
  var stateManagement_segmentation = __webpack_require__(63421);
5230
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/annotationHydration.js
5231
+ var annotationHydration = __webpack_require__(25781);
5152
5232
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/CellArray.js
5153
5233
  var CellArray = __webpack_require__(24768);
5154
5234
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/Points.js
@@ -5218,6 +5298,7 @@ var contourSegmentation = __webpack_require__(7259);
5218
5298
 
5219
5299
 
5220
5300
 
5301
+
5221
5302
  function handleContourSegmentation(viewport, geometryIds, annotationUIDsMap, contourRepresentation, contourRepresentationConfig) {
5222
5303
  const addOrUpdateFn = annotationUIDsMap.size
5223
5304
  ? updateContourSets
@@ -5303,10 +5384,10 @@ function addContourSetsToElement(viewport, geometryIds, contourRepresentation, c
5303
5384
  highlighted: false,
5304
5385
  autoGenerated: false,
5305
5386
  invalidated: false,
5306
- isLocked: false,
5387
+ isLocked: true,
5307
5388
  isVisible: true,
5308
5389
  metadata: {
5309
- referencedImageId: viewport.getCurrentImageId(),
5390
+ referencedImageId: (0,annotationHydration/* getClosestImageIdForStackViewport */.x)(viewport, points[0], viewport.getCamera().viewPlaneNormal),
5310
5391
  toolName: 'PlanarFreehandContourSegmentationTool',
5311
5392
  FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
5312
5393
  viewPlaneNormal: viewport.getCamera().viewPlaneNormal,
@@ -5433,7 +5514,7 @@ async function addLabelmapToElement(element, labelMapData, segmentationRepresent
5433
5514
  actorUID: segmentationRepresentationUID,
5434
5515
  },
5435
5516
  ];
5436
- await (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.addImageSlicesToViewports)(renderingEngine, stackInputs, [viewportId], immediateRender, suppressEvents);
5517
+ await (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.addImageSlicesToViewports)(renderingEngine, stackInputs, [viewportId]);
5437
5518
  }
5438
5519
  }
5439
5520
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addLabelmapToElement);
@@ -7331,9 +7412,11 @@ function _addInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex,
7331
7412
  const points = interpolated3DPoints.points;
7332
7413
  const { viewport } = eventData;
7333
7414
  const interpolatedAnnotation = createPolylineToolData(points, handlePoints, referencedToolData);
7334
- const targetId = viewport.getReferenceId({ sliceIndex });
7335
- interpolatedAnnotation.metadata.referencedImageId = targetId;
7336
- interpolatedAnnotation.metadata.sliceIndex = sliceIndex;
7415
+ const viewRef = viewport.getViewReference({ sliceIndex });
7416
+ if (!viewRef) {
7417
+ throw new Error(`Can't find slice ${sliceIndex}`);
7418
+ }
7419
+ Object.assign(interpolatedAnnotation.metadata, viewRef);
7337
7420
  stateManagement_annotation.state.addAnnotation(interpolatedAnnotation, viewport.element);
7338
7421
  referencedToolData.onInterpolationComplete?.(interpolatedAnnotation, referencedToolData);
7339
7422
  const { parentAnnotationUID } = referencedToolData;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[682],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[382],{
3
3
 
4
- /***/ 82682:
4
+ /***/ 72382:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -16,7 +16,7 @@ __webpack_require__.d(__webpack_exports__, {
16
16
  });
17
17
 
18
18
  // EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
19
- var src = __webpack_require__(8633);
19
+ var src = __webpack_require__(75186);
20
20
  // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
21
21
  var i18next = __webpack_require__(92344);
22
22
  ;// CONCATENATED MODULE: ../../../modes/longitudinal/package.json
@@ -111,6 +111,11 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
111
111
  toolName: toolNames.SegmentationDisplay
112
112
  }, {
113
113
  toolName: toolNames.CalibrationLine
114
+ }, {
115
+ toolName: toolNames.PlanarFreehandContourSegmentation,
116
+ configuration: {
117
+ displayOnePointAsCrosshairs: true
118
+ }
114
119
  }, {
115
120
  toolName: toolNames.UltrasoundDirectional
116
121
  }, {
@@ -119,6 +124,8 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
119
124
  toolName: toolNames.SplineROI
120
125
  }, {
121
126
  toolName: toolNames.LivewireContour
127
+ }, {
128
+ toolName: toolNames.WindowLevelRegion
122
129
  }],
123
130
  enabled: [{
124
131
  toolName: toolNames.ImageOverlayViewer
@@ -178,6 +185,13 @@ function initSRToolGroup(extensionManager, toolGroupService) {
178
185
  toolName: SRToolNames.SRPlanarFreehandROI
179
186
  }, {
180
187
  toolName: SRToolNames.SRRectangleROI
188
+ }, {
189
+ toolName: toolNames.WindowLevelRegion
190
+ }, {
191
+ toolName: SRToolNames.SRPlanarFreehandContourSegmentation,
192
+ configuration: {
193
+ displayOnePointAsCrosshairs: true
194
+ }
181
195
  }],
182
196
  enabled: [{
183
197
  toolName: SRToolNames.DICOMSRDisplay,
@@ -265,11 +279,23 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager, m
265
279
  toolName: toolNames.PlanarFreehandROI
266
280
  }, {
267
281
  toolName: toolNames.SegmentationDisplay
282
+ }, {
283
+ toolName: toolNames.WindowLevelRegion
284
+ }, {
285
+ toolName: toolNames.PlanarFreehandContourSegmentation,
286
+ configuration: {
287
+ displayOnePointAsCrosshairs: true
288
+ }
268
289
  }],
269
290
  disabled: [{
270
291
  toolName: toolNames.Crosshairs,
271
292
  configuration: {
272
- viewportIndicators: false,
293
+ viewportIndicators: true,
294
+ viewportIndicatorsConfig: {
295
+ circleRadius: 5,
296
+ xOffset: 0.95,
297
+ yOffset: 0.05
298
+ },
273
299
  disableOnPassive: true,
274
300
  autoPan: {
275
301
  enabled: false,
@@ -634,7 +660,7 @@ const moreTools = [{
634
660
  evaluate: 'evaluate.cornerstoneTool'
635
661
  }), moreTools_createButton({
636
662
  id: 'CobbAngle',
637
- icon: 'tool-angle',
663
+ icon: 'icon-tool-cobb-angle',
638
664
  label: 'Cobb Angle',
639
665
  tooltip: 'Cobb Angle',
640
666
  commands: setToolActiveToolbar,
@@ -673,6 +699,13 @@ const moreTools = [{
673
699
  tooltip: 'Ultrasound Directional',
674
700
  commands: setToolActiveToolbar,
675
701
  evaluate: ['evaluate.cornerstoneTool', 'evaluate.isUS']
702
+ }), moreTools_createButton({
703
+ id: 'WindowLevelRegion',
704
+ icon: 'icon-tool-window-region',
705
+ label: 'Window Level Region',
706
+ tooltip: 'Window Level Region',
707
+ commands: setToolActiveToolbar,
708
+ evaluate: 'evaluate.cornerstoneTool'
676
709
  })]
677
710
  }
678
711
  }];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[907],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[444],{
3
3
 
4
- /***/ 55907:
4
+ /***/ 34444:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -22,7 +22,7 @@ const id = package_namespaceObject.UU;
22
22
  const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-pdf`;
23
23
 
24
24
  // EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
25
- var src = __webpack_require__(8633);
25
+ var src = __webpack_require__(75186);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/dicom-pdf/src/getSopClassHandlerModule.js
27
27
 
28
28
 
@@ -109,7 +109,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
109
109
 
110
110
 
111
111
  const Component = /*#__PURE__*/react.lazy(() => {
112
- return __webpack_require__.e(/* import() */ 297).then(__webpack_require__.bind(__webpack_require__, 46297));
112
+ return __webpack_require__.e(/* import() */ 837).then(__webpack_require__.bind(__webpack_require__, 70218));
113
113
  });
114
114
  const OHIFCornerstonePdfViewport = props => {
115
115
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -731,7 +731,7 @@ function getToolGroupsWithToolName(toolName) {
731
731
  /* harmony import */ var _planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(72702);
732
732
  /* harmony import */ var _planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(11585);
733
733
  /* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(54177);
734
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(2746);
734
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(49574);
735
735
  /* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(10910);
736
736
  /* harmony import */ var _utilities_math_polyline__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(56634);
737
737
  /* harmony import */ var _utilities_pointInShapeCallback__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(75403);
@@ -800,6 +800,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
800
800
  enabled: false,
801
801
  epsilon: 0.1,
802
802
  },
803
+ displayOnePointAsCrosshairs: false,
803
804
  calculateStats: true,
804
805
  getTextLines: defaultGetTextLines,
805
806
  statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_22__.BasicStatsCalculator,
@@ -1136,7 +1137,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1136
1137
  const isEditingOpen = this.isEditingOpen;
1137
1138
  const isEditingClosed = this.isEditingClosed;
1138
1139
  if (!(isDrawing || isEditingOpen || isEditingClosed)) {
1139
- this.renderContour(enabledElement, svgDrawingHelper, annotation);
1140
+ if (this.configuration.displayOnePointAsCrosshairs &&
1141
+ annotation.data.contour.polyline.length === 1) {
1142
+ this.renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation);
1143
+ }
1144
+ else {
1145
+ this.renderContour(enabledElement, svgDrawingHelper, annotation);
1146
+ }
1140
1147
  }
1141
1148
  else {
1142
1149
  const activeAnnotationUID = this.commonData.annotation.annotationUID;
@@ -1155,7 +1162,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1155
1162
  }
1156
1163
  }
1157
1164
  else {
1158
- this.renderContour(enabledElement, svgDrawingHelper, annotation);
1165
+ if (this.configuration.displayOnePointAsCrosshairs &&
1166
+ annotation.data.contour.polyline.length === 1) {
1167
+ this.renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation);
1168
+ }
1169
+ else {
1170
+ this.renderContour(enabledElement, svgDrawingHelper, annotation);
1171
+ }
1159
1172
  }
1160
1173
  renderStatus = true;
1161
1174
  }