@ohif/app 3.7.0-beta.44 → 3.7.0-beta.46

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 (24) hide show
  1. package/dist/{150.bundle.7be19d85d4a4427162b9.js → 150.bundle.2fa62b4d658df1500a7a.js} +69 -2
  2. package/dist/{181.bundle.f4289d6b1c5d35831e37.js → 181.bundle.f5476625f4ca901a1b91.js} +9 -3
  3. package/dist/{236.bundle.b8ef36ef4c5e4e5c3d2b.js → 236.bundle.c0a68163699ecfe3169a.js} +25 -11
  4. package/dist/{250.bundle.ee4bcf159c4d610acc3e.js → 250.bundle.1c1cb3520a9285138cfa.js} +18 -6
  5. package/dist/{30.bundle.21b1175bc35138643825.js → 30.bundle.c0b2fa8984080ebcfbbc.js} +3 -1
  6. package/dist/{378.bundle.b7a073e9ed3fce6e27a5.js → 378.bundle.61261ee41e0ea0955440.js} +8 -6
  7. package/dist/{869.bundle.6375669c18e0907b248d.js → 451.bundle.a08889b823fb10803bd8.js} +8 -59
  8. package/dist/{810.bundle.b8f43b6b094a0720e994.js → 471.bundle.3238a0647d80970085f7.js} +6 -58
  9. package/dist/{506.bundle.65256204be221475de80.js → 506.bundle.b23fa19d91dd23ab44be.js} +69 -2
  10. package/dist/{663.bundle.5188b8ef1cd9a46373d9.js → 663.bundle.f5db124e3e922e61e76b.js} +27 -9
  11. package/dist/{678.bundle.5289463d7f419d56f8f1.js → 678.bundle.c07616be5e27371d875c.js} +63 -21
  12. package/dist/{821.bundle.fcfa6ec47f096018c0e9.js → 821.bundle.d175d0a8f3f0148a1993.js} +79 -29
  13. package/dist/{app.bundle.9c84ff949c1d4b8f555f.js → app.bundle.7e5633a7d73fc76a884d.js} +237 -91
  14. package/dist/index.html +1 -1
  15. package/dist/sw.js +1 -1
  16. package/package.json +18 -18
  17. /package/dist/{12.bundle.e8a38369f1a90100362f.js → 12.bundle.cff58bede0136dc8d013.js} +0 -0
  18. /package/dist/{128.bundle.c4be183e141214e291da.js → 128.bundle.620a2fdce44958dbb9fb.js} +0 -0
  19. /package/dist/{281.bundle.d394ad2bcce3cf7b325f.js → 281.bundle.be238c748373d907dffe.js} +0 -0
  20. /package/dist/{348.bundle.fdc18553ec7c1b4f6a80.js → 348.bundle.dcebcb7b75ff9fcc1d5b.js} +0 -0
  21. /package/dist/{359.bundle.f3867a42352f85e846bb.js → 359.bundle.3cdac00ab9649a10741b.js} +0 -0
  22. /package/dist/{410.bundle.8ae97aeddb3375a6d6c6.js → 410.bundle.fe0269b702be9c375abb.js} +0 -0
  23. /package/dist/{782.bundle.0b55dd2b0e7c80102eec.js → 782.bundle.f2a1076331c6a6816314.js} +0 -0
  24. /package/dist/{814.bundle.9f6f3b71096482162688.js → 814.bundle.69e55909aa8b5a776fe4.js} +0 -0
@@ -9,7 +9,8 @@ __webpack_require__.r(__webpack_exports__);
9
9
 
10
10
  // EXPORTS
11
11
  __webpack_require__.d(__webpack_exports__, {
12
- "default": () => (/* binding */ cornerstone_dicom_seg_src)
12
+ "default": () => (/* binding */ cornerstone_dicom_seg_src),
13
+ hydrateSEGDisplaySet: () => (/* reexport */ _hydrateSEG/* default */.Z)
13
14
  });
