@ohif/app 3.9.0-beta.3 → 3.9.0-beta.31

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 (231) hide show
  1. package/dist/{117.bundle.a80b1511ef4b302fb7cc.js → 117.bundle.ba41cf7978afb629dcff.js} +66 -18
  2. package/dist/{889.bundle.5611d644c8cb24f864ff.js → 121.bundle.378e95375a06144508ba.js} +40 -12
  3. package/dist/{998.bundle.b8ffa2bc390d5d4edf16.js → 129.bundle.1b625d18d376f42effc1.js} +22 -21
  4. package/dist/{574.bundle.72bd5061ccd504235419.js → 139.bundle.679c4baad7c7f65ebabd.js} +25 -37
  5. package/dist/{989.bundle.bf6bc62794b717824f7e.js → 14.bundle.ec550834dd50b923108d.js} +5 -5
  6. package/dist/{783.bundle.126cd640a5fd49804d8e.js → 140.bundle.38a0dfa4b46a70e33664.js} +2 -2
  7. package/dist/{164.bundle.1da1cadb56951caef1d6.js → 164.bundle.79cc35bc3e6b792636cd.js} +334 -44
  8. package/dist/{544.bundle.e8227e98860e39636a00.js → 172.bundle.e3e82e398b39958577e6.js} +16 -30
  9. package/dist/{487.bundle.b1a29dcf2b152693935d.js → 194.bundle.0c81e6f43d76f29392c0.js} +5 -5
  10. package/dist/{699.bundle.2adb0c0ad7f7cb9e338a.js → 211.bundle.86d88aa73d5352e82c97.js} +33 -4
  11. package/dist/{776.bundle.9680d347bafb63f8688a.js → 218.bundle.77c26ca8507b4765c981.js} +14 -9
  12. package/dist/{236.bundle.4ca7987e1d57f60ec13a.js → 236.bundle.343bcd0be60d0ae61901.js} +396 -56
  13. package/dist/{530.bundle.17b9a34fefff133e5379.js → 265.bundle.b32a0cc143efa80ee3cc.js} +8 -12
  14. package/dist/{862.bundle.55dde21bab4c841b6259.js → 323.bundle.8e5137bf61179c8704d6.js} +5 -9
  15. package/dist/{342.bundle.340982440de15f540a89.js → 342.bundle.67c49f2e52829a5696a4.js} +7 -0
  16. package/dist/{550.bundle.a2267752bc8874fedfd5.js → 363.bundle.0e87c4c9afa24a9a2843.js} +226 -150
  17. package/dist/{473.bundle.6cd4be953853f35b29c3.js → 367.bundle.6a0746aeca702ae6eba6.js} +279 -29
  18. package/dist/{806.bundle.50e039eb624382ee1fce.js → 370.bundle.02108fbb881fbe75b59c.js} +82 -11
  19. package/dist/{682.bundle.ec07ec1bc2f69f9d0d94.js → 382.bundle.67d162cdbb2a84192cae.js} +24 -4
  20. package/dist/{907.bundle.13dc5f4b5581d12562b8.js → 444.bundle.5bc9c6c628d3f12a78c7.js} +4 -4
  21. package/dist/{483.bundle.a353efc5a5dd563c903c.js → 483.bundle.016de3c3ec209d9fa42a.js} +16 -3
  22. package/dist/{35.bundle.0168d78bfad0cb784112.js → 501.bundle.3dcc63f03d9c252a9bee.js} +885 -312
  23. package/dist/{905.bundle.4105e428f61f925a310d.js → 552.bundle.4a503e6689070df070de.js} +3 -3
  24. package/dist/{981.bundle.a0fabcf9845c1a623990.js → 555.bundle.0f587ef1e590e457a5ed.js} +7 -6
  25. package/dist/{939.bundle.9d93b2e47c52338747a2.js → 612.bundle.297a033523539e0b47f9.js} +2 -2
  26. package/dist/{295.bundle.9926ff25c6dbf53845b1.js → 675.bundle.c9720f40fd7c7e9b7e54.js} +5 -9
  27. package/dist/{325.bundle.98612a2afacf5d63b25a.js → 717.bundle.133ee5f2065b3338498e.js} +32 -23
  28. package/dist/{722.bundle.2547630541b670f10d6e.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
  29. package/dist/{121.bundle.b582314ec0024fdf2d15.js → 792.bundle.485ad2f98823a4b3feb1.js} +6 -10
  30. package/dist/{721.bundle.a210baa38d34b9bcacfd.js → 799.bundle.55be56fa31b0f5c993c6.js} +12 -12
  31. package/dist/{448.bundle.70dc1363d8b2783dc51e.js → 806.bundle.f89c0302312b41de4227.js} +5 -5
  32. package/dist/{390.bundle.2751b81dbe439a40ba90.js → 827.bundle.05ca1cba07979c0e199f.js} +446 -53
  33. package/dist/{297.bundle.194d8985ab974839b5b6.js → 837.bundle.ff9fe44bf863a5bceabc.js} +2 -2
  34. package/dist/{961.bundle.2c81565fe334d6cd2f9c.js → 853.bundle.98f5e69f10cc359c364c.js} +4 -4
  35. package/dist/{94.bundle.9b92ece5801a7df7d08c.js → 920.bundle.8ddd71fdf3cf8152cc74.js} +39 -9
  36. package/dist/{243.bundle.96439f589bc338b977ea.js → 989.bundle.944239c4bf1fec35fee8.js} +4 -4
  37. package/dist/app-config.js +5 -1
  38. package/dist/{app.bundle.cbecae40543f47cc8c7e.js → app.bundle.1c724ee4d081d129ddd5.js} +162728 -46021
  39. package/dist/app.bundle.css +5 -4
  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-create-threshold.svg +9 -0
  174. package/dist/assets/images/tool-crosshair.svg +14 -0
  175. package/dist/assets/images/tool-dicom-tag-browser.svg +15 -0
  176. package/dist/assets/images/tool-flip-horizontal.svg +10 -0
  177. package/dist/assets/images/tool-freehand-polygon.svg +37 -0
  178. package/dist/assets/images/tool-freehand-roi.svg +12 -0
  179. package/dist/assets/images/tool-freehand.svg +34 -0
  180. package/dist/assets/images/tool-fusion-color.svg +13 -0
  181. package/dist/assets/images/tool-invert.svg +10 -0
  182. package/dist/assets/images/tool-layout-default.svg +22 -0
  183. package/dist/assets/images/tool-length.svg +16 -0
  184. package/dist/assets/images/tool-magnetic-roi.svg +17 -0
  185. package/dist/assets/images/tool-magnify.svg +7 -0
  186. package/dist/assets/images/tool-measure-elipse.svg +12 -0
  187. package/dist/assets/images/tool-more-menu.svg +6 -0
  188. package/dist/assets/images/tool-move.svg +13 -0
  189. package/dist/assets/images/tool-polygon.svg +3 -0
  190. package/dist/assets/images/tool-quick-magnify.svg +11 -0
  191. package/dist/assets/images/tool-rectangle.svg +12 -0
  192. package/dist/assets/images/tool-reference-lines.svg +13 -0
  193. package/dist/assets/images/tool-reset.svg +9 -0
  194. package/dist/assets/images/tool-rotate-right.svg +12 -0
  195. package/dist/assets/images/tool-seg-brush.svg +9 -0
  196. package/dist/assets/images/tool-seg-eraser.svg +10 -0
  197. package/dist/assets/images/tool-seg-shape.svg +9 -0
  198. package/dist/assets/images/tool-seg-threshold.svg +17 -0
  199. package/dist/assets/images/tool-spline-roi.svg +14 -0
  200. package/dist/assets/images/tool-stack-image-sync.svg +10 -0
  201. package/dist/assets/images/tool-stack-scroll.svg +10 -0
  202. package/dist/assets/images/tool-toggle-dicom-overlay.svg +9 -0
  203. package/dist/assets/images/tool-ultrasound-bidirectional.svg +15 -0
  204. package/dist/assets/images/tool-window-level.svg +9 -0
  205. package/dist/assets/images/tool-zoom.svg +9 -0
  206. package/dist/assets/images/tracked.svg +6 -0
  207. package/dist/assets/images/ui-arrow-down.svg +3 -0
  208. package/dist/assets/images/ui-arrow-left.svg +3 -0
  209. package/dist/assets/images/ui-arrow-right.svg +3 -0
  210. package/dist/assets/images/ui-arrow-up.svg +3 -0
  211. package/dist/assets/images/unlink.svg +9 -0
  212. package/dist/assets/images/viewport-status-tracked.svg +13 -0
  213. package/dist/assets/images/viewport-window-level.svg +17 -0
  214. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  215. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  216. package/dist/google.js +1 -0
  217. package/dist/{histogram-worker.bundle.829e14ec12c2b41a4323.js → histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js} +2 -2
  218. package/dist/index.html +1 -1
  219. package/dist/{polySeg.bundle.1799686b019040500219.js → polySeg.bundle.cc8400971fca41347b25.js} +3 -3
  220. package/dist/{suv-peak-worker.bundle.25f8b85eab9ec06da48d.js → suv-peak-worker.bundle.59ea76ac47db7a736234.js} +4 -4
  221. package/dist/sw.js +1 -1
  222. package/package.json +26 -23
  223. /package/dist/{998.css → 129.css} +0 -0
  224. /package/dist/{574.css → 139.css} +0 -0
  225. /package/dist/{544.css → 172.css} +0 -0
  226. /package/dist/{550.css → 363.css} +0 -0
  227. /package/dist/{325.css → 404.css} +0 -0
  228. /package/dist/{481.css → 717.css} +0 -0
  229. /package/dist/{726.bundle.c8de818cf1a3ff0cf7d2.js → 726.bundle.90d63d40a19b058034ee.js} +0 -0
  230. /package/dist/{835.bundle.4c0eaa2c1a427ee41817.js → 835.bundle.5d1951da8bbc6afdf3e0.js} +0 -0
  231. /package/dist/{931.bundle.d270a1fda9a2836c3cc5.js → 931.bundle.058f8de4606f27b31f4f.js} +0 -0
@@ -7,7 +7,7 @@
7
7
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
8
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
9
9
  /* harmony export */ });
