@ohif/app 3.8.0-beta.54 → 3.8.0-beta.56

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/{223.bundle.d4ac6ef2cfe47a9c4afc.js → 109.bundle.b4fee2a22b622839baf5.js} +50 -50
  2. package/dist/{471.bundle.eeb78105b59e688832a6.js → 121.bundle.8a4747e7280f7493f07f.js} +18 -18
  3. package/dist/{19.bundle.99b3819a5b7a6bd9394c.js → 155.bundle.c29eb80f89869abce330.js} +89 -89
  4. package/dist/{687.bundle.a6ee04b2e5fd5e5445b6.js → 164.bundle.db387d19f75dd737b9bd.js} +4 -4
  5. package/dist/17dd54813d5acc10bf8f.wasm +0 -0
  6. package/dist/{506.bundle.e243d2ef94ad3925c403.js → 188.bundle.dbe34be7a01e1d2eb815.js} +11 -11
  7. package/dist/{199.bundle.fdd939db52f25dc92071.js → 250.bundle.d0649631d09c928a102b.js} +43 -43
  8. package/dist/{965.bundle.67f3b1a05b5cbe521d62.js → 270.bundle.24c2dca618804cbc5933.js} +56 -56
  9. package/dist/{95.bundle.2236101be3cc36b322e8.js → 290.bundle.f14fb0cfd84a817704b6.js} +149 -35
  10. package/dist/{451.bundle.311cd3be9916e08450e9.js → 295.bundle.195776f4d6400701840b.js} +19 -20
  11. package/dist/{125.bundle.df666cb677e5a8982157.js → 297.bundle.81d63bb0b66d63df6d86.js} +4 -4
  12. package/dist/{613.bundle.9c0ad8fbe2c130862f6c.js → 317.bundle.43b405981747b1da99e1.js} +9 -9
  13. package/dist/{483.bundle.75d178137b66ccdbc9b0.js → 339.bundle.9dd2a6cfee0c8e78e08b.js} +66 -66
  14. package/dist/342.bundle.9cba26ae269724f08311.js +51866 -0
  15. package/dist/39.bundle.40deb7b1a56a61b60064.js +135203 -0
  16. package/dist/{466.bundle.93759a09e651f7b3c995.js → 50.bundle.c3cbd58149efffb8fe8d.js} +49 -49
  17. package/dist/{886.bundle.94a4536167d0f8cae1ae.js → 530.bundle.8784084927e0f61b058d.js} +23 -23
  18. package/dist/{250.bundle.577da106dd763c7bf9d0.js → 544.bundle.1502ae8187957cc5d7a5.js} +23 -23
  19. package/dist/{170.bundle.f343198e07760a7ead7d.js → 559.bundle.27406a40a15f23e9cbe0.js} +63 -63
  20. package/dist/{410.bundle.a348d8825d915c77d550.js → 594.bundle.47486e52801b56aef392.js} +11 -11
  21. package/dist/{661.bundle.949c984fe2f9f753b65c.js → 644.bundle.1e77691d2eeb96a423b0.js} +4 -4
  22. package/dist/{185.bundle.ff56990135b9136734cf.js → 68.bundle.ba70fc52febdf39a8a7a.js} +48 -48
  23. package/dist/{738.bundle.a68b638a4281ede90e1f.js → 704.bundle.99451fa50ffb2168489c.js} +195 -191
  24. package/dist/{359.bundle.ef640f0cee0493868d9d.js → 724.bundle.c7d66fb37bf5e9e3a2ef.js} +11 -11
  25. package/dist/{831.bundle.127a3064e8844d6d2c82.js → 726.bundle.2bdb443d1b5620d74e6e.js} +512 -512
  26. package/dist/{530.bundle.f904325ef4195d69ac0e.js → 835.bundle.4c0eaa2c1a427ee41817.js} +28 -28
  27. package/dist/{822.bundle.8b745e28bc9eb9afbc61.js → 862.bundle.5357c0d8b2fe9971a082.js} +18 -18
  28. package/dist/{181.bundle.aff453c348111303ceac.js → 889.bundle.d8fae421d8bfce626cf6.js} +36 -41
  29. package/dist/{281.bundle.fae344af5b015f837f25.js → 905.bundle.07e293bf89007e53ebfc.js} +9 -9
  30. package/dist/{814.bundle.0ec180d5b229f4e6406f.js → 907.bundle.ded7947e96dd1c71340a.js} +8 -8
  31. package/dist/{417.bundle.5c66801d23d0e98c00e6.js → 931.bundle.d270a1fda9a2836c3cc5.js} +25 -25
  32. package/dist/{686.bundle.62c827fe4f0d054c164e.js → 939.bundle.84ee0b844023d924a22b.js} +4 -4
  33. package/dist/{12.bundle.f8e4685ed24432735e1b.js → 961.bundle.527fd9c4c03417a323b6.js} +8 -8
  34. package/dist/{290.bundle.83733eacedfae557e8cf.js → 963.bundle.5d3306618aebb63887f5.js} +430 -200
  35. package/dist/{app.bundle.e97dc9a2b1087531aa22.js → app.bundle.72246bf7d821f3e37004.js} +184373 -170579
  36. package/dist/app.bundle.css +1 -1
  37. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  38. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  39. package/dist/{dicom-microscopy-viewer.bundle.a7d5060eead13771e784.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
  40. package/dist/index.html +1 -1
  41. package/dist/polySeg.bundle.63a3d7bee3e0ec0651df.js +249 -0
  42. package/dist/sw.js +1 -1
  43. package/package.json +22 -19
  44. package/dist/202.bundle.495cba6bbee744cf8f72.js +0 -18239
  45. package/dist/23.bundle.9d989522a6e4fdcb9c72.js +0 -900
  46. /package/dist/{19.css → 155.css} +0 -0
  47. /package/dist/{579.css → 481.css} +0 -0
  48. /package/dist/{466.css → 50.css} +0 -0
  49. /package/dist/{250.css → 544.css} +0 -0
  50. /package/dist/{181.css → 889.css} +0 -0
  51. /package/dist/{290.css → 963.css} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[290],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[963],{
3
3
 
4
- /***/ 21290:
4
+ /***/ 34963:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -24,7 +24,7 @@ __webpack_require__.d(utils_namespaceObject, {
24
24
  getDisplayUnit: () => (utils_getDisplayUnit),
25
25
  getFirstAnnotationSelected: () => (getFirstAnnotationSelected),
26
26
  getHandlesFromPoints: () => (getHandlesFromPoints),
27
- getSOPInstanceAttributes: () => (getSOPInstanceAttributes/* default */.Z),
27
+ getSOPInstanceAttributes: () => (getSOPInstanceAttributes/* default */.A),
28
28
  isAnnotationSelected: () => (isAnnotationSelected),
29
29
  setAnnotationSelected: () => (setAnnotationSelected)
30
30
  });
@@ -34,20 +34,20 @@ var types_namespaceObject = {};
34
34
  __webpack_require__.r(types_namespaceObject);
35
35
 
36
36
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
37
- var react = __webpack_require__(43001);
38
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 376 modules
39
- var esm = __webpack_require__(64225);
40
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 454 modules
41
- var dist_esm = __webpack_require__(76634);
42
- // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
43
- var src = __webpack_require__(71771);
37
+ var react = __webpack_require__(41766);
38
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js
39
+ var esm = __webpack_require__(11953);
40
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
41
+ var dist_esm = __webpack_require__(39371);
42
+ // EXTERNAL MODULE: ../../core/src/index.ts + 66 modules
43
+ var src = __webpack_require__(14283);
44
44
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
45
- var streaming_image_volume_loader_dist_esm = __webpack_require__(15793);
45
+ var streaming_image_volume_loader_dist_esm = __webpack_require__(23722);
46
46
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js
47
- var cornerstoneDICOMImageLoader_min = __webpack_require__(61539);
47
+ var cornerstoneDICOMImageLoader_min = __webpack_require__(54578);
48
48
  var cornerstoneDICOMImageLoader_min_default = /*#__PURE__*/__webpack_require__.n(cornerstoneDICOMImageLoader_min);
49
49
  // EXTERNAL MODULE: ../../../node_modules/dicom-parser/dist/dicomParser.min.js
50
- var dicomParser_min = __webpack_require__(56660);
50
+ var dicomParser_min = __webpack_require__(45561);
51
51
  var dicomParser_min_default = /*#__PURE__*/__webpack_require__.n(dicomParser_min);
52
52
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/initWADOImageLoader.js
53
53
 
@@ -80,7 +80,7 @@ function initWebWorkers(appConfig) {
80
80
  function initWADOImageLoader(userAuthenticationService, appConfig, extensionManager) {
81
81
  (cornerstoneDICOMImageLoader_min_default()).external.cornerstone = esm;
82
82
  (cornerstoneDICOMImageLoader_min_default()).external.dicomParser = (dicomParser_min_default());
83
- registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.IU);
83
+ registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.FC);
84
84
  cornerstoneDICOMImageLoader_min_default().configure({
85
85
  decodeConfig: {
86
86
  // !! IMPORTANT !!
@@ -105,7 +105,7 @@ function initWADOImageLoader(userAuthenticationService, appConfig, extensionMana
105
105
  return xhrRequestHeaders;
106
106
  },
107
107
  errorInterceptor: error => {
108
- src/* errorHandler */.Po.getHTTPErrorHandler(error);
108
+ src/* errorHandler */.r_.getHTTPErrorHandler(error);
109
109
  }
110
110
  });
111
111
  initWebWorkers(appConfig);
@@ -120,7 +120,7 @@ function destroy() {
120
120
  webWorkers.length = 0;
121
121
  }
122
122
  // EXTERNAL MODULE: ../../ui/src/index.js + 487 modules
123
- var ui_src = __webpack_require__(18414);
123
+ var ui_src = __webpack_require__(55395);
124
124
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/callInputDialog.tsx
125
125
 
126
126
 
@@ -170,7 +170,7 @@ function callInputDialog(uiDialogService, data, callback, isArrowAnnotateInputDi
170
170
  centralize: true,
171
171
  isDraggable: false,
172
172
  showOverlay: true,
173
- content: ui_src/* Dialog */.Vq,
173
+ content: ui_src/* Dialog */.lG,
174
174
  contentProps: {
175
175
  title: dialogTitle,
176
176
  value: {
@@ -183,18 +183,18 @@ function callInputDialog(uiDialogService, data, callback, isArrowAnnotateInputDi
183
183
  actions: [{
184
184
  id: 'cancel',
185
185
  text: 'Cancel',
186
- type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
186
+ type: ui_src/* ButtonEnums.type */.Ny.NW.secondary
187
187
  }, {
188
188
  id: 'save',
189
189
  text: 'Save',
190
- type: ui_src/* ButtonEnums.type */.LZ.dt.primary
190
+ type: ui_src/* ButtonEnums.type */.Ny.NW.primary
191
191
  }],
192
192
  onSubmit: onSubmitHandler,
193
193
  body: ({
194
194
  value,
195
195
  setValue
196
196
  }) => {
197
- return /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
197
+ return /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
198
198
  autoFocus: true,
199
199
  className: "border-primary-main bg-black",
200
200
  type: "text",
@@ -227,7 +227,7 @@ function callInputDialog(uiDialogService, data, callback, isArrowAnnotateInputDi
227
227
  }
228
228
  /* harmony default export */ const utils_callInputDialog = (callInputDialog);
229
229
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
230
- var state = __webpack_require__(73704);
230
+ var state = __webpack_require__(71353);
231
231
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/getActiveViewportEnabledElement.ts
232
232
 
233
233
 
@@ -237,7 +237,7 @@ function getActiveViewportEnabledElement(viewportGridService) {
237
237
  } = viewportGridService.getState();
238
238
  const {
239
239
  element
240
- } = (0,state/* getEnabledElement */.K8)(activeViewportId) || {};
240
+ } = (0,state/* getEnabledElement */.kJ)(activeViewportId) || {};
241
241
  const enabledElement = (0,esm.getEnabledElement)(element);
242
242
  return enabledElement;
243
243
  }
@@ -348,7 +348,7 @@ function onCompletedCalibrationLine(servicesManager, csToolsEvent) {
348
348
  });
349
349
  }
350
350
  // EXTERNAL MODULE: ../../core/src/utils/index.js + 26 modules
351
- var utils = __webpack_require__(3225);
351
+ var utils = __webpack_require__(17541);
352
352
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/tools/OverlayPlaneModuleProvider.ts
353
353
 
354
354
  const _cachedOverlayMetadata = new Map();
@@ -522,7 +522,7 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
522
522
  } else if (overlay.pixelData.retrieveBulkData) {
523
523
  pixelData = await overlay.pixelData.retrieveBulkData();
524
524
  } else if (overlay.pixelData.InlineBinary) {
525
- const blob = (0,utils/* b64toBlob */.Mi)(overlay.pixelData.InlineBinary);
525
+ const blob = (0,utils/* b64toBlob */.Vk)(overlay.pixelData.InlineBinary);
526
526
  const arrayBuffer = await blob.arrayBuffer();
527
527
  pixelData = arrayBuffer;
528
528
  }
@@ -535,7 +535,7 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
535
535
  }, overlay.color || color, pixelData);
536
536
  return {
537
537
  ...overlay,
538
- _id: (0,utils/* guid */.M8)(),
538
+ _id: (0,utils/* guid */.Os)(),
539
539
  dataUrl,
540
540
  // this will be a data url expression of the rendered image
541
541
  color
@@ -690,7 +690,7 @@ const toolNames = {
690
690
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/constants/supportedTools.js
691
691
  /* harmony default export */ const supportedTools = (['Length', 'EllipticalROI', 'CircleROI', 'Bidirectional', 'ArrowAnnotate', 'Angle', 'CobbAngle', 'Probe', 'RectangleROI', 'PlanarFreehandROI']);
692
692
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
693
- var getSOPInstanceAttributes = __webpack_require__(87172);
693
+ var getSOPInstanceAttributes = __webpack_require__(1663);
694
694
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/Length.ts
695
695
 
696
696
 
@@ -730,7 +730,7 @@ const Length = {
730
730
  SOPInstanceUID,
731
731
  SeriesInstanceUID,
732
732
  StudyInstanceUID
733
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, cornerstoneViewportService, viewportId);
733
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, cornerstoneViewportService, viewportId);
734
734
  let displaySet;
735
735
  if (SOPInstanceUID) {
736
736
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -789,7 +789,7 @@ function getMappedAnnotations(annotation, displaySetService) {
789
789
  SOPInstanceUID,
790
790
  SeriesInstanceUID,
791
791
  frameNumber
792
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
792
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
793
793
  const displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
794
794
  const {
795
795
  SeriesNumber
@@ -969,7 +969,7 @@ const Bidirectional = {
969
969
  SOPInstanceUID,
970
970
  SeriesInstanceUID,
971
971
  StudyInstanceUID
972
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, cornerstoneViewportService, viewportId);
972
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, cornerstoneViewportService, viewportId);
973
973
  let displaySet;
974
974
  if (SOPInstanceUID) {
975
975
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1029,7 +1029,7 @@ function Bidirectional_getMappedAnnotations(annotation, displaySetService) {
1029
1029
  SOPInstanceUID,
1030
1030
  SeriesInstanceUID,
1031
1031
  frameNumber
1032
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
1032
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
1033
1033
  const displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
1034
1034
  const {
1035
1035
  SeriesNumber
@@ -1152,7 +1152,7 @@ const EllipticalROI = {
1152
1152
  SOPInstanceUID,
1153
1153
  SeriesInstanceUID,
1154
1154
  StudyInstanceUID
1155
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, cornerstoneViewportService, viewportId);
1155
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, cornerstoneViewportService, viewportId);
1156
1156
  let displaySet;
1157
1157
  if (SOPInstanceUID) {
1158
1158
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1212,7 +1212,7 @@ function EllipticalROI_getMappedAnnotations(annotation, displaySetService) {
1212
1212
  SOPInstanceUID,
1213
1213
  SeriesInstanceUID,
1214
1214
  frameNumber
1215
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
1215
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
1216
1216
  const displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
1217
1217
  const {
1218
1218
  SeriesNumber
@@ -1363,7 +1363,7 @@ const CircleROI = {
1363
1363
  SOPInstanceUID,
1364
1364
  SeriesInstanceUID,
1365
1365
  StudyInstanceUID
1366
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, CornerstoneViewportService, viewportId);
1366
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, CornerstoneViewportService, viewportId);
1367
1367
  let displaySet;
1368
1368
  if (SOPInstanceUID) {
1369
1369
  displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1423,7 +1423,7 @@ function CircleROI_getMappedAnnotations(annotation, DisplaySetService) {
1423
1423
  SOPInstanceUID,
1424
1424
  SeriesInstanceUID,
1425
1425
  frameNumber
1426
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
1426
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
1427
1427
  const displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
1428
1428
  const {
1429
1429
  SeriesNumber
@@ -1580,7 +1580,7 @@ const ArrowAnnotate_Length = {
1580
1580
  SOPInstanceUID,
1581
1581
  SeriesInstanceUID,
1582
1582
  StudyInstanceUID
1583
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, cornerstoneViewportService, viewportId);
1583
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, cornerstoneViewportService, viewportId);
1584
1584
  let displaySet;
1585
1585
  if (SOPInstanceUID) {
1586
1586
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1631,7 +1631,7 @@ function ArrowAnnotate_getMappedAnnotations(annotation, displaySetService) {
1631
1631
  SOPInstanceUID,
1632
1632
  SeriesInstanceUID,
1633
1633
  frameNumber
1634
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
1634
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
1635
1635
  const displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
1636
1636
  const {
1637
1637
  SeriesNumber
@@ -1708,7 +1708,7 @@ const CobbAngle = {
1708
1708
  SOPInstanceUID,
1709
1709
  SeriesInstanceUID,
1710
1710
  StudyInstanceUID
1711
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, CornerstoneViewportService, viewportId);
1711
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, CornerstoneViewportService, viewportId);
1712
1712
  let displaySet;
1713
1713
  if (SOPInstanceUID) {
1714
1714
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1767,7 +1767,7 @@ function CobbAngle_getMappedAnnotations(annotation, DisplaySetService) {
1767
1767
  SOPInstanceUID,
1768
1768
  SeriesInstanceUID,
1769
1769
  frameNumber
1770
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
1770
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
1771
1771
  const displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
1772
1772
  const {
1773
1773
  SeriesNumber
@@ -1893,7 +1893,7 @@ const Angle = {
1893
1893
  SOPInstanceUID,
1894
1894
  SeriesInstanceUID,
1895
1895
  StudyInstanceUID
1896
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, CornerstoneViewportService, viewportId);
1896
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, CornerstoneViewportService, viewportId);
1897
1897
  let displaySet;
1898
1898
  if (SOPInstanceUID) {
1899
1899
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1952,7 +1952,7 @@ function Angle_getMappedAnnotations(annotation, DisplaySetService) {
1952
1952
  SOPInstanceUID,
1953
1953
  SeriesInstanceUID,
1954
1954
  frameNumber
1955
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
1955
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
1956
1956
  const displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
1957
1957
  const {
1958
1958
  SeriesNumber
@@ -2076,7 +2076,7 @@ const PlanarFreehandROI = {
2076
2076
  SOPInstanceUID,
2077
2077
  SeriesInstanceUID,
2078
2078
  StudyInstanceUID
2079
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, CornerstoneViewportService, viewportId);
2079
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, CornerstoneViewportService, viewportId);
2080
2080
  let displaySet;
2081
2081
  if (SOPInstanceUID) {
2082
2082
  displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -2135,7 +2135,7 @@ function PlanarFreehandROI_getMappedAnnotations(annotationData, DisplaySetServic
2135
2135
  const {
2136
2136
  SOPInstanceUID: _SOPInstanceUID,
2137
2137
  SeriesInstanceUID: _SeriesInstanceUID
2138
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId) || {};
2138
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId) || {};
2139
2139
  if (!_SOPInstanceUID || !_SeriesInstanceUID) {
2140
2140
  return annotations;
2141
2141
  }
@@ -2208,7 +2208,7 @@ const RectangleROI = {
2208
2208
  SOPInstanceUID,
2209
2209
  SeriesInstanceUID,
2210
2210
  StudyInstanceUID
2211
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, CornerstoneViewportService, viewportId);
2211
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, CornerstoneViewportService, viewportId);
2212
2212
  let displaySet;
2213
2213
  if (SOPInstanceUID) {
2214
2214
  displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -2268,7 +2268,7 @@ function RectangleROI_getMappedAnnotations(annotation, DisplaySetService) {
2268
2268
  SOPInstanceUID,
2269
2269
  SeriesInstanceUID,
2270
2270
  frameNumber
2271
- } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
2271
+ } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
2272
2272
  const displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
2273
2273
  const {
2274
2274
  SeriesNumber
@@ -2768,7 +2768,7 @@ const connectMeasurementServiceToTools = (measurementService, cornerstoneViewpor
2768
2768
  let frameNumber = 1;
2769
2769
  if (measurement?.metadata?.referencedImageId) {
2770
2770
  imageId = measurement.metadata.referencedImageId;
2771
- frameNumber = (0,getSOPInstanceAttributes/* default */.Z)(measurement.metadata.referencedImageId).frameNumber;
2771
+ frameNumber = (0,getSOPInstanceAttributes/* default */.A)(measurement.metadata.referencedImageId).frameNumber;
2772
2772
  } else {
2773
2773
  imageId = dataSource.getImageIdsForInstance({
2774
2774
  instance
@@ -2880,7 +2880,7 @@ function getInterleavedFrames(imageIds) {
2880
2880
  return imageIdsToPrefetch;
2881
2881
  }
2882
2882
  // EXTERNAL MODULE: ../../../node_modules/lodash/lodash.js
2883
- var lodash = __webpack_require__(44379);
2883
+ var lodash = __webpack_require__(5517);
2884
2884
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/interleaveCenterLoader.ts
2885
2885
 
2886
2886
 
@@ -3413,7 +3413,7 @@ function initContextMenu({
3413
3413
  return;
3414
3414
  }
3415
3415
  // TODO check update upstream
3416
- (0,state/* setEnabledElement */.Yc)(viewportId, element);
3416
+ (0,state/* setEnabledElement */.ye)(viewportId, element);
3417
3417
  element.addEventListener(cs3DToolsEvents.MOUSE_CLICK, cornerstoneViewportHandleClick);
3418
3418
  }
3419
3419
  function elementDisabledHandler(evt) {
@@ -3498,10 +3498,7 @@ function initDoubleClick({
3498
3498
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/initViewTiming.ts
3499
3499
 
3500
3500
 
3501
- const {
3502
- TimingEnum
3503
- } = src.Types;
3504
- const IMAGE_TIMING_KEYS = [TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES, TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE, TimingEnum.STUDY_TO_FIRST_IMAGE];
3501
+ const IMAGE_TIMING_KEYS = [];
3505
3502
  const imageTiming = {
3506
3503
  viewportsWaiting: 0
3507
3504
  };
@@ -3518,7 +3515,15 @@ const imageTiming = {
3518
3515
  function initViewTiming({
3519
3516
  element
3520
3517
  }) {
3521
- if (!IMAGE_TIMING_KEYS.find(key => src/* log */.cM.timingKeys[key])) {
3518
+ if (!IMAGE_TIMING_KEYS.length) {
3519
+ // Work around a bug in WebPack that doesn't getting the enums initialized
3520
+ // quite fast enough to be declared statically.
3521
+ const {
3522
+ TimingEnum
3523
+ } = src.Enums;
3524
+ IMAGE_TIMING_KEYS.push(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES, TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE, TimingEnum.STUDY_TO_FIRST_IMAGE);
3525
+ }
3526
+ if (!IMAGE_TIMING_KEYS.find(key => src/* log */.Rm.timingKeys[key])) {
3522
3527
  return;
3523
3528
  }
3524
3529
  imageTiming.viewportsWaiting += 1;
@@ -3528,13 +3533,16 @@ function imageRenderedListener(evt) {
3528
3533
  if (evt.detail.viewportStatus === 'preRender') {
3529
3534
  return;
3530
3535
  }
3531
- src/* log */.cM.timeEnd(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE);
3532
- src/* log */.cM.timeEnd(TimingEnum.STUDY_TO_FIRST_IMAGE);
3533
- src/* log */.cM.timeEnd(TimingEnum.SCRIPT_TO_VIEW);
3536
+ const {
3537
+ TimingEnum
3538
+ } = src.Enums;
3539
+ src/* log */.Rm.timeEnd(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE);
3540
+ src/* log */.Rm.timeEnd(TimingEnum.STUDY_TO_FIRST_IMAGE);
3541
+ src/* log */.Rm.timeEnd(TimingEnum.SCRIPT_TO_VIEW);
3534
3542
  imageTiming.viewportsWaiting -= 1;
3535
3543
  evt.detail.element.removeEventListener(esm.EVENTS.IMAGE_RENDERED, imageRenderedListener);
3536
3544
  if (!imageTiming.viewportsWaiting) {
3537
- src/* log */.cM.timeEnd(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES);
3545
+ src/* log */.Rm.timeEnd(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES);
3538
3546
  }
3539
3547
  }
3540
3548
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/init.tsx
@@ -3664,8 +3672,8 @@ async function init({
3664
3672
  outlineOpacity: 1,
3665
3673
  outlineOpacityInactive: 0.65
3666
3674
  });
3667
- const metadataProvider = src["default"].classes.MetadataProvider;
3668
- esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.IU);
3675
+ const metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
3676
+ esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.FC);
3669
3677
  hangingProtocolService.registerImageLoadStrategy('interleaveCenter', interleaveCenterLoader);
3670
3678
  hangingProtocolService.registerImageLoadStrategy('interleaveTopToBottom', interleaveTopToBottom);
3671
3679
  hangingProtocolService.registerImageLoadStrategy('nth', interleaveNthLoader);
@@ -3704,6 +3712,16 @@ async function init({
3704
3712
  cornerstoneViewportService.setVolumesForViewport(viewport, volumeInputArray, presentations);
3705
3713
  }
3706
3714
  });
3715
+
3716
+ // resize the cornerstone viewport service when the grid size changes
3717
+ // IMPORTANT: this should happen outside of the OHIFCornerstoneViewport
3718
+ // since it will trigger a rerender of each viewport and each resizing
3719
+ // the offscreen canvas which would result in a performance hit, this should
3720
+ // done only once per grid resize here. Doing it once here, allows us to reduce
3721
+ // the refreshRage(in ms) to 10 from 50. I tried with even 1 or 5 ms it worked fine
3722
+ viewportGridService.subscribe(viewportGridService.EVENTS.GRID_SIZE_CHANGED, () => {
3723
+ cornerstoneViewportService.resize(true);
3724
+ });
3707
3725
  src_initContextMenu({
3708
3726
  cornerstoneViewportService,
3709
3727
  customizationService,
@@ -3767,7 +3785,7 @@ async function init({
3767
3785
  const imageLoadFailedHandler = ({
3768
3786
  detail
3769
3787
  }) => {
3770
- const handler = src/* errorHandler */.Po.getHTTPErrorHandler();
3788
+ const handler = src/* errorHandler */.r_.getHTTPErrorHandler();
3771
3789
  handler(detail.error);
3772
3790
  };
3773
3791
  const resetCrosshairs = evt => {
@@ -3849,12 +3867,12 @@ function _showCPURenderingModal(uiModalService, hangingProtocolService) {
3849
3867
  });
3850
3868
  }
3851
3869
  // EXTERNAL MODULE: ../../../node_modules/react-dropzone/dist/es/index.js + 5 modules
3852
- var es = __webpack_require__(74834);
3870
+ var es = __webpack_require__(5013);
3853
3871
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
3854
- var prop_types = __webpack_require__(3827);
3872
+ var prop_types = __webpack_require__(11374);
3855
3873
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
3856
3874
  // EXTERNAL MODULE: ../../../node_modules/classnames/index.js
3857
- var classnames = __webpack_require__(33901);
3875
+ var classnames = __webpack_require__(61466);
3858
3876
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
3859
3877
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/DicomFileUploader.ts
3860
3878
 
@@ -3878,7 +3896,7 @@ class UploadRejection {
3878
3896
  this.status = status;
3879
3897
  }
3880
3898
  }
3881
- class DicomFileUploader extends src/* PubSubService */.hC {
3899
+ class DicomFileUploader extends src/* PubSubService */.Rc {
3882
3900
  constructor(file, dataSource) {
3883
3901
  super(EVENTS);
3884
3902
  this._file = void 0;
@@ -4042,20 +4060,20 @@ const DicomUploadProgressItem = /*#__PURE__*/(0,react.memo)(({
4042
4060
  const getStatusIcon = () => {
4043
4061
  switch (dicomFileUploader.getStatus()) {
4044
4062
  case UploadStatus.Success:
4045
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
4063
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
4046
4064
  name: "status-tracked",
4047
4065
  className: "text-primary-light"
4048
4066
  });
4049
4067
  case UploadStatus.InProgress:
4050
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
4068
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
4051
4069
  name: "icon-transferring"
4052
4070
  });
4053
4071
  case UploadStatus.Failed:
4054
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
4072
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
4055
4073
  name: "icon-alert-small"
4056
4074
  });
4057
4075
  case UploadStatus.Cancelled:
4058
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
4076
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
4059
4077
  name: "icon-alert-outline"
4060
4078
  });
4061
4079
  default:
@@ -4080,7 +4098,7 @@ const DicomUploadProgressItem = /*#__PURE__*/(0,react.memo)(({
4080
4098
  className: "w-10 text-right"
4081
4099
  }, percentComplete, "%"), /*#__PURE__*/react.createElement("div", {
4082
4100
  className: "ml-auto flex cursor-pointer"
4083
- }, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
4101
+ }, /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
4084
4102
  className: "text-primary-active self-center",
4085
4103
  name: "close",
4086
4104
  onClick: cancelUpload
@@ -4310,7 +4328,7 @@ function DicomUploadProgress({
4310
4328
  className: "bg-primary-dark flex h-14 items-center px-1 pb-4 text-lg"
4311
4329
  }, numFilesCompleted === dicomFileUploaderArr.length ? /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("span", {
4312
4330
  className: NO_WRAP_ELLIPSIS_CLASS_NAMES
4313
- }, `${dicomFileUploaderArr.length} ${dicomFileUploaderArr.length > 1 ? 'files' : 'file'} completed.`), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
4331
+ }, `${dicomFileUploaderArr.length} ${dicomFileUploaderArr.length > 1 ? 'files' : 'file'} completed.`), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
4314
4332
  disabled: false,
4315
4333
  className: "ml-auto",
4316
4334
  onClick: onComplete
@@ -4331,7 +4349,7 @@ function DicomUploadProgress({
4331
4349
  className: "ml-auto flex w-6 justify-center"
4332
4350
  }, numFails > 0 && /*#__PURE__*/react.createElement("div", {
4333
4351
  onClick: () => setShowFailedOnly(currentShowFailedOnly => !currentShowFailedOnly)
4334
- }, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
4352
+ }, /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
4335
4353
  className: "cursor-pointer",
4336
4354
  name: "icon-status-alert"
4337
4355
  })));
@@ -4346,7 +4364,7 @@ function DicomUploadProgress({
4346
4364
  }, numFails > 0 ? `Completed with ${numFails} ${numFails > 1 ? 'errors' : 'error'}!` : 'Completed!'), getShowFailedOnlyIconComponent()) : /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
4347
4365
  ref: progressBarContainerRef,
4348
4366
  className: "flex-grow"
4349
- }, /*#__PURE__*/react.createElement(ui_src/* ProgressLoadingBar */.YE, {
4367
+ }, /*#__PURE__*/react.createElement(ui_src/* ProgressLoadingBar */.dD, {
4350
4368
  progress: showInfiniteProgressBar() ? undefined : Math.min(100, percentComplete)
4351
4369
  })), /*#__PURE__*/react.createElement("div", {
4352
4370
  className: "ml-1 flex w-24 items-center"
@@ -4395,7 +4413,7 @@ function DicomUpload({
4395
4413
  setDicomFileUploaderArr(acceptedFiles.map(file => new DicomFileUploader(file, dataSource)));
4396
4414
  }, []);
4397
4415
  const getDropZoneComponent = () => {
4398
- return /*#__PURE__*/react.createElement(es/* default */.Z, {
4416
+ return /*#__PURE__*/react.createElement(es/* default */.A, {
4399
4417
  onDrop: acceptedFiles => {
4400
4418
  onDrop(acceptedFiles);
4401
4419
  },
@@ -4406,23 +4424,23 @@ function DicomUpload({
4406
4424
  className: "dicom-upload-drop-area-border-dash m-5 flex h-full flex-col items-center justify-center"
4407
4425
  }), /*#__PURE__*/react.createElement("div", {
4408
4426
  className: "flex gap-3"
4409
- }, /*#__PURE__*/react.createElement(es/* default */.Z, {
4427
+ }, /*#__PURE__*/react.createElement(es/* default */.A, {
4410
4428
  onDrop: onDrop,
4411
4429
  noDrag: true
4412
4430
  }, ({
4413
4431
  getRootProps,
4414
4432
  getInputProps
4415
- }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
4433
+ }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
4416
4434
  disabled: false,
4417
4435
  onClick: () => {}
4418
- }, 'Add files', /*#__PURE__*/react.createElement("input", getInputProps())))), /*#__PURE__*/react.createElement(es/* default */.Z, {
4436
+ }, 'Add files', /*#__PURE__*/react.createElement("input", getInputProps())))), /*#__PURE__*/react.createElement(es/* default */.A, {
4419
4437
  onDrop: onDrop,
4420
4438
  noDrag: true
4421
4439
  }, ({
4422
4440
  getRootProps,
4423
4441
  getInputProps
4424
- }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
4425
- type: ui_src/* ButtonEnums.type */.LZ.dt.secondary,
4442
+ }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
4443
+ type: ui_src/* ButtonEnums.type */.Ny.NW.secondary,
4426
4444
  disabled: false,
4427
4445
  onClick: () => {}
4428
4446
  }, 'Add folder', /*#__PURE__*/react.createElement("input", _extends({}, getInputProps(), {
@@ -4493,10 +4511,10 @@ function getCustomizationModule() {
4493
4511
  }];
4494
4512
  }
4495
4513
  /* harmony default export */ const src_getCustomizationModule = (getCustomizationModule);
4496
- // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 10 modules
4497
- var gl_matrix_esm = __webpack_require__(45451);
4514
+ // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js
4515
+ var gl_matrix_esm = __webpack_require__(84822);
4498
4516
  // EXTERNAL MODULE: ../../../node_modules/html2canvas/dist/html2canvas.esm.js
4499
- var html2canvas_esm = __webpack_require__(76010);
4517
+ var html2canvas_esm = __webpack_require__(90445);
4500
4518
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx
4501
4519
 
4502
4520
 
@@ -4514,7 +4532,7 @@ const CornerstoneViewportDownloadForm = ({
4514
4532
  activeViewportId: activeViewportIdProp,
4515
4533
  cornerstoneViewportService
4516
4534
  }) => {
4517
- const enabledElement = (0,state/* getEnabledElement */.K8)(activeViewportIdProp);
4535
+ const enabledElement = (0,state/* getEnabledElement */.kJ)(activeViewportIdProp);
4518
4536
  const activeViewportElement = enabledElement?.element;
4519
4537
  const activeViewportEnabledElement = (0,esm.getEnabledElement)(activeViewportElement);
4520
4538
  const {
@@ -4591,6 +4609,7 @@ const CornerstoneViewportDownloadForm = ({
4591
4609
  renderingEngine.resize();
4592
4610
 
4593
4611
  // Trigger the render on the viewport to update the on screen
4612
+ downloadViewport.resetCamera();
4594
4613
  downloadViewport.render();
4595
4614
  downloadViewportElement.addEventListener(esm.Enums.Events.IMAGE_RENDERED, function updateViewport(event) {
4596
4615
  const enabledElement = (0,esm.getEnabledElement)(event.target);
@@ -4697,19 +4716,18 @@ const CornerstoneViewportDownloadForm = ({
4697
4716
  const downloadBlob = (filename, fileType) => {
4698
4717
  const file = `${filename}.${fileType}`;
4699
4718
  const divForDownloadViewport = document.querySelector(`div[data-viewport-uid="${VIEWPORT_ID}"]`);
4700
- (0,html2canvas_esm/* default */.Z)(divForDownloadViewport).then(canvas => {
4719
+ (0,html2canvas_esm/* default */.A)(divForDownloadViewport).then(canvas => {
4701
4720
  const link = document.createElement('a');
4702
4721
  link.download = file;
4703
4722
  link.href = canvas.toDataURL(fileType, 1.0);
4704
4723
  link.click();
4705
4724
  });
4706
4725
  };
4707
- return /*#__PURE__*/react.createElement(ui_src/* ViewportDownloadForm */.mQ, {
4726
+ return /*#__PURE__*/react.createElement(ui_src/* ViewportDownloadForm */.VS, {
4708
4727
  onClose: onClose,
4709
4728
  minimumSize: MINIMUM_SIZE,
4710
4729
  maximumSize: MAX_TEXTURE_SIZE,
4711
4730
  defaultSize: DEFAULT_SIZE,
4712
- canvasClass: 'cornerstone-canvas',
4713
4731
  activeViewportElement: activeViewportElement,
4714
4732
  enableViewport: enableViewport,
4715
4733
  disableViewport: disableViewport,
@@ -5200,9 +5218,9 @@ function commandsModule({
5200
5218
  if (viewport instanceof esm.BaseVolumeViewport) {
5201
5219
  const camera = viewport.getCamera();
5202
5220
  const rotAngle = rotation * Math.PI / 180;
5203
- const rotMat = gl_matrix_esm/* mat4.identity */._E.identity(new Float32Array(16));
5204
- gl_matrix_esm/* mat4.rotate */._E.rotate(rotMat, rotMat, rotAngle, camera.viewPlaneNormal);
5205
- const rotatedViewUp = gl_matrix_esm/* vec3.transformMat4 */.R3.transformMat4(gl_matrix_esm/* vec3.create */.R3.create(), camera.viewUp, rotMat);
5221
+ const rotMat = gl_matrix_esm/* mat4.identity */.pB.identity(new Float32Array(16));
5222
+ gl_matrix_esm/* mat4.rotate */.pB.rotate(rotMat, rotMat, rotAngle, camera.viewPlaneNormal);
5223
+ const rotatedViewUp = gl_matrix_esm/* vec3.transformMat4 */.eR.transformMat4(gl_matrix_esm/* vec3.create */.eR.create(), camera.viewUp, rotMat);
5206
5224
  viewport.setCamera({
5207
5225
  viewUp: rotatedViewUp
5208
5226
  });
@@ -6439,7 +6457,7 @@ class ToolGroupService {
6439
6457
  this.viewportGridService = viewportGridService;
6440
6458
  this.listeners = {};
6441
6459
  this.EVENTS = ToolGroupService_EVENTS;
6442
- Object.assign(this, src/* pubSubServiceInterface */.KZ);
6460
+ Object.assign(this, src/* pubSubServiceInterface */.Ml);
6443
6461
  }
6444
6462
  onModeExit() {
6445
6463
  this.destroy();
@@ -6711,7 +6729,7 @@ class SyncGroupService {
6711
6729
  this.listeners = {};
6712
6730
  this.EVENTS = SyncGroupService_EVENTS;
6713
6731
  //
6714
- Object.assign(this, src/* pubSubServiceInterface */.KZ);
6732
+ Object.assign(this, src/* pubSubServiceInterface */.Ml);
6715
6733
  }
6716
6734
  _createSynchronizer(type, id, options) {
6717
6735
  const syncCreator = this.synchronizerCreators[type.toLowerCase()];
@@ -6811,7 +6829,7 @@ SyncGroupService.REGISTRATION = {
6811
6829
 
6812
6830
  /* harmony default export */ const services_SyncGroupService = (SyncGroupService);
6813
6831
  // EXTERNAL MODULE: ../../../node_modules/lodash.isequal/index.js
6814
- var lodash_isequal = __webpack_require__(10311);
6832
+ var lodash_isequal = __webpack_require__(71932);
6815
6833
  var lodash_isequal_default = /*#__PURE__*/__webpack_require__.n(lodash_isequal);
6816
6834
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/transitions.ts
6817
6835
  /**
@@ -6926,7 +6944,7 @@ const SEGMENT_CONSTANT = {
6926
6944
  isLocked: false
6927
6945
  };
6928
6946
  const VOLUME_LOADER_SCHEME = 'cornerstoneStreamingImageVolume';
6929
- class SegmentationService extends src/* PubSubService */.hC {
6947
+ class SegmentationService extends src/* PubSubService */.Rc {
6930
6948
  constructor({
6931
6949
  servicesManager
6932
6950
  }) {
@@ -8806,6 +8824,12 @@ class ViewportInfo {
8806
8824
  getViewportOptions() {
8807
8825
  return this.viewportOptions;
8808
8826
  }
8827
+ getPresentationIds() {
8828
+ const {
8829
+ presentationIds
8830
+ } = this.viewportOptions;
8831
+ return presentationIds;
8832
+ }
8809
8833
  setDisplaySetOptions(displaySetOptions) {
8810
8834
  this.displaySetOptions = displaySetOptions;
8811
8835
  }
@@ -8892,18 +8916,23 @@ const CornerstoneViewportService_EVENTS = {
8892
8916
  * Handles cornerstone viewport logic including enabling, disabling, and
8893
8917
  * updating the viewport.
8894
8918
  */
8895
- class CornerstoneViewportService extends src/* PubSubService */.hC {
8919
+ class CornerstoneViewportService extends src/* PubSubService */.Rc {
8896
8920
  constructor(servicesManager) {
8897
8921
  super(CornerstoneViewportService_EVENTS);
8898
8922
  this.renderingEngine = void 0;
8899
8923
  this.viewportsById = new Map();
8900
8924
  this.viewportGridResizeObserver = void 0;
8901
8925
  this.viewportsDisplaySets = new Map();
8926
+ this.beforeResizePositionPresentations = new Map();
8902
8927
  // Some configs
8903
8928
  this.enableResizeDetector = void 0;
8904
8929
  this.resizeRefreshRateMs = void 0;
8905
8930
  this.resizeRefreshMode = void 0;
8906
8931
  this.servicesManager = null;
8932
+ this.resizeQueue = [];
8933
+ this.viewportResizeTimer = null;
8934
+ this.gridResizeDelay = 50;
8935
+ this.gridResizeTimeOut = null;
8907
8936
  this.renderingEngine = null;
8908
8937
  this.viewportGridResizeObserver = null;
8909
8938
  this.servicesManager = servicesManager;
@@ -8941,13 +8970,28 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
8941
8970
  }
8942
8971
 
8943
8972
  /**
8944
- * It triggers the resize on the rendering engine.
8973
+ * It triggers the resize on the rendering engine, and renders the viewports
8974
+ *
8975
+ * @param isGridResize - if the resize is triggered by a grid resize
8976
+ * this is used to avoid double resize of the viewports since if the
8977
+ * grid is resized, all viewports will be resized so there is no need
8978
+ * to resize them individually which will get triggered by their
8979
+ * individual resize observers
8945
8980
  */
8946
- resize() {
8947
- const immediate = true;
8948
- const keepCamera = true;
8949
- this.renderingEngine.resize(immediate, keepCamera);
8950
- this.renderingEngine.render();
8981
+ resize(isGridResize = false) {
8982
+ // if there is a grid resize happening, it means the viewport grid
8983
+ // has been manipulated (e.g., panels closed, added, etc.) and we need
8984
+ // to resize all viewports, so we will add a timeout here to make sure
8985
+ // we don't double resize the viewports when viewports in the grid are
8986
+ // resized individually
8987
+ if (isGridResize) {
8988
+ this.performResize();
8989
+ this.resetGridResizeTimeout();
8990
+ this.resizeQueue = [];
8991
+ clearTimeout(this.viewportResizeTimer);
8992
+ } else {
8993
+ this.enqueueViewportResizeRequest();
8994
+ }
8951
8995
  }
8952
8996
 
8953
8997
  /**
@@ -8983,101 +9027,222 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
8983
9027
  this.viewportsById.delete(viewportId);
8984
9028
  this.viewportsDisplaySets.delete(viewportId);
8985
9029
  }
8986
- setPresentations(viewport, presentations) {
8987
- const properties = presentations?.lutPresentation?.properties;
8988
- if (properties) {
8989
- viewport.setProperties(properties);
9030
+
9031
+ /**
9032
+ * Sets the presentations for a given viewport. Presentations is an object
9033
+ * that can define the lut or position for a viewport.
9034
+ *
9035
+ * @param viewportId - The ID of the viewport.
9036
+ * @param presentations - The presentations to apply to the viewport.
9037
+ */
9038
+ setPresentations(viewportId, presentations) {
9039
+ const viewport = this.getCornerstoneViewport(viewportId);
9040
+ if (!viewport) {
9041
+ return;
9042
+ }
9043
+ if (!presentations) {
9044
+ return;
8990
9045
  }
8991
- const camera = presentations?.positionPresentation?.camera;
8992
- if (camera) {
8993
- viewport.setCamera(camera);
9046
+ const {
9047
+ lutPresentation,
9048
+ positionPresentation
9049
+ } = presentations;
9050
+ if (lutPresentation) {
9051
+ const {
9052
+ presentation
9053
+ } = lutPresentation;
9054
+ if (viewport instanceof esm.BaseVolumeViewport) {
9055
+ Object.entries(presentation).forEach(([volumeId, properties]) => {
9056
+ viewport.setProperties(properties, volumeId);
9057
+ });
9058
+ } else {
9059
+ viewport.setProperties(presentation);
9060
+ }
9061
+ }
9062
+ if (positionPresentation) {
9063
+ const {
9064
+ viewPlaneNormal,
9065
+ viewUp,
9066
+ zoom,
9067
+ pan
9068
+ } = positionPresentation.presentation;
9069
+ viewport.setCamera({
9070
+ viewPlaneNormal,
9071
+ viewUp
9072
+ });
9073
+ if (zoom !== undefined) {
9074
+ viewport.setZoom(zoom);
9075
+ }
9076
+ if (pan !== undefined) {
9077
+ viewport.setPan(pan);
9078
+ }
8994
9079
  }
8995
9080
  }
8996
- getPresentation(viewportId) {
9081
+
9082
+ /**
9083
+ * Retrieves the position presentation information for a given viewport.
9084
+ * @param viewportId The ID of the viewport.
9085
+ * @returns The position presentation object containing various properties
9086
+ * such as ID, viewport type, initial image index, view plane normal, view up, zoom, and pan.
9087
+ */
9088
+ getPositionPresentation(viewportId) {
8997
9089
  const viewportInfo = this.viewportsById.get(viewportId);
8998
9090
  if (!viewportInfo) {
8999
9091
  return;
9000
9092
  }
9093
+ const presentationIds = viewportInfo.getPresentationIds();
9094
+ if (!presentationIds) {
9095
+ return;
9096
+ }
9001
9097
  const {
9002
- viewportType,
9003
- presentationIds
9004
- } = viewportInfo.getViewportOptions();
9098
+ positionPresentationId
9099
+ } = presentationIds;
9005
9100
  const csViewport = this.getCornerstoneViewport(viewportId);
9006
9101
  if (!csViewport) {
9007
9102
  return;
9008
9103
  }
9009
- const properties = csViewport.getProperties();
9010
- if (properties.isComputedVOI) {
9011
- delete properties.voiRange;
9012
- delete properties.VOILUTFunction;
9013
- }
9104
+ const {
9105
+ viewPlaneNormal,
9106
+ viewUp
9107
+ } = csViewport.getCamera();
9014
9108
  const initialImageIndex = csViewport.getCurrentImageIdIndex();
9015
- const camera = csViewport.getCamera();
9109
+ const zoom = csViewport.getZoom();
9110
+ const pan = csViewport.getPan();
9016
9111
  return {
9017
- presentationIds,
9018
- viewportType: !viewportType || viewportType === 'stack' ? 'stack' : 'volume',
9019
- properties,
9020
- initialImageIndex,
9021
- camera
9112
+ id: positionPresentationId,
9113
+ viewportType: viewportInfo.getViewportType(),
9114
+ presentation: {
9115
+ initialImageIndex,
9116
+ viewUp,
9117
+ viewPlaneNormal,
9118
+ zoom,
9119
+ pan
9120
+ }
9022
9121
  };
9023
9122
  }
9123
+
9124
+ /**
9125
+ * Retrieves the LUT (Lookup Table) presentation for a given viewport.
9126
+ * @param viewportId The ID of the viewport.
9127
+ * @returns The LUT presentation object, or undefined if the viewport does not exist.
9128
+ */
9129
+ getLutPresentation(viewportId) {
9130
+ const viewportInfo = this.viewportsById.get(viewportId);
9131
+ if (!viewportInfo) {
9132
+ return;
9133
+ }
9134
+ const presentationIds = viewportInfo.getPresentationIds();
9135
+ if (!presentationIds) {
9136
+ return;
9137
+ }
9138
+ const {
9139
+ lutPresentationId
9140
+ } = presentationIds;
9141
+ const csViewport = this.getCornerstoneViewport(viewportId);
9142
+ if (!csViewport) {
9143
+ return;
9144
+ }
9145
+ const cleanProperties = properties => {
9146
+ if (properties.isComputedVOI) {
9147
+ delete properties.voiRange;
9148
+ delete properties.VOILUTFunction;
9149
+ }
9150
+ return properties;
9151
+ };
9152
+ const presentation = csViewport instanceof esm.BaseVolumeViewport ? new Map() : cleanProperties(csViewport.getProperties());
9153
+ if (presentation instanceof Map) {
9154
+ csViewport.getActors().forEach(({
9155
+ uid: volumeId
9156
+ }) => {
9157
+ const properties = cleanProperties(csViewport.getProperties(volumeId));
9158
+ presentation.set(volumeId, properties);
9159
+ });
9160
+ }
9161
+ return {
9162
+ id: lutPresentationId,
9163
+ viewportType: viewportInfo.getViewportType(),
9164
+ presentation
9165
+ };
9166
+ }
9167
+
9168
+ /**
9169
+ * Retrieves the presentations for a given viewport.
9170
+ * @param viewportId - The ID of the viewport.
9171
+ * @returns The presentations for the viewport.
9172
+ */
9173
+ getPresentations(viewportId) {
9174
+ const viewportInfo = this.viewportsById.get(viewportId);
9175
+ if (!viewportInfo) {
9176
+ return;
9177
+ }
9178
+ const positionPresentation = this.getPositionPresentation(viewportId);
9179
+ const lutPresentation = this.getLutPresentation(viewportId);
9180
+ return {
9181
+ positionPresentation,
9182
+ lutPresentation
9183
+ };
9184
+ }
9185
+
9186
+ /**
9187
+ * Stores the presentation state for a given viewport inside the
9188
+ * stateSyncService. This is used to persist the presentation state
9189
+ * across different scenarios e.g., when the viewport is changing the
9190
+ * display set, or when the viewport is moving to a different layout.
9191
+ *
9192
+ * @param viewportId The ID of the viewport.
9193
+ */
9024
9194
  storePresentation({
9025
9195
  viewportId
9026
9196
  }) {
9027
- const {
9028
- stateSyncService,
9029
- syncGroupService
9030
- } = this.servicesManager.services;
9031
- let presentation;
9197
+ let presentations = null;
9032
9198
  try {
9033
- presentation = this.getPresentation(viewportId);
9199
+ presentations = this.getPresentations(viewportId);
9200
+ if (!presentations?.positionPresentation && !presentations?.lutPresentation) {
9201
+ return;
9202
+ }
9034
9203
  } catch (error) {
9035
9204
  console.warn(error);
9036
- }
9037
- if (!presentation || !presentation.presentationIds) {
9038
9205
  return;
9039
9206
  }
9207
+ const {
9208
+ stateSyncService,
9209
+ syncGroupService
9210
+ } = this.servicesManager.services;
9040
9211
  const synchronizers = syncGroupService.getSynchronizersForViewport(viewportId, this.renderingEngine.id);
9041
9212
  const {
9042
- lutPresentationStore,
9043
9213
  positionPresentationStore,
9044
- synchronizersStore
9214
+ synchronizersStore,
9215
+ lutPresentationStore
9045
9216
  } = stateSyncService.getState();
9046
9217
  const {
9047
- presentationIds
9048
- } = presentation;
9218
+ lutPresentation,
9219
+ positionPresentation
9220
+ } = presentations;
9049
9221
  const {
9050
- lutPresentationId,
9051
- positionPresentationId
9052
- } = presentationIds || {};
9053
- const storeState = {};
9222
+ id: positionPresentationId
9223
+ } = positionPresentation;
9224
+ const {
9225
+ id: lutPresentationId
9226
+ } = lutPresentation;
9227
+ const updateStore = (store, id, value) => ({
9228
+ ...store,
9229
+ [id]: value
9230
+ });
9231
+ const newState = {};
9054
9232
  if (lutPresentationId) {
9055
- storeState.lutPresentationStore = {
9056
- ...lutPresentationStore,
9057
- [lutPresentationId]: presentation
9058
- };
9233
+ newState.lutPresentationStore = updateStore(lutPresentationStore, lutPresentationId, lutPresentation);
9059
9234
  }
9060
9235
  if (positionPresentationId) {
9061
- storeState.positionPresentationStore = {
9062
- ...positionPresentationStore,
9063
- [positionPresentationId]: presentation
9064
- };
9236
+ newState.positionPresentationStore = updateStore(positionPresentationStore, positionPresentationId, positionPresentation);
9065
9237
  }
9066
9238
  if (synchronizers?.length) {
9067
- storeState.synchronizersStore = {
9068
- ...synchronizersStore,
9069
- [viewportId]: synchronizers.map(synchronizer => {
9070
- const sourceViewports = synchronizer.getSourceViewports();
9071
- const targetViewports = synchronizer.getTargetViewports();
9072
- return {
9073
- id: synchronizer.id,
9074
- sourceViewports: [...sourceViewports],
9075
- targetViewports: [...targetViewports]
9076
- };
9077
- })
9078
- };
9239
+ newState.synchronizersStore = updateStore(synchronizersStore, viewportId, synchronizers.map(synchronizer => ({
9240
+ id: synchronizer.id,
9241
+ sourceViewports: [...synchronizer.getSourceViewports()],
9242
+ targetViewports: [...synchronizer.getTargetViewports()]
9243
+ })));
9079
9244
  }
9080
- stateSyncService.store(storeState);
9245
+ stateSyncService.store(newState);
9081
9246
  }
9082
9247
 
9083
9248
  /**
@@ -9157,6 +9322,13 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9157
9322
  });
9158
9323
  });
9159
9324
  }
9325
+
9326
+ /**
9327
+ * Retrieves the Cornerstone viewport with the specified ID.
9328
+ *
9329
+ * @param viewportId - The ID of the viewport.
9330
+ * @returns The Cornerstone viewport object if found, otherwise null.
9331
+ */
9160
9332
  getCornerstoneViewport(viewportId) {
9161
9333
  const viewportInfo = this.getViewportInfo(viewportId);
9162
9334
  if (!viewportInfo || !this.renderingEngine || this.renderingEngine.hasBeenDestroyed) {
@@ -9165,10 +9337,40 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9165
9337
  const viewport = this.renderingEngine.getViewport(viewportId);
9166
9338
  return viewport;
9167
9339
  }
9340
+
9341
+ /**
9342
+ * Retrieves the viewport information for a given viewport ID. The viewport information
9343
+ * is the OHIF construct that holds different options and data for a given viewport and
9344
+ * is different from the cornerstone viewport.
9345
+ *
9346
+ * @param viewportId The ID of the viewport.
9347
+ * @returns The viewport information.
9348
+ */
9168
9349
  getViewportInfo(viewportId) {
9169
9350
  return this.viewportsById.get(viewportId);
9170
9351
  }
9171
- async _setStackViewport(viewport, viewportData, viewportInfo, presentations) {
9352
+
9353
+ /**
9354
+ * Looks through the viewports to see if the specified measurement can be
9355
+ * displayed in one of the viewports.
9356
+ *
9357
+ * @param measurement
9358
+ * The measurement that is desired to view.
9359
+ * @param activeViewportId - the index that was active at the time the jump
9360
+ * was initiated.
9361
+ * @return the viewportId that the measurement should be displayed in.
9362
+ */
9363
+ getViewportIdToJump(activeViewportId, displaySetInstanceUID, cameraProps) {
9364
+ const viewportInfo = this.getViewportInfo(activeViewportId);
9365
+ const {
9366
+ referencedImageId
9367
+ } = cameraProps;
9368
+ if (viewportInfo?.contains(displaySetInstanceUID, referencedImageId)) {
9369
+ return activeViewportId;
9370
+ }
9371
+ return [...this.viewportsById.values()].find(viewportInfo => viewportInfo.contains(displaySetInstanceUID, referencedImageId))?.viewportId ?? null;
9372
+ }
9373
+ async _setStackViewport(viewport, viewportData, viewportInfo, presentations = {}) {
9172
9374
  const displaySetOptions = viewportInfo.getDisplaySetOptions();
9173
9375
  const {
9174
9376
  imageIds,
@@ -9210,10 +9412,7 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9210
9412
  viewport.setProperties({
9211
9413
  ...properties
9212
9414
  });
9213
- const camera = presentations.positionPresentation?.camera;
9214
- if (camera) {
9215
- viewport.setCamera(camera);
9216
- }
9415
+ this.setPresentations(viewport.id, presentations);
9217
9416
  });
9218
9417
  }
9219
9418
  _getInitialImageIndexForViewport(viewportInfo, imageIds) {
@@ -9265,7 +9464,7 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9265
9464
  }
9266
9465
  return 0;
9267
9466
  }
9268
- async _setVolumeViewport(viewport, viewportData, viewportInfo, presentations) {
9467
+ async _setVolumeViewport(viewport, viewportData, viewportInfo, presentations = {}) {
9269
9468
  // TODO: We need to overhaul the way data sources work so requests can be made
9270
9469
  // async. I think we should follow the image loader pattern which is async and
9271
9470
  // has a cache behind it.
@@ -9376,7 +9575,7 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9376
9575
  }) => {
9377
9576
  viewport.setProperties(properties, volumeId);
9378
9577
  });
9379
- this.setPresentations(viewport, presentations);
9578
+ this.setPresentations(viewport.id, presentations);
9380
9579
 
9381
9580
  // load any secondary displaySets
9382
9581
  const displaySetInstanceUIDs = this.viewportsDisplaySets.get(viewport.id);
@@ -9499,11 +9698,11 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9499
9698
  _setDisplaySets(viewport, viewportData, viewportInfo, presentations = {}) {
9500
9699
  if (viewport instanceof esm.StackViewport) {
9501
9700
  return this._setStackViewport(viewport, viewportData, viewportInfo, presentations);
9502
- } else if (viewport instanceof esm.VolumeViewport || viewport instanceof esm.VolumeViewport3D) {
9701
+ }
9702
+ if ([esm.VolumeViewport, esm.VolumeViewport3D].some(type => viewport instanceof type)) {
9503
9703
  return this._setVolumeViewport(viewport, viewportData, viewportInfo, presentations);
9504
- } else {
9505
- throw new Error('Unknown viewport type');
9506
9704
  }
9705
+ throw new Error('Unknown viewport type');
9507
9706
  }
9508
9707
 
9509
9708
  /**
@@ -9566,26 +9765,57 @@ class CornerstoneViewportService extends src/* PubSubService */.hC {
9566
9765
  return images[0].FrameOfReferenceUID;
9567
9766
  }
9568
9767
  }
9768
+ enqueueViewportResizeRequest() {
9769
+ this.resizeQueue.push(false); // false indicates viewport resize
9569
9770
 
9570
- /**
9571
- * Looks through the viewports to see if the specified measurement can be
9572
- * displayed in one of the viewports.
9573
- *
9574
- * @param measurement
9575
- * The measurement that is desired to view.
9576
- * @param activeViewportId - the index that was active at the time the jump
9577
- * was initiated.
9578
- * @return the viewportId that the measurement should be displayed in.
9579
- */
9580
- getViewportIdToJump(activeViewportId, displaySetInstanceUID, cameraProps) {
9581
- const viewportInfo = this.getViewportInfo(activeViewportId);
9582
- const {
9583
- referencedImageId
9584
- } = cameraProps;
9585
- if (viewportInfo?.contains(displaySetInstanceUID, referencedImageId)) {
9586
- return activeViewportId;
9771
+ clearTimeout(this.viewportResizeTimer);
9772
+ this.viewportResizeTimer = setTimeout(() => {
9773
+ this.processViewportResizeQueue();
9774
+ }, this.gridResizeDelay);
9775
+ }
9776
+ processViewportResizeQueue() {
9777
+ const isGridResizeInQueue = this.resizeQueue.some(isGridResize => isGridResize);
9778
+ if (this.resizeQueue.length > 0 && !isGridResizeInQueue && !this.gridResizeTimeOut) {
9779
+ this.performResize();
9587
9780
  }
9588
- return [...this.viewportsById.values()].find(viewportInfo => viewportInfo.contains(displaySetInstanceUID, referencedImageId))?.viewportId ?? null;
9781
+
9782
+ // Clear the queue after processing viewport resizes
9783
+ this.resizeQueue = [];
9784
+ }
9785
+ performResize() {
9786
+ const isImmediate = false;
9787
+ const viewports = this.getRenderingEngine().getViewports();
9788
+
9789
+ // Store the current position presentations for each viewport.
9790
+ viewports.forEach(({
9791
+ id
9792
+ }) => {
9793
+ const presentation = this.getPositionPresentation(id);
9794
+ this.beforeResizePositionPresentations.set(id, presentation);
9795
+ });
9796
+
9797
+ // Resize the rendering engine and render.
9798
+ const renderingEngine = this.renderingEngine;
9799
+ renderingEngine.resize(isImmediate);
9800
+ renderingEngine.render();
9801
+
9802
+ // Reset the camera for viewports that should reset their camera on resize,
9803
+ // which means only those viewports that have a zoom level of 1.
9804
+ this.beforeResizePositionPresentations.forEach((positionPresentation, viewportId) => {
9805
+ this.setPresentations(viewportId, {
9806
+ positionPresentation
9807
+ });
9808
+ });
9809
+
9810
+ // Resize and render the rendering engine again.
9811
+ renderingEngine.resize(isImmediate);
9812
+ renderingEngine.render();
9813
+ }
9814
+ resetGridResizeTimeout() {
9815
+ clearTimeout(this.gridResizeTimeOut);
9816
+ this.gridResizeTimeOut = setTimeout(() => {
9817
+ this.gridResizeTimeOut = null;
9818
+ }, this.gridResizeDelay);
9589
9819
  }
9590
9820
  }
9591
9821
  CornerstoneViewportService_class = CornerstoneViewportService;
@@ -9603,7 +9833,7 @@ CornerstoneViewportService.REGISTRATION = {
9603
9833
 
9604
9834
 
9605
9835
  // EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
9606
- var dicomweb_client_es = __webpack_require__(97604);
9836
+ var dicomweb_client_es = __webpack_require__(36922);
9607
9837
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/dicomLoaderService.js
9608
9838
 
9609
9839
 
@@ -9652,13 +9882,13 @@ const cornerstoneRetriever = imageId => {
9652
9882
  return image && image.data && image.data.byteArray.buffer;
9653
9883
  });
9654
9884
  };
9655
- const wadorsRetriever = (url, studyInstanceUID, seriesInstanceUID, sopInstanceUID, headers = src.DICOMWeb.getAuthorizationHeader(), errorInterceptor = src/* errorHandler */.Po.getHTTPErrorHandler()) => {
9885
+ const wadorsRetriever = (url, studyInstanceUID, seriesInstanceUID, sopInstanceUID, headers = src.DICOMWeb.getAuthorizationHeader(), errorInterceptor = src/* errorHandler */.r_.getHTTPErrorHandler()) => {
9656
9886
  const config = {
9657
9887
  url,
9658
9888
  headers,
9659
9889
  errorInterceptor
9660
9890
  };
9661
- const dicomWeb = new dicomweb_client_es.api.DICOMwebClient(config);
9891
+ const dicomWeb = new dicomweb_client_es/* api */.FH.DICOMwebClient(config);
9662
9892
  return dicomWeb.retrieveInstance({
9663
9893
  studyInstanceUID,
9664
9894
  seriesInstanceUID,
@@ -9774,10 +10004,10 @@ class DicomLoaderService {
9774
10004
  const dicomLoaderService = new DicomLoaderService();
9775
10005
  /* harmony default export */ const utils_dicomLoaderService = (dicomLoaderService);
9776
10006
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/package.json
9777
- const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-cornerstone"}');
10007
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-cornerstone"}');
9778
10008
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/id.js
9779
10009
 
9780
- const id = package_namespaceObject.u2;
10010
+ const id = package_namespaceObject.UU;
9781
10011
 
9782
10012
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/index.ts
9783
10013
 
@@ -9807,7 +10037,7 @@ function src_extends() { src_extends = Object.assign ? Object.assign.bind() : fu
9807
10037
 
9808
10038
 
9809
10039
  const Component = /*#__PURE__*/react.lazy(() => {
9810
- return Promise.all(/* import() */[__webpack_require__.e(23), __webpack_require__.e(181)]).then(__webpack_require__.bind(__webpack_require__, 86181));
10040
+ return __webpack_require__.e(/* import() */ 889).then(__webpack_require__.bind(__webpack_require__, 1889));
9811
10041
  });
9812
10042
  const OHIFCornerstoneViewport = props => {
9813
10043
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -9830,7 +10060,7 @@ const cornerstoneExtension = {
9830
10060
  esm.imageLoadPoolManager.clearRequestStack(type);
9831
10061
  esm.imageRetrievalPoolManager.clearRequestStack(type);
9832
10062
  });
9833
- (0,state/* reset */.mc)();
10063
+ (0,state/* reset */.cL)();
9834
10064
  },
9835
10065
  /**
9836
10066
  * Register the Cornerstone 3D services and set them up for use.
@@ -9885,7 +10115,7 @@ const cornerstoneExtension = {
9885
10115
  cornerstoneTools: dist_esm
9886
10116
  };
9887
10117
  },
9888
- getEnabledElement: state/* getEnabledElement */.K8,
10118
+ getEnabledElement: state/* getEnabledElement */.kJ,
9889
10119
  dicomLoaderService: utils_dicomLoaderService
9890
10120
  }
9891
10121
  }, {
@@ -9907,13 +10137,13 @@ const cornerstoneExtension = {
9907
10137
 
9908
10138
  /***/ }),
9909
10139
 
9910
- /***/ 73704:
10140
+ /***/ 71353:
9911
10141
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9912
10142
 
9913
10143
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9914
- /* harmony export */ K8: () => (/* binding */ getEnabledElement),
9915
- /* harmony export */ Yc: () => (/* binding */ setEnabledElement),
9916
- /* harmony export */ mc: () => (/* binding */ reset)
10144
+ /* harmony export */ cL: () => (/* binding */ reset),
10145
+ /* harmony export */ kJ: () => (/* binding */ getEnabledElement),
10146
+ /* harmony export */ ye: () => (/* binding */ setEnabledElement)
9917
10147
  /* harmony export */ });
9918
10148
  const state = {
9919
10149
  // The `defaultContext` of an extension's commandsModule
@@ -9949,13 +10179,13 @@ const reset = () => {
9949
10179
 
9950
10180
  /***/ }),
9951
10181
 
9952
- /***/ 87172:
10182
+ /***/ 1663:
9953
10183
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9954
10184
 
9955
10185
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9956
- /* harmony export */ Z: () => (/* binding */ getSOPInstanceAttributes)
10186
+ /* harmony export */ A: () => (/* binding */ getSOPInstanceAttributes)
9957
10187
  /* harmony export */ });
9958
- /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64225);
10188
+ /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11953);
9959
10189
 
9960
10190
 
9961
10191
  /**