14
15
 
15
16
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/package.json
@@ -571,6 +572,8 @@ function getHangingProtocolModule() {
571
572
  }
572
573
  /* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
573
574
 
575
+ // EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/_hydrateSEG.ts
576
+ var _hydrateSEG = __webpack_require__(28417);
574
577
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/index.tsx
575
578
  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); }
576
579
 
@@ -578,8 +581,9 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
578
581
 
579
582
 
580
583
 
584
+
581
585
  const Component = /*#__PURE__*/react.lazy(() => {
582
- return __webpack_require__.e(/* import() */ 869).then(__webpack_require__.bind(__webpack_require__, 87869));
586
+ return __webpack_require__.e(/* import() */ 451).then(__webpack_require__.bind(__webpack_require__, 4451));
583
587
  });
584
588
  const OHIFCornerstoneSEGViewport = props => {
585
589
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -651,6 +655,69 @@ const extension = {
651
655
  };
652
656
  /* harmony default export */ const cornerstone_dicom_seg_src = (extension);
653
657
 
658
+
659
+ /***/ }),
660
+
661
+ /***/ 28417:
662
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
663
+
664
+ "use strict";
665
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
666
+ /* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
667
+ /* harmony export */ });
668
+ async function _hydrateSEGDisplaySet(_ref) {
669
+ let {
670
+ segDisplaySet,
671
+ viewportIndex,
672
+ servicesManager
673
+ } = _ref;
674
+ const {
675
+ segmentationService,
676
+ hangingProtocolService,
677
+ viewportGridService
678
+ } = servicesManager.services;
679
+ const displaySetInstanceUID = segDisplaySet.referencedDisplaySetInstanceUID;
680
+ let segmentationId = null;
681
+
682
+ // We need the hydration to notify panels about the new segmentation added
683
+ const suppressEvents = false;
684
+ segmentationId = await segmentationService.createSegmentationForSEGDisplaySet(segDisplaySet, segmentationId, suppressEvents);
685
+ segmentationService.hydrateSegmentation(segDisplaySet.displaySetInstanceUID);
686
+ const {
687
+ viewports
688
+ } = viewportGridService.getState();
689
+ const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportIndex, displaySetInstanceUID);
690
+
691
+ // Todo: fix this after we have a better way for stack viewport segmentations
692
+
693
+ // check every viewport in the viewports to see if the displaySetInstanceUID
694
+ // is being displayed, if so we need to update the viewport to use volume viewport
695
+ // (if already is not using it) since Cornerstone3D currently only supports
696
+ // volume viewport for segmentation
697
+ viewports.forEach((viewport, index) => {
698
+ if (index === viewportIndex) {
699
+ return;
700
+ }
701
+ const shouldDisplaySeg = segmentationService.shouldRenderSegmentation(viewport.displaySetInstanceUIDs, segDisplaySet.displaySetInstanceUID);
702
+ if (shouldDisplaySeg) {
703
+ updatedViewports.push({
704
+ viewportIndex: index,
705
+ displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
706
+ viewportOptions: {
707
+ initialImageOptions: {
708
+ preset: 'middle'
709
+ }
710
+ }
711
+ });
712
+ }
713
+ });
714
+
715
+ // Do the entire update at once
716
+ viewportGridService.setDisplaySetsForViewports(updatedViewports);
717
+ return true;
718
+ }
719
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_hydrateSEGDisplaySet);
720
+
654
721
  /***/ }),
655
722
 
656
723
  /***/ 78753:
@@ -1352,7 +1352,9 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
1352
1352
  measurement,
1353
1353
  isConsumed
1354
1354
  } = props;