10
- async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds, immediateRender = false, suppressEvents = false) {
10
+ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds) {
11
11
  for (const viewportId of viewportIds) {
12
12
  const viewport = renderingEngine.getViewport(viewportId);
13
13
  if (!viewport) {
@@ -20,7 +20,7 @@ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportI
20
20
  }
21
21
  const addStackPromises = viewportIds.map(async (viewportId) => {
22
22
  const viewport = renderingEngine.getViewport(viewportId);
23
- return viewport.addImages(stackInputs, immediateRender, suppressEvents);
23
+ return viewport.addImages(stackInputs);
24
24
  });
25
25
  await Promise.all(addStackPromises);
26
26
  }
@@ -558,7 +558,7 @@ __webpack_require__.r(__webpack_exports__);
558
558
  /* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13320);
559
559
  /* harmony import */ var _enums_Events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11731);
560
560
  /* harmony import */ var _eventTarget__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51884);
561
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35678);
561
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20228);
562
562
  /* harmony import */ var _requestPool_imageLoadPoolManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(775);
563
563
  /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92136);
564
564
 
@@ -656,12 +656,24 @@ function createAndCacheDerivedImage(referencedImageId, options = {}, preventCach
656
656
  const { TypedArrayConstructor } = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getBufferConfiguration)(options.targetBufferType, length);
657
657
  const imageScalarData = new TypedArrayConstructor(skipCreateBuffer ? 1 : length);
658
658
  const derivedImageId = imageId;
659
- ['imagePixelModule', 'imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
659
+ ['imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
660
660
  _utilities__WEBPACK_IMPORTED_MODULE_4__.genericMetadataProvider.add(derivedImageId, {
661
661
  type,
662
662
  metadata: ___WEBPACK_IMPORTED_MODULE_6__.metaData.get(type, referencedImageId),
663
663
  });
664
664
  });
665
+ const imagePixelModule = ___WEBPACK_IMPORTED_MODULE_6__.metaData.get('imagePixelModule', referencedImageId);
666
+ _utilities__WEBPACK_IMPORTED_MODULE_4__.genericMetadataProvider.add(derivedImageId, {
667
+ type: 'imagePixelModule',
668
+ metadata: {
669
+ ...imagePixelModule,
670
+ bitsAllocated: 8,
671
+ bitsStored: 8,
672
+ highBit: 7,
673
+ samplesPerPixel: 1,
674
+ pixelRepresentation: 0,
675
+ },
676
+ });
665
677
  const localImage = createAndCacheLocalImage({ scalarData: imageScalarData, onCacheAdd, skipCreateBuffer }, imageId, true);
666
678
  const imageLoadObject = {
667
679
  promise: Promise.resolve(localImage),
@@ -828,7 +840,7 @@ __webpack_require__.r(__webpack_exports__);
828
840
  /* harmony import */ var _utilities_triggerEvent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13292);
829
841
  /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(48463);
830
842
  /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_8__);
831
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(35678);
843
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20228);
832
844
  /* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(71702);
833
845
  /* harmony import */ var _utilities_cacheUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(51631);
834
846
 
@@ -1125,8 +1137,22 @@ function generateVolumeScalarData(targetBuffer, scalarLength) {
1125
1137
  }