1355
- if (!measurement || isConsumed) return;
1355
+ if (!measurement || isConsumed) {
1356
+ return;
1357
+ }
1356
1358
  if (cacheJumpToMeasurementEvent.cornerstoneViewport === undefined) {
1357
1359
  // Decide on which viewport should handle this
1358
1360
  cacheJumpToMeasurementEvent.cornerstoneViewport = cornerstoneViewportService.getViewportIndexToJump(jumpIndex, measurement.displaySetInstanceUID, {
@@ -1369,13 +1371,17 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
1369
1371
 
1370
1372
  // Check if there is a queued jumpToMeasurement event
1371
1373
  function _checkForCachedJumpToMeasurementEvents(measurementService, displaySetService, elementRef, viewportIndex, displaySets, viewportGridService, cornerstoneViewportService) {
1372
- if (!cacheJumpToMeasurementEvent) return;
1374
+ if (!cacheJumpToMeasurementEvent) {
1375
+ return;
1376
+ }
1373
1377
  if (cacheJumpToMeasurementEvent.isConsumed) {
1374
1378
  cacheJumpToMeasurementEvent = null;
1375
1379
  return;
1376
1380
  }
1377
1381
  const displaysUIDs = displaySets.map(displaySet => displaySet.displaySetInstanceUID);
1378
- if (!displaysUIDs?.length) return;
1382
+ if (!displaysUIDs?.length) {
1383
+ return;
1384
+ }
1379
1385
 
1380
1386
  // Jump to measurement if the measurement exists
1381
1387
  const {
@@ -61,7 +61,9 @@ function coordinateFormatScoord3d2Geometry(coordinates, pyramid) {
61
61
  return coordinates;
62
62
  }
63
63
  function _getPixelSpacing(metadata) {
64
- if (metadata.PixelSpacing) return metadata.PixelSpacing;
64
+ if (metadata.PixelSpacing) {
65
+ return metadata.PixelSpacing;
66
+ }
65
67
  const functionalGroup = metadata.SharedFunctionalGroupsSequence[0];
66
68
  const pixelMeasures = functionalGroup.PixelMeasuresSequence[0];
67
69
  return pixelMeasures.PixelSpacing;
@@ -811,7 +813,7 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
811
813
  clear() {
812
814
  this.managedViewers.forEach(managedViewer => managedViewer.destroy());
813
815
  this.managedViewers.clear();
814
- for (var key in this.annotations) {
816
+ for (const key in this.annotations) {
815
817
  delete this.annotations[key];
816
818
  }
817
819
  this.roiUids.clear();
@@ -879,7 +881,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
879
881
  managedViewer
880
882
  } = data;
881
883
  const roiAnnotation = this.getAnnotation(roiGraphic.uid);
882
- if (!roiAnnotation) return;
884
+ if (!roiAnnotation) {
885
+ return;
886
+ }
883
887
  roiAnnotation.setRoiGraphic(roiGraphic);
884
888
  roiAnnotation.setViewState(managedViewer.getViewState());
885
889
  }
@@ -933,7 +937,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
933
937
  } = data;
934
938
  const selectedAnnotation = this.getAnnotation(roiGraphic.uid);
935
939
  if (selectedAnnotation && selectedAnnotation !== this.getSelectedAnnotation()) {
936
- if (this.selectedAnnotation) this.clearSelection();
940
+ if (this.selectedAnnotation) {
941
+ this.clearSelection();
942
+ }
937
943
  this.selectedAnnotation = selectedAnnotation;
938
944
  this._broadcastEvent(MicroscopyService_EVENTS.ANNOTATION_SELECTED, selectedAnnotation);
939
945
  }
@@ -1188,7 +1194,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1188
1194
  * @param {RoiAnnotation} roiAnnotation The instance to be selected
1189
1195
  */
1190
1196
  selectAnnotation(roiAnnotation) {
1191
- if (this.selectedAnnotation) this.clearSelection();
1197
+ if (this.selectedAnnotation) {
1198
+ this.clearSelection();
1199
+ }
1192
1200
  this.selectedAnnotation = roiAnnotation;
1193
1201
  this._broadcastEvent(MicroscopyService_EVENTS.ANNOTATION_SELECTED, roiAnnotation);
1194
1202
  this.setROIStyle(roiAnnotation.uid, utils_styles.active);
@@ -1544,7 +1552,9 @@ function constructSR(metadata, _ref, annotations) {
1544
1552
  console.debug('[SR] storing measurements...', measurements);
1545
1553
  console.debug('[SR] storing evaluations...', evaluations);
1546
1554
  console.debug('[SR] storing presentation state...', presentationState);
1547
- if (presentationState) presentationState.marker = marker;
1555
+ if (presentationState) {
1556
+ presentationState.marker = marker;
1557
+ }
1548
1558
 
1549
1559
  /** Avoid incompatibility with dcmjs */
1550
1560
  measurements = measurements.map(measurement => {
@@ -1654,10 +1664,10 @@ function constructSR(metadata, _ref, annotations) {
1654
1664
  * @param filename
1655
1665
  */
1656
1666
  function saveByteArray(buffer, filename) {
1657
- var blob = new Blob([buffer], {
1667
+ const blob = new Blob([buffer], {
1658
1668
  type: 'application/dicom'
1659
1669
  });
1660
- var link = document.createElement('a');
1670
+ const link = document.createElement('a');
1661
1671
  link.href = window.URL.createObjectURL(blob);
1662
1672
  link.download = filename;
1663
1673
  link.click();
@@ -2057,7 +2067,9 @@ function getCommandsModule(_ref) {
2057
2067
  } = _ref2;
2058
2068
  if (uid) {
2059
2069
  const roiAnnotation = microscopyService.getAnnotation(uid);
2060
- if (roiAnnotation) microscopyService.removeAnnotation(roiAnnotation);
2070
+ if (roiAnnotation) {
2071
+ microscopyService.removeAnnotation(roiAnnotation);
2072
+ }
2061
2073
  }
2062
2074
  },
2063
2075
  setLabel: _ref3 => {
@@ -2096,7 +2108,7 @@ function getCommandsModule(_ref) {
2096
2108
  }];
2097
2109
  if (['line', 'box', 'circle', 'point', 'polygon', 'freehandpolygon', 'freehandline'].indexOf(toolName) >= 0) {
2098
2110
  // TODO: read from configuration
2099
- let options = {
2111
+ const options = {
2100
2112
  geometryType: toolName,
2101
2113
  vertexEnabled: true,
2102
2114
  styleOptions: utils_styles["default"],
@@ -2147,7 +2159,9 @@ function getCommandsModule(_ref) {
2147
2159
  const overlays = document.getElementsByClassName('microscopy-viewport-overlay');
2148
2160
  let onoff = false; // true if this will toggle on
2149
2161
  for (let i = 0; i < overlays.length; i++) {
2150
- if (i === 0) onoff = overlays.item(0).classList.contains('hidden');
2162
+ if (i === 0) {
2163
+ onoff = overlays.item(0).classList.contains('hidden');
2164
+ }
2151
2165
  overlays.item(i).classList.toggle('hidden');
2152
2166
  }
2153
2167
 
@@ -36,11 +36,17 @@ const listComponentGenerator = props => {
36
36
  list,
37
37
  itemGenerator
38
38
  } = props;
39
- if (!list) return;
39
+ if (!list) {
40
+ return;
41
+ }
40
42
  return list.map(item => {
41
- if (!item) return;
43
+ if (!item) {
44
+ return;
45
+ }
42
46
  const generator = item.generator || itemGenerator;
43
- if (!generator) throw new Error(`No generator for ${item}`);
47
+ if (!generator) {
48
+ throw new Error(`No generator for ${item}`);
49
+ }
44
50
  return generator({
45
51
  ...props,
46
52
  item
@@ -230,8 +236,12 @@ const itemGenerator = props => {
230
236
  props.formatTime = formatDICOMTime;
231
237
  props.formatPN = formatPN;
232
238
  props.formatNumberPrecision = formatNumberPrecision;
233
- if (condition && !condition(props)) return null;
234
- if (!contents && !valueFunc) return null;
239
+ if (condition && !condition(props)) {
240
+ return null;
241
+ }
242
+ if (!contents && !valueFunc) {
243
+ return null;
244
+ }
235
245
  const value = valueFunc && valueFunc(props);
236
246
  const contentsValue = contents && contents(props) || [{
237
247
  className: 'mr-1',
@@ -430,7 +440,9 @@ class DicomMicroscopyViewport extends react.Component {
430
440
  } = this.props.servicesManager.services;
431
441
  this.microscopyService = microscopyService;
432
442
  this.debouncedResize = lodash_debounce_default()(() => {
433
- if (this.viewer) this.viewer.resize();
443
+ if (this.viewer) {
444
+ this.viewer.resize();
445
+ }
434
446
  }, 100);
435
447
  }
436
448
  /**
@@ -2211,7 +2211,9 @@ function _mapMeasurementToDisplay(measurement, types, displaySetService) {
2211
2211
  if (findingSites) {
2212
2212
  const siteText = [];
2213
2213
  findingSites.forEach(site => {
2214
- if (site?.text !== label) siteText.push(site.text);
2214
+ if (site?.text !== label) {
2215
+ siteText.push(site.text);
2216
+ }
2215
2217
  });
2216
2218
  displayText = [...siteText, ...displayText];
2217
2219
  }
@@ -103,7 +103,9 @@ const codeMenuItem = {
103
103
  const {
104
104
  code: codeRef
105
105
  } = this;
106
- if (!codeRef) throw new Error(`item ${this} has no code ref`);
106
+ if (!codeRef) {
107
+ throw new Error(`item ${this} has no code ref`);
108
+ }
107
109
  const codingValues = customizationService.get('codingValues');
108
110
  const code = codingValues[codeRef];
109
111
  return {
@@ -239,7 +241,7 @@ function getCustomizationModule() {
239
241
  * From 'this', it uses:
240
242
  * `sameAttribute` as the attribute name to look for
241
243
  * `sameDisplaySetId` as the display set id to look for
242
- * From `options`, it looks for
244
+ * From `options`, it looks for
243
245
  */
244
246
  /* harmony default export */ function sameAs(displaySet, options) {
245
247
  const {
@@ -247,11 +249,11 @@ function getCustomizationModule() {
247
249
  sameDisplaySetId
248
250
  } = this;
249
251
  if (!sameAttribute) {
250
- console.log("sameAttribute not defined in", this);
252
+ console.log('sameAttribute not defined in', this);
251
253
  return `sameAttribute not defined in ${this.id}`;
252
254
  }
253
255
  if (!sameDisplaySetId) {
254
- console.log("sameDisplaySetId not defined in", this);
256
+ console.log('sameDisplaySetId not defined in', this);
255
257
  return `sameDisplaySetId not defined in ${this.id}`;
256
258
  }
257
259
  const {
@@ -260,7 +262,7 @@ function getCustomizationModule() {
260
262
  } = options;
261
263
  const match = displaySetMatchDetails.get(sameDisplaySetId);
262
264
  if (!match) {
263
- console.log("No match for display set", sameDisplaySetId);
265
+ console.log('No match for display set', sameDisplaySetId);
264
266
  return false;
265
267
  }
266
268
  const {
@@ -268,7 +270,7 @@ function getCustomizationModule() {
268
270
  } = match;
269
271
  const altDisplaySet = displaySets.find(it => it.displaySetInstanceUID == displaySetInstanceUID);
270
272
  if (!altDisplaySet) {
271
- console.log("No display set found with", displaySetInstanceUID, "in", displaySets);
273
+ console.log('No display set found with', displaySetInstanceUID, 'in', displaySets);
272
274
  return false;
273
275
  }
274
276
  const testValue = altDisplaySet[sameAttribute];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[869],{
2
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[451],{
3
3
 
4
- /***/ 87869:
4
+ /***/ 4451:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -31,59 +31,8 @@ function createSEGToolGroupAndAddTools(ToolGroupService, customizationService, t
31
31
  return ToolGroupService.createToolGroupAndAddTools(toolGroupId, tools, {});
32
32
  }
33
33
  /* harmony default export */ const initSEGToolGroup = (createSEGToolGroupAndAddTools);
34
- ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/_hydrateSEG.ts
35
- async function _hydrateSEGDisplaySet(_ref) {
36
- let {
37
- segDisplaySet,
38
- viewportIndex,
39
- servicesManager
40
- } = _ref;
41
- const {
42
- segmentationService,
43
- hangingProtocolService,
44
- viewportGridService
45
- } = servicesManager.services;
46
- const displaySetInstanceUID = segDisplaySet.referencedDisplaySetInstanceUID;
47
- let segmentationId = null;
48
-
49
- // We need the hydration to notify panels about the new segmentation added
50
- const suppressEvents = false;
51
- segmentationId = await segmentationService.createSegmentationForSEGDisplaySet(segDisplaySet, segmentationId, suppressEvents);
52
- segmentationService.hydrateSegmentation(segDisplaySet.displaySetInstanceUID);
53
- const {
54
- viewports
55
- } = viewportGridService.getState();
56
- const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportIndex, displaySetInstanceUID);
57
-
58
- // Todo: fix this after we have a better way for stack viewport segmentations
59
-
60
- // check every viewport in the viewports to see if the displaySetInstanceUID
61
- // is being displayed, if so we need to update the viewport to use volume viewport
62
- // (if already is not using it) since Cornerstone3D currently only supports
63
- // volume viewport for segmentation
64
- viewports.forEach((viewport, index) => {
65
- if (index === viewportIndex) {
66
- return;
67
- }
68
- const shouldDisplaySeg = segmentationService.shouldRenderSegmentation(viewport.displaySetInstanceUIDs, segDisplaySet.displaySetInstanceUID);
69
- if (shouldDisplaySeg) {
70
- updatedViewports.push({
71
- viewportIndex: index,
72
- displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
73
- viewportOptions: {
74
- initialImageOptions: {
75
- preset: 'middle'
76
- }
77
- }
78
- });
79
- }
80
- });
81
-
82
- // Do the entire update at once
83
- viewportGridService.setDisplaySetsForViewports(updatedViewports);
84
- return true;
85
- }
86
- /* harmony default export */ const _hydrateSEG = (_hydrateSEGDisplaySet);
34
+ // EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/_hydrateSEG.ts
35
+ var _hydrateSEG = __webpack_require__(28417);
87
36
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/promptHydrateSEG.ts
88
37
 
89
38
 
@@ -108,7 +57,7 @@ function promptHydrateSEG(_ref) {
108
57
  preHydrateCallbacks?.forEach(callback => {
109
58
  callback();
110
59
  });
111
- const isHydrated = await _hydrateSEG({
60
+ const isHydrated = await (0,_hydrateSEG/* default */.Z)({
112
61
  segDisplaySet,
113
62
  viewportIndex,
114
63
  servicesManager
@@ -160,8 +109,8 @@ function _getStatusComponent(_ref) {
160
109
  let StatusIcon = null;
161
110
  const {
162
111
  t
163
- } = (0,es/* useTranslation */.$G)("Common");
164
- const loadStr = t("LOAD");
112
+ } = (0,es/* useTranslation */.$G)('Common');
113
+ const loadStr = t('LOAD');
165
114
  switch (isHydrated) {
166
115
  case true:
167
116
  StatusIcon = () => /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
@@ -459,7 +408,7 @@ function OHIFCornerstoneSEGViewport(props) {
459
408
  // presentation state (w/l and invert) and then opens the SEG. If we don't store
460
409
  // the presentation state, the viewport will be reset to the default presentation
461
410
  storePresentationState();
462
- const isHydrated = await _hydrateSEG({
411
+ const isHydrated = await (0,_hydrateSEG/* default */.Z)({
463
412
  segDisplaySet,
464
413
  viewportIndex,
465
414
  servicesManager
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[810],{
2
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[471],{
3
3
 
4
- /***/ 31810:
4
+ /***/ 56471:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -21,60 +21,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
21
21
  var src = __webpack_require__(20599);
22
22
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
23
23
  var ui_src = __webpack_require__(77284);
24
- ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/_hydrateRT.ts
25
- async function _hydrateRTDisplaySet(_ref) {
26
- let {
27
- rtDisplaySet,
28
- viewportIndex,
29
- servicesManager
30
- } = _ref;
31
- const {
32
- segmentationService,
33
- hangingProtocolService,
34
- viewportGridService
35
- } = servicesManager.services;
36
- const displaySetInstanceUID = rtDisplaySet.referencedDisplaySetInstanceUID;
37
- let segmentationId = null;
38
-
39
- // We need the hydration to notify panels about the new segmentation added
40
- const suppressEvents = false;
41
- segmentationId = await segmentationService.createSegmentationForRTDisplaySet(rtDisplaySet, segmentationId, suppressEvents);
42
- segmentationService.hydrateSegmentation(rtDisplaySet.displaySetInstanceUID);
43
- const {
44
- viewports
45
- } = viewportGridService.getState();
46
- const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportIndex, displaySetInstanceUID);
47
- viewportGridService.setDisplaySetsForViewports(updatedViewports);
48
-
49
- // Todo: fix this after we have a better way for stack viewport segmentations
50
-
51
- // check every viewport in the viewports to see if the displaySetInstanceUID
52
- // is being displayed, if so we need to update the viewport to use volume viewport
53
- // (if already is not using it) since Cornerstone3D currently only supports
54
- // volume viewport for segmentation
55
- viewports.forEach((viewport, index) => {
56
- if (index === viewportIndex) {
57
- return;
58
- }
59
- const shouldDisplaySeg = segmentationService.shouldRenderSegmentation(viewport.displaySetInstanceUIDs, rtDisplaySet.displaySetInstanceUID);
60
- if (shouldDisplaySeg) {
61
- updatedViewports.push({
62
- viewportIndex: index,
63
- displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
64
- viewportOptions: {
65
- initialImageOptions: {
66
- preset: 'middle'
67
- }
68
- }
69
- });
70
- }
71
- });
72
-
73
- // Do the entire update at once
74
- viewportGridService.setDisplaySetsForViewports(updatedViewports);
75
- return true;
76
- }
77
- /* harmony default export */ const _hydrateRT = (_hydrateRTDisplaySet);
24
+ // EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/_hydrateRT.ts
25
+ var _hydrateRT = __webpack_require__(50995);
78
26
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
79
27
 
80
28
 
@@ -100,7 +48,7 @@ function promptHydrateRT(_ref) {
100
48
  preHydrateCallbacks?.forEach(callback => {
101
49
  callback();
102
50
  });
103
- const isHydrated = await _hydrateRT({
51
+ const isHydrated = await (0,_hydrateRT/* default */.Z)({
104
52
  rtDisplaySet,
105
53
  viewportIndex,
106
54
  toolGroupId,
@@ -454,7 +402,7 @@ function OHIFCornerstoneRTViewport(props) {
454
402
  // presentation state (w/l and invert) and then opens the RT. If we don't store
455
403
  // the presentation state, the viewport will be reset to the default presentation
456
404
  storePresentationState();
457
- const isHydrated = await _hydrateRT({
405
+ const isHydrated = await (0,_hydrateRT/* default */.Z)({
458
406
  rtDisplaySet,
459
407
  viewportIndex,
460
408
  servicesManager
@@ -9,7 +9,8 @@ __webpack_require__.r(__webpack_exports__);
9
9
 
10
10
  // EXPORTS
11
11
  __webpack_require__.d(__webpack_exports__, {
12
- "default": () => (/* binding */ cornerstone_dicom_rt_src)
12
+ "default": () => (/* binding */ cornerstone_dicom_rt_src),
13
+ hydrateRTDisplaySet: () => (/* reexport */ _hydrateRT/* default */.Z)
13
14
  });
14
15
 
15
16
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/package.json
@@ -415,13 +416,16 @@ function getSopClassHandlerModule(_ref2) {
415
416
  }];
416
417
  }
417
418
  /* harmony default export */ const src_getSopClassHandlerModule = (getSopClassHandlerModule);
419
+ // EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/_hydrateRT.ts
420
+ var _hydrateRT = __webpack_require__(50995);
418
421
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/index.tsx
419
422
  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); }
420
423
 
421
424
 
422
425
 
426
+
423
427
  const Component = /*#__PURE__*/react.lazy(() => {
424
- return __webpack_require__.e(/* import() */ 810).then(__webpack_require__.bind(__webpack_require__, 31810));
428
+ return __webpack_require__.e(/* import() */ 471).then(__webpack_require__.bind(__webpack_require__, 56471));
425
429
  });
426
430
  const OHIFCornerstoneRTViewport = props => {
427
431
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -472,6 +476,69 @@ const extension = {
472
476
  };
473
477
  /* harmony default export */ const cornerstone_dicom_rt_src = (extension);
474
478
 
479
+
480
+ /***/ }),
481
+
482
+ /***/ 50995:
483
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
484
+
485
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
486
+ /* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
487
+ /* harmony export */ });
488
+ async function _hydrateRTDisplaySet(_ref) {
489
+ let {
490
+ rtDisplaySet,
491
+ viewportIndex,
492
+ servicesManager
493
+ } = _ref;
494
+ const {
495
+ segmentationService,
496
+ hangingProtocolService,
497
+ viewportGridService
498
+ } = servicesManager.services;
499
+ const displaySetInstanceUID = rtDisplaySet.referencedDisplaySetInstanceUID;
500
+ let segmentationId = null;
501
+
502
+ // We need the hydration to notify panels about the new segmentation added
503
+ const suppressEvents = false;
504
+ segmentationId = await segmentationService.createSegmentationForRTDisplaySet(rtDisplaySet, segmentationId, suppressEvents);
505
+ segmentationService.hydrateSegmentation(rtDisplaySet.displaySetInstanceUID);
506
+ const {
507
+ viewports
508
+ } = viewportGridService.getState();
509
+ const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportIndex, displaySetInstanceUID);
510
+ viewportGridService.setDisplaySetsForViewports(updatedViewports);
511
+
512
+ // Todo: fix this after we have a better way for stack viewport segmentations
513
+
514
+ // check every viewport in the viewports to see if the displaySetInstanceUID
515
+ // is being displayed, if so we need to update the viewport to use volume viewport
516
+ // (if already is not using it) since Cornerstone3D currently only supports
517
+ // volume viewport for segmentation
518
+ viewports.forEach((viewport, index) => {
519
+ if (index === viewportIndex) {
520
+ return;
521
+ }
522
+ const shouldDisplaySeg = segmentationService.shouldRenderSegmentation(viewport.displaySetInstanceUIDs, rtDisplaySet.displaySetInstanceUID);
523
+ if (shouldDisplaySeg) {
524
+ updatedViewports.push({
525
+ viewportIndex: index,
526
+ displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
527
+ viewportOptions: {
528
+ initialImageOptions: {
529
+ preset: 'middle'
530
+ }
531
+ }
532
+ });
533
+ }
534
+ });
535
+
536
+ // Do the entire update at once
537
+ viewportGridService.setDisplaySetsForViewports(updatedViewports);
538
+ return true;
539
+ }
540
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_hydrateRTDisplaySet);
541
+
475
542
  /***/ })
476
543
 
477
544
  }]);