1126
1138
  let volumeScalarData;
1127
1139
  if (targetBuffer?.sharedArrayBuffer) {
1128
- const buffer = new SharedArrayBuffer(numBytes);
1129
- volumeScalarData = new TypedArrayConstructor(buffer);
1140
+ switch (targetBuffer.type) {
1141
+ case 'Float32Array':
1142
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createFloat32SharedArray)(scalarLength);
1143
+ break;
1144
+ case 'Uint8Array':
1145
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createUint8SharedArray)(scalarLength);
1146
+ break;
1147
+ case 'Uint16Array':
1148
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createUint16SharedArray)(scalarLength);
1149
+ break;
1150
+ case 'Int16Array':
1151
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createUint16SharedArray)(scalarLength);
1152
+ break;
1153
+ default:
1154
+ throw new Error('generateVolumeScalarData: SharedArrayBuffer is not supported for the specified target buffer type');
1155
+ }
1130
1156
  }
1131
1157
  else {
1132
1158
  volumeScalarData = new TypedArrayConstructor(scalarLength);
@@ -1216,7 +1242,7 @@ imageLoadPoolManager.setMaxSimultaneousRequests(_enums_RequestType__WEBPACK_IMPO
1216
1242
  /* harmony export */ R: () => (/* binding */ RequestPoolManager)
1217
1243
  /* harmony export */ });
1218
1244
  /* harmony import */ var _enums_RequestType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15453);
1219
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35678);
1245
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20228);
1220
1246
 
1221
1247
 
1222
1248
  class RequestPoolManager {
@@ -1683,7 +1709,7 @@ var ToolModes;
1683
1709
  /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61738);
1684
1710
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55965);
1685
1711
  /* harmony import */ var _synchronizers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42375);
1686
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2746);
1712
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49574);
1687
1713
  /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(74119);
1688
1714
  /* harmony import */ var _cursors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32916);
1689
1715
  /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(40969);
@@ -2369,7 +2395,7 @@ function getToolGroupsWithToolName(toolName) {
2369
2395
  /* harmony import */ var _stateManagement_annotation_annotationLocking__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48428);
2370
2396
  /* harmony import */ var _stateManagement_annotation_annotationVisibility__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(21009);
2371
2397
  /* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54177);
2372
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2746);
2398
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(49574);
2373
2399
  /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61738);
2374
2400
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(84901);
2375
2401
  /* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(90252);
@@ -3043,6 +3069,7 @@ class BidirectionalTool extends _base__WEBPACK_IMPORTED_MODULE_4__/* .Annotation
3043
3069
  viewUp: [...viewUp],
3044
3070
  FrameOfReferenceUID,
3045
3071
  referencedImageId,
3072
+ ...viewport.getViewReference({ points: [worldPos] }),
3046
3073
  },
3047
3074
  data: {
3048
3075
  handles: {
@@ -3133,7 +3160,7 @@ BidirectionalTool.toolName = 'Bidirectional';
3133
3160
  /* harmony import */ var _planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(72702);
3134
3161
  /* harmony import */ var _planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(11585);
3135
3162
  /* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(54177);
3136
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(2746);
3163
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(49574);
3137
3164
  /* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(10910);
3138
3165
  /* harmony import */ var _utilities_math_polyline__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(56634);
3139
3166
  /* harmony import */ var _utilities_pointInShapeCallback__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(75403);
@@ -3202,6 +3229,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
3202
3229
  enabled: false,
3203
3230
  epsilon: 0.1,
3204
3231
  },
3232
+ displayOnePointAsCrosshairs: false,
3205
3233
  calculateStats: true,
3206
3234
  getTextLines: defaultGetTextLines,
3207
3235
  statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_22__.BasicStatsCalculator,
@@ -3538,7 +3566,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
3538
3566
  const isEditingOpen = this.isEditingOpen;
3539
3567
  const isEditingClosed = this.isEditingClosed;
3540
3568
  if (!(isDrawing || isEditingOpen || isEditingClosed)) {
3541
- this.renderContour(enabledElement, svgDrawingHelper, annotation);
3569
+ if (this.configuration.displayOnePointAsCrosshairs &&
3570
+ annotation.data.contour.polyline.length === 1) {
3571
+ this.renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation);
3572
+ }
3573
+ else {
3574
+ this.renderContour(enabledElement, svgDrawingHelper, annotation);
3575
+ }
3542
3576
  }
3543
3577
  else {
3544
3578
  const activeAnnotationUID = this.commonData.annotation.annotationUID;
@@ -3557,7 +3591,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
3557
3591
  }
3558
3592
  }
3559
3593
  else {
3560
- this.renderContour(enabledElement, svgDrawingHelper, annotation);
3594
+ if (this.configuration.displayOnePointAsCrosshairs &&
3595
+ annotation.data.contour.polyline.length === 1) {
3596
+ this.renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation);
3597
+ }
3598
+ else {
3599
+ this.renderContour(enabledElement, svgDrawingHelper, annotation);
3600
+ }
3561
3601
  }
3562
3602
  renderStatus = true;
3563
3603
  }
@@ -3764,7 +3804,7 @@ __webpack_require__.d(__webpack_exports__, {
3764
3804
  t0: () => (/* reexport */ SegmentationDisplayTool/* default */.A)
3765
3805
  });
3766
3806
 
3767
- // UNUSED EXPORTS: AngleTool, AnnotationDisplayTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarRotateTool, ProbeTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SculptorTool, SegmentSelectTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, TrackballRotateTool, UltrasoundDirectionalTool, VolumeRotateMouseWheelTool, WindowLevelTool, ZoomTool
3807
+ // UNUSED EXPORTS: AngleTool, AnnotationDisplayTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarRotateTool, ProbeTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SculptorTool, SegmentSelectTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, TrackballRotateTool, UltrasoundDirectionalTool, VolumeRotateMouseWheelTool, WindowLevelRegionTool, WindowLevelTool, ZoomTool
3768
3808
 
3769
3809
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/index.js
3770
3810
  var base = __webpack_require__(96214);
@@ -3774,6 +3814,8 @@ var PanTool = __webpack_require__(25294);
3774
3814
  var TrackballRotateTool = __webpack_require__(15924);
3775
3815
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/WindowLevelTool.js
3776
3816
  var WindowLevelTool = __webpack_require__(455);
3817
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/WindowLevelRegionTool.js
3818
+ var WindowLevelRegionTool = __webpack_require__(60747);
3777
3819
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/StackScrollTool.js
3778
3820
  var StackScrollTool = __webpack_require__(20132);
3779
3821
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/PlanarRotateTool.js
@@ -3856,8 +3898,8 @@ var esm = __webpack_require__(92136);
3856
3898
  var stateManagement = __webpack_require__(95778);
3857
3899
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationLocking.js
3858
3900
  var annotationLocking = __webpack_require__(48428);
3859
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 17 modules
3860
- var drawingSvg = __webpack_require__(2746);
3901
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 18 modules
3902
+ var drawingSvg = __webpack_require__(49574);
3861
3903
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/viewportFilters/index.js + 4 modules
3862
3904
  var viewportFilters = __webpack_require__(90252);
3863
3905
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/cursors/elementCursor.js
@@ -4393,6 +4435,7 @@ var SegmentSelectTool = __webpack_require__(34041);
4393
4435
 
4394
4436
 
4395
4437
 
4438
+
4396
4439
 
4397
4440
 
4398
4441
  /***/ }),
@@ -4481,6 +4524,7 @@ __webpack_require__.r(__webpack_exports__);
4481
4524
  // EXPORTS
4482
4525
  __webpack_require__.d(__webpack_exports__, {
4483
4526
  annotationFrameRange: () => (/* reexport */ annotationFrameRange/* default */.A),
4527
+ annotationHydration: () => (/* reexport */ annotationHydration/* annotationHydration */.i),
4484
4528
  boundingBox: () => (/* reexport */ boundingBox),
4485
4529
  calibrateImageSpacing: () => (/* reexport */ calibrateImageSpacing/* default */.A),
4486
4530
  cine: () => (/* reexport */ cine),
@@ -4495,6 +4539,7 @@ __webpack_require__.d(__webpack_exports__, {
4495
4539
  getCalibratedAspect: () => (/* reexport */ getCalibratedUnits/* getCalibratedAspect */.CQ),
4496
4540
  getCalibratedLengthUnitsAndScale: () => (/* reexport */ getCalibratedUnits/* getCalibratedLengthUnitsAndScale */.Op),
4497
4541
  getCalibratedProbeUnitsAndValue: () => (/* reexport */ getCalibratedUnits/* getCalibratedProbeUnitsAndValue */.Xw),
4542
+ getClosestImageIdForStackViewport: () => (/* reexport */ annotationHydration/* getClosestImageIdForStackViewport */.x),
4498
4543
  getSphereBoundsInfo: () => (/* reexport */ getSphereBoundsInfo/* getSphereBoundsInfo */.R),
4499
4544
  getViewportForAnnotation: () => (/* reexport */ getViewportForAnnotation/* default */.A),
4500
4545
  isObject: () => (/* reexport */ isObject/* default */.A),
@@ -4570,6 +4615,8 @@ var annotationFrameRange = __webpack_require__(41209);
4570
4615
  var pointInSurroundingSphereCallback = __webpack_require__(5093);
4571
4616
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/getViewportForAnnotation.js
4572
4617
  var getViewportForAnnotation = __webpack_require__(39490);
4618
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/annotationHydration.js
4619
+ var annotationHydration = __webpack_require__(25781);
4573
4620
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/index.js
4574
4621
  var contours = __webpack_require__(75534);
4575
4622
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/segmentation/index.js
@@ -4609,8 +4656,8 @@ var touch = __webpack_require__(54868);
4609
4656
  var dynamicVolume = __webpack_require__(16390);
4610
4657
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/polyData/utils.js
4611
4658
  var utils = __webpack_require__(46514);
4612
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/index.js
4613
- var voi = __webpack_require__(10413);
4659
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/index.js + 4 modules
4660
+ var voi = __webpack_require__(14149);
4614
4661
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/index.js
4615
4662
  var contourSegmentation = __webpack_require__(7259);
4616
4663
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/index.js
@@ -4649,6 +4696,7 @@ var contourSegmentation = __webpack_require__(7259);
4649
4696
 
4650
4697
 
4651
4698
 
4699
+
4652
4700
 
4653
4701
 
4654
4702
  const roundNumber = esm.utilities.roundNumber;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[889],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[121],{
3
3
 
4
- /***/ 62889:
4
+ /***/ 67121:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -20,10 +20,10 @@ const id = package_namespaceObject.UU;
20
20
 
21
21
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
22
22
  var react = __webpack_require__(41766);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 785 modules
24
- var src = __webpack_require__(5085);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 782 modules
24
+ var src = __webpack_require__(79047);
25
25
  // EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
26
- var core_src = __webpack_require__(8633);
26
+ var core_src = __webpack_require__(75186);
27
27
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
28
28
  var es = __webpack_require__(80619);
29
29
  // EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 996 modules
@@ -1349,6 +1349,15 @@ class MicroscopyService extends core_src/* PubSubService */.Rc {
1349
1349
  setROIStyle(uid, styleOptions) {
1350
1350
  this.managedViewers.forEach(mv => mv.setROIStyle(uid, styleOptions));
1351
1351
  }
1352
+
1353
+ /**
1354
+ * Get all managed viewers
1355
+ *
1356
+ * @returns {Array} managedViewers
1357
+ */
1358
+ getAllManagedViewers() {
1359
+ return Array.from(this.managedViewers);
1360
+ }
1352
1361
  }
1353
1362
  _MicroscopyService = MicroscopyService;
1354
1363
  MicroscopyService.REGISTRATION = servicesManager => {
@@ -2565,6 +2574,11 @@ function getDicomMicroscopySRSopClassHandler({
2565
2574
  getDisplaySetsFromSeries
2566
2575
  };
2567
2576
  }
2577
+ // EXTERNAL MODULE: ../../../node_modules/react-resize-detector/build/index.esm.js
2578
+ var index_esm = __webpack_require__(78668);
2579
+ // EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
2580
+ var lodash_debounce = __webpack_require__(14771);
2581
+ var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
2568
2582
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/index.tsx
2569
2583
  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); }
2570
2584
 
@@ -2575,8 +2589,10 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2575
2589
 
2576
2590
 
2577
2591
 
2592
+
2593
+
2578
2594
  const Component = /*#__PURE__*/react.lazy(() => {
2579
- return Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(931), __webpack_require__.e(390), __webpack_require__.e(544)]).then(__webpack_require__.bind(__webpack_require__, 17919));
2595
+ return Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(931), __webpack_require__.e(827), __webpack_require__.e(172)]).then(__webpack_require__.bind(__webpack_require__, 66921));
2580
2596
  });
2581
2597
  const MicroscopyViewport = props => {
2582
2598
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -2628,14 +2644,25 @@ const extension = {
2628
2644
  const {
2629
2645
  activeViewportId
2630
2646
  } = viewportGrid;
2631
-
2632
- // a unique identifier based on the contents of displaySets.
2633
- // since we changed our rendering pipeline and if there is no
2634
- // element size change nor viewportId change we won't re-render
2635
- // we need a way to force re-rendering when displaySets change.
2636
2647
  const displaySetsKey = (0,react.useMemo)(() => {
2637
2648
  return props.displaySets.map(ds => ds.displaySetInstanceUID).join('-');
2638
2649
  }, [props.displaySets]);
2650
+ const onResize = lodash_debounce_default()(() => {
2651
+ const {
2652
+ microscopyService
2653
+ } = servicesManager.services;
2654
+ const managedViewer = microscopyService.getAllManagedViewers();
2655
+ if (managedViewer && managedViewer.length > 0) {
2656
+ managedViewer[0].viewer.resize();
2657
+ }
2658
+ }, 100);
2659
+ const {
2660
+ ref: resizeRef
2661
+ } = (0,index_esm/* useResizeDetector */.u)({
2662
+ onResize,
2663
+ handleHeight: true,
2664
+ handleWidth: true
2665
+ });
2639
2666
  return /*#__PURE__*/react.createElement(MicroscopyViewport, _extends({
2640
2667
  key: displaySetsKey,
2641
2668
  servicesManager: servicesManager,
@@ -2645,7 +2672,8 @@ const extension = {
2645
2672
  setViewportActive: viewportId => {
2646
2673
  viewportGridService.setActiveViewportId(viewportId);
2647
2674
  },
2648
- viewportData: viewportOptions
2675
+ viewportData: viewportOptions,
2676
+ resizeRef: resizeRef
2649
2677
  }, props));
2650
2678
  };
2651
2679
  return [{
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[998,481],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[129,404],{
3
3
 
4
- /***/ 32009:
4
+ /***/ 70282:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -23,7 +23,7 @@ const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
23
23
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
24
24
  var react = __webpack_require__(41766);
25
25
  // EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
26
- var src = __webpack_require__(8633);
26
+ var src = __webpack_require__(75186);
27
27
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 28 modules
28
28
  var esm = __webpack_require__(92136);
29
29
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
@@ -314,11 +314,11 @@ function getHangingProtocolModule() {
314
314
  /* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
315
315
 
316
316
  // EXTERNAL MODULE: ./state/index.js + 1 modules
317
- var state = __webpack_require__(15575);
318
- // EXTERNAL MODULE: ../../ui/src/index.js + 785 modules
319
- var ui_src = __webpack_require__(5085);
320
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 85 modules
321
- var default_src = __webpack_require__(47390);
317
+ var state = __webpack_require__(81883);
318
+ // EXTERNAL MODULE: ../../ui/src/index.js + 782 modules
319
+ var ui_src = __webpack_require__(79047);
320
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 90 modules
321
+ var default_src = __webpack_require__(48827);
322
322
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
323
323
  var prop_types = __webpack_require__(11374);
324
324
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
@@ -880,7 +880,7 @@ var ImageData = __webpack_require__(51250);
880
880
  * @param params.viewportId - ID of the viewport to be updated.
881
881
  * @param params.loadFn - Function to load the segmentation data.
882
882
  * @param params.servicesManager - The services manager.
883
- * @param params.referencedDisplaySetInstanceUID - Optional UID for the referenced display set instance.
883
+ * @param params.displaySet - the display set.
884
884
  *
885
885
  * @returns Returns true upon successful update of viewports for segmentation rendering.
886
886
  */
@@ -888,7 +888,7 @@ async function updateViewportsForSegmentationRendering({
888
888
  viewportId,
889
889
  loadFn,
890
890
  servicesManager,
891
- referencedDisplaySetInstanceUID
891
+ displaySet
892
892
  }) {
893
893
  const {
894
894
  cornerstoneViewportService,
@@ -900,11 +900,11 @@ async function updateViewportsForSegmentationRendering({
900
900
  viewportGridService
901
901
  });
902
902
  const targetViewportId = viewport.viewportOptions.viewportId;
903
- referencedDisplaySetInstanceUID = referencedDisplaySetInstanceUID || viewport?.displaySetInstanceUIDs[0];
903
+ const referencedDisplaySetInstanceUID = displaySet?.referencedDisplaySetInstanceUID || viewport?.displaySetInstanceUIDs[0];
904
904
  const updatedViewports = getUpdatedViewportsForSegmentation({
905
- servicesManager,
906
905
  viewportId,
907
- referencedDisplaySetInstanceUID
906
+ servicesManager,
907
+ displaySet
908
908
  });
909
909
 
910
910
  // create Segmentation callback which needs to be waited until
@@ -920,7 +920,7 @@ async function updateViewportsForSegmentationRendering({
920
920
  updatedViewports.forEach(async viewport => {
921
921
  viewport.viewportOptions = {
922
922
  ...viewport.viewportOptions,
923
- viewportType: 'volume',
923
+ viewportType: displaySet?.Modality === 'RTSTRUCT' ? 'stack' : 'volume',
924
924
  needsRerendering: true
925
925
  };
926
926
  const viewportId = viewport.viewportId;
@@ -929,7 +929,7 @@ async function updateViewportsForSegmentationRendering({
929
929
 
930
930
  // only run the createSegmentationForVolume for the targetViewportId
931
931
  // since the rest will get handled by cornerstoneViewportService
932
- if (volumeExists && viewportId === targetViewportId) {
932
+ if ((volumeExists || displaySet.Modality === 'RTSTRUCT') && viewportId === targetViewportId) {
933
933
  await createSegmentationForVolume();
934
934
  return;
935
935
  }
@@ -978,14 +978,14 @@ const getTargetViewport = ({
978
978
  * @param {Object} params - Parameters for the function.
979
979
  * @param params.viewportId - the ID of the viewport to be updated.
980
980
  * @param params.servicesManager - The services manager
981
- * @param params.referencedDisplaySetInstanceUID - Optional UID for the referenced display set instance.
981
+ * @param params.displaySet - the display set.
982
982
  *
983
983
  * @returns {Array} Returns an array of viewports that require updates for segmentation rendering.
984
984
  */
985
985
  function getUpdatedViewportsForSegmentation({
986
986
  viewportId,
987
987
  servicesManager,
988
- referencedDisplaySetInstanceUID
988
+ displaySet
989
989
  }) {
990
990
  const {
991
991
  hangingProtocolService,
@@ -1003,7 +1003,7 @@ function getUpdatedViewportsForSegmentation({
1003
1003
  });
1004
1004
  const targetViewportId = viewport.viewportOptions.viewportId;
1005
1005
  const displaySetInstanceUIDs = viewports.get(targetViewportId).displaySetInstanceUIDs;
1006
- const referenceDisplaySetInstanceUID = referencedDisplaySetInstanceUID || displaySetInstanceUIDs[0];
1006
+ const referenceDisplaySetInstanceUID = displaySet?.referencedDisplaySetInstanceUID || displaySetInstanceUIDs[0];
1007
1007
  const referencedDisplaySet = displaySetService.getDisplaySetByUID(referenceDisplaySetInstanceUID);
1008
1008
  const segmentationFrameOfReferenceUID = referencedDisplaySet.instances[0].FrameOfReferenceUID;
1009
1009
  const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(targetViewportId, referenceDisplaySetInstanceUID, isHangingProtocolLayout);
@@ -1017,7 +1017,7 @@ function getUpdatedViewportsForSegmentation({
1017
1017
  viewportId,
1018
1018
  displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
1019
1019
  viewportOptions: {
1020
- viewportType: 'volume',
1020
+ viewportType: displaySet?.Modality === 'RTSTRUCT' ? 'stack' : 'volume',
1021
1021
  needsRerendering: true
1022
1022
  }
1023
1023
  });
@@ -1119,6 +1119,7 @@ const commandsModule = ({
1119
1119
  updateViewportsForSegmentationRendering({
1120
1120
  viewportId,
1121
1121
  servicesManager,
1122
+ displaySet,
1122
1123
  loadFn: async () => {
1123
1124
  const currentSegmentations = segmentationService.getSegmentations();
1124
1125
  const segmentationId = await segmentationService.createSegmentationForDisplaySet(displaySetInstanceUID, {
@@ -1225,7 +1226,7 @@ const commandsModule = ({
1225
1226
  updateViewportsForSegmentationRendering({
1226
1227
  viewportId,
1227
1228
  servicesManager,
1228
- referencedDisplaySetInstanceUID: displaySet.referencedDisplaySetInstanceUID,
1229
+ displaySet,
1229
1230
  loadFn: async () => {
1230
1231
  const segDisplaySet = displaySet;
1231
1232
  const suppressEvents = false;
@@ -1538,7 +1539,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
1538
1539
 
1539
1540
 
1540
1541
  const Component = /*#__PURE__*/react.lazy(() => {
1541
- return __webpack_require__.e(/* import() */ 295).then(__webpack_require__.bind(__webpack_require__, 58295));
1542
+ return __webpack_require__.e(/* import() */ 675).then(__webpack_require__.bind(__webpack_require__, 93675));
1542
1543
  });
1543
1544
  const OHIFCornerstoneSEGViewport = props => {
1544
1545
  return /*#__PURE__*/react.createElement(react.Suspense, {