@ohif/app 3.9.0-beta.46 → 3.9.0-beta.47

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 (89) hide show
  1. package/dist/031089e563a18ada8441.wasm +0 -0
  2. package/dist/{445.bundle.38c6d2af64e41cd7c614.js → 10.bundle.c626810bd199ab63f3a2.js} +3 -3
  3. package/dist/{501.bundle.2f703ca4598a3be0d748.js → 129.bundle.3102eccbd5c78524c3dd.js} +6036 -11592
  4. package/dist/{140.bundle.57e0e190f83d686c7d84.js → 153.bundle.d3732d0fdebb39e139b4.js} +7 -4
  5. package/dist/{139.bundle.09e5af0a9ae8a285af77.js → 169.bundle.eeb9614e7b06f896c70f.js} +65 -535
  6. package/dist/{139.css → 169.css} +0 -1
  7. package/dist/{164.bundle.2b23bfbcb23497d7c87a.js → 196.bundle.cf8c2311aafb5312bbf7.js} +15562 -8539
  8. package/dist/{342.bundle.fcb2038060a062129d34.js → 202.bundle.bb0e8196739bb896dc9e.js} +238 -276
  9. package/dist/{129.bundle.ef2824b9d3145e620069.js → 210.bundle.d6d6cbd1b65e4f506ed1.js} +46 -46
  10. package/dist/{363.bundle.b09eeacf1db06eac578f.js → 217.bundle.042317b439df47cd38b1.js} +2099 -195
  11. package/dist/{363.css → 217.css} +1 -0
  12. package/dist/{14.bundle.afc14c0e2e6bdb9c03fb.js → 246.bundle.288317813cd5781e64f7.js} +11 -11
  13. package/dist/250.bundle.4743b359797751102600.js +663 -0
  14. package/dist/{851.bundle.1d974a1affa602a3db35.js → 281.bundle.5946cbee5150dec1532f.js} +211 -243
  15. package/dist/{727.bundle.7b7f3962207601643615.js → 286.bundle.985c5ebbb2158c7e59ab.js} +4 -4
  16. package/dist/29.bundle.976319462f33868497c2.js +12347 -0
  17. package/dist/{675.bundle.c9720f40fd7c7e9b7e54.js → 315.bundle.92d7aefc4dc9cfd951bd.js} +18 -18
  18. package/dist/{218.bundle.0d88a96c091e70b87ada.js → 353.bundle.58b3ea80771ebaca956b.js} +8 -8
  19. package/dist/{799.bundle.b0278dd5010f2cbdbac5.js → 360.bundle.81592d66456d25930928.js} +62 -62
  20. package/dist/{555.bundle.d731e79ced564bce2167.js → 372.bundle.5e3dc2539055ca5861e6.js} +50 -50
  21. package/dist/{211.bundle.c99f8ae0fb317d76eb84.js → 376.bundle.45b94427174400b86d5d.js} +8 -8
  22. package/dist/{612.bundle.297a033523539e0b47f9.js → 412.bundle.836f106f6e2896dc42a5.js} +4 -4
  23. package/dist/{931.bundle.058f8de4606f27b31f4f.js → 417.bundle.abf8bcee0f246002acb9.js} +25 -25
  24. package/dist/{370.bundle.bd9884c274c26a54dfae.js → 428.bundle.744fc5865b2d747de88a.js} +829 -1511
  25. package/dist/{483.bundle.0f1848f6a2cf34829fef.js → 497.bundle.ee102d6243f984113f08.js} +141 -141
  26. package/dist/{323.bundle.955cc8f5eb5c01295118.js → 498.bundle.bb47c493dd02451f77ef.js} +17 -17
  27. package/dist/{552.bundle.38207568073bcd238dda.js → 502.bundle.857675fc2cbb2fbe3e47.js} +8 -9
  28. package/dist/{835.bundle.5d1951da8bbc6afdf3e0.js → 530.bundle.87f8b13ff55bf7b2a6d1.js} +28 -28
  29. package/dist/{121.bundle.8646909d0f76791d8aee.js → 552.bundle.95c0f28b051797242104.js} +733 -62
  30. package/dist/{265.bundle.61b0e1ce9d444704a976.js → 571.bundle.a80609c9815339516d77.js} +24 -24
  31. package/dist/{853.bundle.beae65b8de389f8ee983.js → 591.bundle.1dca7dfd3e0490ea6dc1.js} +8 -8
  32. package/dist/604.bundle.83f50929b208c60e48da.js +1950 -0
  33. package/dist/610.min.worker.js +1 -1
  34. package/dist/610.min.worker.js.map +1 -1
  35. package/dist/{792.bundle.485ad2f98823a4b3feb1.js → 658.bundle.219ed199728759098008.js} +17 -17
  36. package/dist/{989.bundle.eec61b62860e730cf23d.js → 791.bundle.be08fa50f9a84244253b.js} +11 -11
  37. package/dist/{722.bundle.1242e0348afc63ca4f5e.js → 793.bundle.c92f52ddff0e3bf506e6.js} +13 -13
  38. package/dist/{914.bundle.e15be8089bf422ed7b51.js → 818.bundle.cda4e369fdee5459a544.js} +1239 -627
  39. package/dist/{726.bundle.90d63d40a19b058034ee.js → 831.bundle.9e1a3495947e5bb49756.js} +512 -512
  40. package/dist/{382.bundle.2788481abeaaf6afbca9.js → 842.bundle.0664bcdeb7f153ab52bb.js} +11 -11
  41. package/dist/{806.bundle.3b50260239f93b7787b6.js → 888.bundle.2d02f805cedcf5d2ee7d.js} +14 -14
  42. package/dist/{702.bundle.963481fbf871984b646f.js → 909.bundle.1fbb8bb4c41d0bb2994d.js} +119 -381
  43. package/dist/{109.bundle.b4fee2a22b622839baf5.js → 931.bundle.f6fa2a436ace89ebf60f.js} +5036 -4642
  44. package/dist/{141.bundle.556b4c1e4cab770417ac.js → 937.bundle.cc709c922731f9496810.js} +86 -478
  45. package/dist/{444.bundle.7adebacc6760f45bf58b.js → 944.bundle.194f4f4e4e55ec466b78.js} +9 -10
  46. package/dist/945.min.worker.js +1 -1
  47. package/dist/945.min.worker.js.map +1 -1
  48. package/dist/{194.bundle.31de18ad9ea9b05f21ea.js → 962.bundle.225fcd92e6a5af66b6a2.js} +33 -37
  49. package/dist/{920.bundle.d7c555d415240c7d3829.js → 978.bundle.4edc8c4615d7e3b4717a.js} +6 -6
  50. package/dist/{236.bundle.34db90a140e37d34fd71.js → 993.bundle.aa31ebda5a5f62c44de5.js} +2363 -2351
  51. package/dist/{717.bundle.96160aa973fbb4cb3f1e.js → 994.bundle.269ce05b16fd6aa28006.js} +90 -164
  52. package/dist/app-config.js +2 -3
  53. package/dist/app.bundle.css +3 -3
  54. package/dist/{app.bundle.3551ec3a588fe3841a9d.js → app.bundle.ecc3736aff52e6abfd49.js} +52547 -36094
  55. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  56. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  57. package/dist/dicom-microscopy-viewer/5004fdc02f329ce53b69.wasm +0 -0
  58. package/dist/dicom-microscopy-viewer/c22b37c3488e1d6c3aa4.wasm +0 -0
  59. package/dist/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js +3 -0
  60. package/dist/{dicomMicroscopyViewer.min.js.LICENSE.txt → dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.LICENSE.txt} +11 -0
  61. package/dist/dicom-microscopy-viewer/index.worker.min.worker.js +2 -0
  62. package/dist/dicom-microscopy-viewer/index.worker.min.worker.js.map +1 -0
  63. package/dist/{histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js → histogram-worker.bundle.e7e9fea2c3236b0e747a.js} +12 -16
  64. package/dist/index.html +1 -1
  65. package/dist/index.worker.5a5a581362c14598c3d9.worker.js +2 -0
  66. package/dist/index.worker.5a5a581362c14598c3d9.worker.js.map +1 -0
  67. package/dist/{polySeg.bundle.df492df5042827938ba4.js → polySeg.bundle.b25c61224998018d0f79.js} +24 -5
  68. package/dist/{suv-peak-worker.bundle.8f4b505fad3d371489fe.js → suv-peak-worker.bundle.eb11e71db02e52601ecf.js} +40 -21
  69. package/dist/sw.js +1 -1
  70. package/package.json +25 -33
  71. package/dist/117.bundle.1f7b56504d506e7259e3.js +0 -6552
  72. package/dist/172.bundle.19e8ff4bbcadcf7ec6ba.js +0 -662
  73. package/dist/36785fbd89b0e17f6099.wasm +0 -0
  74. package/dist/62ab5d58a2bea7b5a1dc.wasm +0 -0
  75. package/dist/644.bundle.1e77691d2eeb96a423b0.js +0 -19159
  76. package/dist/75a0c2dfe07b824c7d21.wasm +0 -0
  77. package/dist/dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js +0 -13
  78. package/dist/dicomMicroscopyViewer.min.js +0 -3
  79. package/dist/index.worker.f4bda803c15bc6359d5f.worker.js +0 -2
  80. package/dist/index.worker.f4bda803c15bc6359d5f.worker.js.map +0 -1
  81. package/dist/index.worker.min.worker.js +0 -2
  82. package/dist/index.worker.min.worker.js.map +0 -1
  83. /package/dist/{129.css → 210.css} +0 -0
  84. /package/dist/{727.css → 286.css} +0 -0
  85. /package/dist/{172.css → 552.css} +0 -0
  86. /package/dist/{404.css → 757.css} +0 -0
  87. /package/dist/{717.css → 994.css} +0 -0
  88. /package/dist/{65916ef3def695744bda.wasm → dicom-microscopy-viewer/65916ef3def695744bda.wasm} +0 -0
  89. /package/dist/{b6b803111e2d06a825bd.wasm → dicom-microscopy-viewer/b6b803111e2d06a825bd.wasm} +0 -0
@@ -1,19 +1,601 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[363],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[217],{
3
3
 
4
- /***/ 40684:
4
+ /***/ 34:
5
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
+
7
+
8
+ // EXPORTS
9
+ __webpack_require__.d(__webpack_exports__, {
10
+ Uu: () => (/* binding */ CornerstoneOverlay),
11
+ ZP: () => (/* binding */ Overlays_CustomizableViewportOverlay)
12
+ });
13
+
14
+ // UNUSED EXPORTS: CustomizableViewportOverlay
15
+
16
+ // EXTERNAL MODULE: ../../../node_modules/react/index.js
17
+ var react = __webpack_require__(43001);
18
+ // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
19
+ var esm = __webpack_require__(72076);
20
+ // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
21
+ var prop_types = __webpack_require__(3827);
22
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
23
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 28 modules
24
+ var dist_esm = __webpack_require__(62709);
25
+ // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
26
+ var src = __webpack_require__(38604);
27
+ // EXTERNAL MODULE: ../../../node_modules/moment/moment.js
28
+ var moment = __webpack_require__(71271);
29
+ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
30
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/utils.ts
31
+
32
+
33
+
34
+ /**
35
+ * Checks if value is valid.
36
+ *
37
+ * @param {number} value
38
+ * @returns {boolean} is valid.
39
+ */
40
+ function isValidNumber(value) {
41
+ return typeof value === 'number' && !isNaN(value);
42
+ }
43
+
44
+ /**
45
+ * Formats number precision.
46
+ *
47
+ * @param {number} number
48
+ * @param {number} precision
49
+ * @returns {number} formatted number.
50
+ */
51
+ function formatNumberPrecision(number, precision = 0) {
52
+ if (number !== null) {
53
+ return parseFloat(number).toFixed(precision);
54
+ }
55
+ }
56
+
57
+ /**
58
+ * Formats DICOM date.
59
+ *
60
+ * @param {string} date
61
+ * @param {string} strFormat
62
+ * @returns {string} formatted date.
63
+ */
64
+ function formatDICOMDate(date, strFormat = 'MMM D, YYYY') {
65
+ return moment_default()(date, 'YYYYMMDD').format(strFormat);
66
+ }
67
+
68
+ /**
69
+ * DICOM Time is stored as HHmmss.SSS, where:
70
+ * HH 24 hour time:
71
+ * m mm 0..59 Minutes
72
+ * s ss 0..59 Seconds
73
+ * S SS SSS 0..999 Fractional seconds
74
+ *
75
+ * Goal: '24:12:12'
76
+ *
77
+ * @param {*} time
78
+ * @param {string} strFormat
79
+ * @returns {string} formatted name.
80
+ */
81
+ function formatDICOMTime(time, strFormat = 'HH:mm:ss') {
82
+ return moment_default()(time, 'HH:mm:ss').format(strFormat);
83
+ }
84
+
85
+ /**
86
+ * Formats a patient name for display purposes
87
+ *
88
+ * @param {string} name
89
+ * @returns {string} formatted name.
90
+ */
91
+ function formatPN(name) {
92
+ if (!name) {
93
+ return '';
94
+ }
95
+ if (typeof name === 'object') {
96
+ name = name.Alphabetic;
97
+ if (!name) {
98
+ return '';
99
+ }
100
+ }
101
+ const cleaned = name.split('^').filter(s => !!s).join(', ').trim();
102
+ return cleaned === ',' || cleaned === '' ? '' : cleaned;
103
+ }
104
+
105
+ /**
106
+ * Gets compression type
107
+ *
108
+ * @param {number} imageId
109
+ * @returns {string} compression type.
110
+ */
111
+ function getCompression(imageId) {
112
+ const generalImageModule = metaData.get('generalImageModule', imageId) || {};
113
+ const {
114
+ lossyImageCompression,
115
+ lossyImageCompressionRatio,
116
+ lossyImageCompressionMethod
117
+ } = generalImageModule;
118
+ if (lossyImageCompression === '01' && lossyImageCompressionRatio !== '') {
119
+ const compressionMethod = lossyImageCompressionMethod || 'Lossy: ';
120
+ const compressionRatio = formatNumberPrecision(lossyImageCompressionRatio, 2);
121
+ return compressionMethod + compressionRatio + ' : 1';
122
+ }
123
+ return 'Lossless / Uncompressed';
124
+ }
125
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.css
126
+ // extracted by mini-css-extract-plugin
127
+
128
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.tsx
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ const EPSILON = 1e-4;
137
+ const OverlayItemComponents = {
138
+ 'ohif.overlayItem': OverlayItem,
139
+ 'ohif.overlayItem.windowLevel': VOIOverlayItem,
140
+ 'ohif.overlayItem.zoomLevel': ZoomOverlayItem,
141
+ 'ohif.overlayItem.instanceNumber': InstanceNumberOverlayItem
142
+ };
143
+ const studyDateItem = {
144
+ id: 'StudyDate',
145
+ customizationType: 'ohif.overlayItem',
146
+ label: '',
147
+ title: 'Study date',
148
+ condition: ({
149
+ referenceInstance
150
+ }) => referenceInstance?.StudyDate,
151
+ contentF: ({
152
+ referenceInstance,
153
+ formatters: {
154
+ formatDate
155
+ }
156
+ }) => formatDate(referenceInstance.StudyDate)
157
+ };
158
+ const seriesDescriptionItem = {
159
+ id: 'SeriesDescription',
160
+ customizationType: 'ohif.overlayItem',
161
+ label: '',
162
+ title: 'Series description',
163
+ condition: ({
164
+ referenceInstance
165
+ }) => {
166
+ return referenceInstance && referenceInstance.SeriesDescription;
167
+ },
168
+ contentF: ({
169
+ referenceInstance
170
+ }) => referenceInstance.SeriesDescription
171
+ };
172
+ const topLeftItems = {
173
+ id: 'cornerstoneOverlayTopLeft',
174
+ items: [studyDateItem, seriesDescriptionItem]
175
+ };
176
+ const topRightItems = {
177
+ id: 'cornerstoneOverlayTopRight',
178
+ items: []
179
+ };
180
+ const bottomLeftItems = {
181
+ id: 'cornerstoneOverlayBottomLeft',
182
+ items: [{
183
+ id: 'WindowLevel',
184
+ customizationType: 'ohif.overlayItem.windowLevel'
185
+ }, {
186
+ id: 'ZoomLevel',
187
+ customizationType: 'ohif.overlayItem.zoomLevel',
188
+ condition: props => {
189
+ const activeToolName = props.toolGroupService.getActiveToolForViewport(props.viewportId);
190
+ return activeToolName === 'Zoom';
191
+ }
192
+ }]
193
+ };
194
+ const bottomRightItems = {
195
+ id: 'cornerstoneOverlayBottomRight',
196
+ items: [{
197
+ id: 'InstanceNumber',
198
+ customizationType: 'ohif.overlayItem.instanceNumber'
199
+ }]
200
+ };
201
+
202
+ /**
203
+ * The @ohif/cornerstoneOverlay is a default value for a customization
204
+ * for the cornerstone overlays. The intent is to allow it to be extended
205
+ * without needing to re-write the individual overlays by using the append
206
+ * mechanism. Individual attributes can be modified individually without
207
+ * affecting the other items by using the append as well, with position
208
+ * based replacement.
209
+ * This is used as a default in the getCustomizationModule so that it
210
+ * is available early for additional customization extensions.
211
+ */
212
+ const CornerstoneOverlay = {
213
+ id: '@ohif/cornerstoneOverlay',
214
+ topLeftItems,
215
+ topRightItems,
216
+ bottomLeftItems,
217
+ bottomRightItems
218
+ };
219
+
220
+ /**
221
+ * Customizable Viewport Overlay
222
+ */
223
+ function CustomizableViewportOverlay({
224
+ element,
225
+ viewportData,
226
+ imageSliceData,
227
+ viewportId,
228
+ servicesManager
229
+ }) {
230
+ const {
231
+ cornerstoneViewportService,
232
+ customizationService,
233
+ toolGroupService,
234
+ displaySetService
235
+ } = servicesManager.services;
236
+ const [voi, setVOI] = (0,react.useState)({
237
+ windowCenter: null,
238
+ windowWidth: null
239
+ });
240
+ const [scale, setScale] = (0,react.useState)(1);
241
+ const {
242
+ imageIndex
243
+ } = imageSliceData;
244
+
245
+ // The new customization is 'cornerstoneOverlay', with an append or replace
246
+ // on the individual items rather than defining individual items.
247
+ const cornerstoneOverlay = customizationService.getCustomization('@ohif/cornerstoneOverlay');
248
+
249
+ // Historical usage defined the overlays as separate items due to lack of
250
+ // append functionality. This code enables the historical usage, but
251
+ // the recommended functionality is to append to the default values in
252
+ // cornerstoneOverlay rather than defining individual items.
253
+ const topLeftCustomization = customizationService.getCustomization('cornerstoneOverlayTopLeft') || cornerstoneOverlay?.topLeftItems;
254
+ const topRightCustomization = customizationService.getCustomization('cornerstoneOverlayTopRight') || cornerstoneOverlay?.topRightItems;
255
+ const bottomLeftCustomization = customizationService.getCustomization('cornerstoneOverlayBottomLeft') || cornerstoneOverlay?.bottomLeftItems;
256
+ const bottomRightCustomization = customizationService.getCustomization('cornerstoneOverlayBottomRight') || cornerstoneOverlay?.bottomRightItems;
257
+ const instanceNumber = (0,react.useMemo)(() => viewportData ? getInstanceNumber(viewportData, viewportId, imageIndex, cornerstoneViewportService) : null, [viewportData, viewportId, imageIndex, cornerstoneViewportService]);
258
+ const displaySetProps = (0,react.useMemo)(() => {
259
+ const displaySets = getDisplaySets(viewportData, displaySetService);
260
+ if (!displaySets) {
261
+ return null;
262
+ }
263
+ const [displaySet] = displaySets;
264
+ const {
265
+ instances,
266
+ instance: referenceInstance
267
+ } = displaySet;
268
+ return {
269
+ displaySets,
270
+ displaySet,
271
+ instance: instances[imageIndex],
272
+ instances,
273
+ referenceInstance
274
+ };
275
+ }, [viewportData, viewportId, instanceNumber, cornerstoneViewportService]);
276
+
277
+ /**
278
+ * Updating the VOI when the viewport changes its voi
279
+ */
280
+ (0,react.useEffect)(() => {
281
+ const updateVOI = eventDetail => {
282
+ const {
283
+ range
284
+ } = eventDetail.detail;
285
+ if (!range) {
286
+ return;
287
+ }
288
+ const {
289
+ lower,
290
+ upper
291
+ } = range;
292
+ const {
293
+ windowWidth,
294
+ windowCenter
295
+ } = dist_esm.utilities.windowLevel.toWindowLevel(lower, upper);
296
+ setVOI({
297
+ windowCenter,
298
+ windowWidth
299
+ });
300
+ };
301
+ element.addEventListener(dist_esm.Enums.Events.VOI_MODIFIED, updateVOI);
302
+ return () => {
303
+ element.removeEventListener(dist_esm.Enums.Events.VOI_MODIFIED, updateVOI);
304
+ };
305
+ }, [viewportId, viewportData, voi, element]);
306
+
307
+ /**
308
+ * Updating the scale when the viewport changes its zoom
309
+ */
310
+ (0,react.useEffect)(() => {
311
+ const updateScale = eventDetail => {
312
+ const {
313
+ previousCamera,
314
+ camera
315
+ } = eventDetail.detail;
316
+ if (previousCamera.parallelScale !== camera.parallelScale || previousCamera.scale !== camera.scale) {
317
+ const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
318
+ if (!viewport) {
319
+ return;
320
+ }
321
+ const scale = viewport.getZoom();
322
+ setScale(scale);
323
+ }
324
+ };
325
+ element.addEventListener(dist_esm.Enums.Events.CAMERA_MODIFIED, updateScale);
326
+ return () => {
327
+ element.removeEventListener(dist_esm.Enums.Events.CAMERA_MODIFIED, updateScale);
328
+ };
329
+ }, [viewportId, viewportData, cornerstoneViewportService, element]);
330
+ const _renderOverlayItem = (0,react.useCallback)((item, props) => {
331
+ const overlayItemProps = {
332
+ ...props,
333
+ element,
334
+ viewportData,
335
+ imageSliceData,
336
+ viewportId,
337
+ servicesManager,
338
+ customization: item,
339
+ formatters: {
340
+ formatPN: formatPN,
341
+ formatDate: formatDICOMDate,
342
+ formatTime: formatDICOMTime,
343
+ formatNumberPrecision: formatNumberPrecision
344
+ }
345
+ };
346
+ if (!item) {
347
+ return null;
348
+ }
349
+ const {
350
+ customizationType
351
+ } = item;
352
+ const OverlayItemComponent = OverlayItemComponents[customizationType];
353
+ if (OverlayItemComponent) {
354
+ return /*#__PURE__*/react.createElement(OverlayItemComponent, overlayItemProps);
355
+ } else {
356
+ const renderItem = customizationService.transform(item);
357
+ if (typeof renderItem.contentF === 'function') {
358
+ return renderItem.contentF(overlayItemProps);
359
+ }
360
+ }
361
+ }, [element, viewportData, imageSliceData, viewportId, servicesManager, customizationService, displaySetProps, voi, scale, instanceNumber]);
362
+ const getContent = (0,react.useCallback)((customization, keyPrefix) => {
363
+ if (!customization?.items) {
364
+ return null;
365
+ }
366
+ const {
367
+ items
368
+ } = customization;
369
+ const props = {
370
+ ...displaySetProps,
371
+ formatters: {
372
+ formatDate: formatDICOMDate
373
+ },
374
+ voi,
375
+ scale,
376
+ instanceNumber,
377
+ viewportId,
378
+ toolGroupService
379
+ };
380
+ return /*#__PURE__*/react.createElement(react.Fragment, null, items.map((item, index) => /*#__PURE__*/react.createElement("div", {
381
+ key: `${keyPrefix}_${index}`
382
+ }, (!item?.condition || item.condition(props)) && _renderOverlayItem(item, props) || null)));
383
+ }, [_renderOverlayItem]);
384
+ return /*#__PURE__*/react.createElement(src/* ViewportOverlay */.No, {
385
+ topLeft: getContent(topLeftCustomization, 'topLeftOverlayItem'),
386
+ topRight: getContent(topRightCustomization, 'topRightOverlayItem'),
387
+ bottomLeft: getContent(bottomLeftCustomization, 'bottomLeftOverlayItem'),
388
+ bottomRight: getContent(bottomRightCustomization, 'bottomRightOverlayItem')
389
+ });
390
+ }
391
+
392
+ /**
393
+ * Gets an array of display sets for the given viewport, based on the viewport data.
394
+ * Returns null if none found.
395
+ */
396
+ function getDisplaySets(viewportData, displaySetService) {
397
+ if (!viewportData?.data?.length) {
398
+ return null;
399
+ }
400
+ const displaySets = viewportData.data.map(datum => displaySetService.getDisplaySetByUID(datum.displaySetInstanceUID)).filter(it => !!it);
401
+ if (!displaySets.length) {
402
+ return null;
403
+ }
404
+ return displaySets;
405
+ }
406
+ const getInstanceNumber = (viewportData, viewportId, imageIndex, cornerstoneViewportService) => {
407
+ let instanceNumber;
408
+ switch (viewportData.viewportType) {
409
+ case dist_esm.Enums.ViewportType.STACK:
410
+ instanceNumber = _getInstanceNumberFromStack(viewportData, imageIndex);
411
+ break;
412
+ case dist_esm.Enums.ViewportType.ORTHOGRAPHIC:
413
+ instanceNumber = _getInstanceNumberFromVolume(viewportData, viewportId, cornerstoneViewportService, imageIndex);
414
+ break;
415
+ }
416
+ return instanceNumber ?? null;
417
+ };
418
+ function _getInstanceNumberFromStack(viewportData, imageIndex) {
419
+ const imageIds = viewportData.data[0].imageIds;
420
+ const imageId = imageIds[imageIndex];
421
+ if (!imageId) {
422
+ return;
423
+ }
424
+ const generalImageModule = dist_esm.metaData.get('generalImageModule', imageId) || {};
425
+ const {
426
+ instanceNumber
427
+ } = generalImageModule;
428
+ const stackSize = imageIds.length;
429
+ if (stackSize <= 1) {
430
+ return;
431
+ }
432
+ return parseInt(instanceNumber);
433
+ }
434
+
435
+ // Since volume viewports can be in any view direction, they can render
436
+ // a reconstructed image which don't have imageIds; therefore, no instance and instanceNumber
437
+ // Here we check if viewport is in the acquisition direction and if so, we get the instanceNumber
438
+ function _getInstanceNumberFromVolume(viewportData, viewportId, cornerstoneViewportService, imageIndex) {
439
+ const volumes = viewportData.data;
440
+ if (!volumes) {
441
+ return;
442
+ }
443
+
444
+ // Todo: support fusion of acquisition plane which has instanceNumber
445
+ const {
446
+ volume
447
+ } = volumes[0];
448
+ const {
449
+ direction,
450
+ imageIds
451
+ } = volume;
452
+ const cornerstoneViewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
453
+ if (!cornerstoneViewport) {
454
+ return;
455
+ }
456
+ const camera = cornerstoneViewport.getCamera();
457
+ const {
458
+ viewPlaneNormal
459
+ } = camera;
460
+ // checking if camera is looking at the acquisition plane (defined by the direction on the volume)
461
+
462
+ const scanAxisNormal = direction.slice(6, 9);
463
+
464
+ // check if viewPlaneNormal is parallel to scanAxisNormal
465
+ const cross = esm/* vec3.cross */.R3.cross(esm/* vec3.create */.R3.create(), viewPlaneNormal, scanAxisNormal);
466
+ const isAcquisitionPlane = esm/* vec3.length */.R3.length(cross) < EPSILON;
467
+ if (isAcquisitionPlane) {
468
+ const imageId = imageIds[imageIndex];
469
+ if (!imageId) {
470
+ return {};
471
+ }
472
+ const {
473
+ instanceNumber
474
+ } = dist_esm.metaData.get('generalImageModule', imageId) || {};
475
+ return parseInt(instanceNumber);
476
+ }
477
+ }
478
+ function OverlayItem(props) {
479
+ const {
480
+ instance,
481
+ customization = {}
482
+ } = props;
483
+ const {
484
+ color,
485
+ attribute,
486
+ title,
487
+ label,
488
+ background
489
+ } = customization;
490
+ const value = customization.contentF?.(props, customization) ?? instance?.[attribute];
491
+ if (value === undefined || value === null) {
492
+ return null;
493
+ }
494
+ return /*#__PURE__*/react.createElement("div", {
495
+ className: "overlay-item flex flex-row",
496
+ style: {
497
+ color,
498
+ background
499
+ },
500
+ title: title
501
+ }, label ? /*#__PURE__*/react.createElement("span", {
502
+ className: "mr-1 shrink-0"
503
+ }, label) : null, /*#__PURE__*/react.createElement("span", {
504
+ className: "ml-1 mr-2 shrink-0"
505
+ }, value));
506
+ }
507
+
508
+ /**
509
+ * Window Level / Center Overlay item
510
+ */
511
+ function VOIOverlayItem({
512
+ voi,
513
+ customization
514
+ }) {
515
+ const {
516
+ windowWidth,
517
+ windowCenter
518
+ } = voi;
519
+ if (typeof windowCenter !== 'number' || typeof windowWidth !== 'number') {
520
+ return null;
521
+ }
522
+ return /*#__PURE__*/react.createElement("div", {
523
+ className: "overlay-item flex flex-row",
524
+ style: {
525
+ color: customization?.color
526
+ }
527
+ }, /*#__PURE__*/react.createElement("span", {
528
+ className: "mr-1 shrink-0"
529
+ }, "W:"), /*#__PURE__*/react.createElement("span", {
530
+ className: "ml-1 mr-2 shrink-0"
531
+ }, windowWidth.toFixed(0)), /*#__PURE__*/react.createElement("span", {
532
+ className: "mr-1 shrink-0"
533
+ }, "L:"), /*#__PURE__*/react.createElement("span", {
534
+ className: "ml-1 shrink-0"
535
+ }, windowCenter.toFixed(0)));
536
+ }
537
+
538
+ /**
539
+ * Zoom Level Overlay item
540
+ */
541
+ function ZoomOverlayItem({
542
+ scale,
543
+ customization
544
+ }) {
545
+ return /*#__PURE__*/react.createElement("div", {
546
+ className: "overlay-item flex flex-row",
547
+ style: {
548
+ color: customization && customization.color || undefined
549
+ }
550
+ }, /*#__PURE__*/react.createElement("span", {
551
+ className: "mr-1 shrink-0"
552
+ }, "Zoom:"), /*#__PURE__*/react.createElement("span", null, scale.toFixed(2), "x"));
553
+ }
554
+
555
+ /**
556
+ * Instance Number Overlay Item
557
+ */
558
+ function InstanceNumberOverlayItem({
559
+ instanceNumber,
560
+ imageSliceData,
561
+ customization
562
+ }) {
563
+ const {
564
+ imageIndex,
565
+ numberOfSlices
566
+ } = imageSliceData;
567
+ return /*#__PURE__*/react.createElement("div", {
568
+ className: "overlay-item flex flex-row",
569
+ style: {
570
+ color: customization && customization.color || undefined
571
+ }
572
+ }, /*#__PURE__*/react.createElement("span", null, instanceNumber !== undefined && instanceNumber !== null ? /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("span", {
573
+ className: "mr-1 shrink-0"
574
+ }, "I:"), /*#__PURE__*/react.createElement("span", null, `${instanceNumber} (${imageIndex + 1}/${numberOfSlices})`)) : `${imageIndex + 1}/${numberOfSlices}`));
575
+ }
576
+ CustomizableViewportOverlay.propTypes = {
577
+ viewportData: (prop_types_default()).object,
578
+ imageIndex: (prop_types_default()).number,
579
+ viewportId: (prop_types_default()).string
580
+ };
581
+ /* harmony default export */ const Overlays_CustomizableViewportOverlay = (CustomizableViewportOverlay);
582
+
583
+
584
+ /***/ }),
585
+
586
+ /***/ 71645:
5
587
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
588
 
7
589
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
- /* harmony export */ It: () => (/* binding */ ViewportActionCornersProvider),
9
- /* harmony export */ R4: () => (/* binding */ useViewportActionCornersContext)
590
+ /* harmony export */ HC: () => (/* binding */ useViewportActionCornersContext),
591
+ /* harmony export */ cJ: () => (/* binding */ ViewportActionCornersProvider)
10
592
  /* harmony export */ });
11
593
  /* unused harmony export ViewportActionCornersContext */
12
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41766);
13
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11374);
594
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43001);
595
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3827);
14
596
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
15
- /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79047);
16
- /* harmony import */ var _services_ViewportActionCornersService_ViewportActionCornersService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2447);
597
+ /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38604);
598
+ /* harmony import */ var _services_ViewportActionCornersService_ViewportActionCornersService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13580);
17
599
 
18
600
 
19
601
 
@@ -21,10 +603,10 @@
21
603
  const DEFAULT_STATE = {
22
604
  // default here is the viewportId of the default viewport
23
605
  default: {
24
- [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .ld.topLeft]: [],
25
- [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .ld.topRight]: [],
26
- [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .ld.bottomLeft]: [],
27
- [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .ld.bottomRight]: []
606
+ [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .Hv.topLeft]: [],
607
+ [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .Hv.topRight]: [],
608
+ [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .Hv.bottomLeft]: [],
609
+ [_ohif_ui__WEBPACK_IMPORTED_MODULE_2__/* .ViewportActionCornersLocations */ .Hv.bottomRight]: []
28
610
  }
29
611
  // [anotherViewportId]: { ..... }
30
612
  };
@@ -135,13 +717,13 @@ function ViewportActionCornersProvider({
135
717
  }
136
718
  ViewportActionCornersProvider.propTypes = {
137
719
  children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
138
- service: prop_types__WEBPACK_IMPORTED_MODULE_1___default().instanceOf(_services_ViewportActionCornersService_ViewportActionCornersService__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A).isRequired
720
+ service: prop_types__WEBPACK_IMPORTED_MODULE_1___default().instanceOf(_services_ViewportActionCornersService_ViewportActionCornersService__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z).isRequired
139
721
  };
140
722
  const useViewportActionCornersContext = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ViewportActionCornersContext);
141
723
 
142
724
  /***/ }),
143
725
 
144
- /***/ 11363:
726
+ /***/ 21217:
145
727
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
146
728
 
147
729
  // ESM COMPAT FLAG
@@ -154,10 +736,10 @@ __webpack_require__.d(__webpack_exports__, {
154
736
  "default": () => (/* binding */ cornerstone_src),
155
737
  findNearbyToolData: () => (/* reexport */ findNearbyToolData),
156
738
  getActiveViewportEnabledElement: () => (/* reexport */ getActiveViewportEnabledElement),
157
- getEnabledElement: () => (/* reexport */ state/* getEnabledElement */.kJ),
158
- getSOPInstanceAttributes: () => (/* reexport */ getSOPInstanceAttributes/* default */.A),
739
+ getEnabledElement: () => (/* reexport */ state/* getEnabledElement */.K8),
740
+ getSOPInstanceAttributes: () => (/* reexport */ getSOPInstanceAttributes/* default */.Z),
159
741
  measurementMappingUtils: () => (/* reexport */ utils_namespaceObject),
160
- setEnabledElement: () => (/* reexport */ state/* setEnabledElement */.ye),
742
+ setEnabledElement: () => (/* reexport */ state/* setEnabledElement */.Yc),
161
743
  toolNames: () => (/* reexport */ toolNames)
162
744
  });
163
745
 
@@ -168,7 +750,7 @@ __webpack_require__.d(utils_namespaceObject, {
168
750
  getDisplayUnit: () => (utils_getDisplayUnit),
169
751
  getFirstAnnotationSelected: () => (getFirstAnnotationSelected),
170
752
  getHandlesFromPoints: () => (getHandlesFromPoints),
171
- getSOPInstanceAttributes: () => (getSOPInstanceAttributes/* default */.A),
753
+ getSOPInstanceAttributes: () => (getSOPInstanceAttributes/* default */.Z),
172
754
  isAnnotationSelected: () => (isAnnotationSelected),
173
755
  setAnnotationSelected: () => (setAnnotationSelected)
174
756
  });
@@ -178,20 +760,20 @@ var types_namespaceObject = {};
178
760
  __webpack_require__.r(types_namespaceObject);
179
761
 
180
762
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
181
- var react = __webpack_require__(41766);
763
+ var react = __webpack_require__(43001);
182
764
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 28 modules
183
- var esm = __webpack_require__(92136);
765
+ var esm = __webpack_require__(62709);
184
766
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
185
- var dist_esm = __webpack_require__(39371);
767
+ var dist_esm = __webpack_require__(93725);
186
768
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
187
- var streaming_image_volume_loader_dist_esm = __webpack_require__(23722);
769
+ var streaming_image_volume_loader_dist_esm = __webpack_require__(15793);
188
770
  // EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
189
- var src = __webpack_require__(75186);
771
+ var src = __webpack_require__(63810);
190
772
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js
191
- var cornerstoneDICOMImageLoader_min = __webpack_require__(54578);
773
+ var cornerstoneDICOMImageLoader_min = __webpack_require__(61539);
192
774
  var cornerstoneDICOMImageLoader_min_default = /*#__PURE__*/__webpack_require__.n(cornerstoneDICOMImageLoader_min);
193
775
  // EXTERNAL MODULE: ../../../node_modules/dicom-parser/dist/dicomParser.min.js
194
- var dicomParser_min = __webpack_require__(45561);
776
+ var dicomParser_min = __webpack_require__(56660);
195
777
  var dicomParser_min_default = /*#__PURE__*/__webpack_require__.n(dicomParser_min);
196
778
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/initWADOImageLoader.js
197
779
 
@@ -224,8 +806,8 @@ function initWebWorkers(appConfig) {
224
806
  function initWADOImageLoader(userAuthenticationService, appConfig, extensionManager) {
225
807
  (cornerstoneDICOMImageLoader_min_default()).external.cornerstone = esm;
226
808
  (cornerstoneDICOMImageLoader_min_default()).external.dicomParser = (dicomParser_min_default());
227
- registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.FC);
228
- registerVolumeLoader('cornerstoneStreamingDynamicImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingDynamicImageVolumeLoader */.Mr);
809
+ registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.IU);
810
+ registerVolumeLoader('cornerstoneStreamingDynamicImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingDynamicImageVolumeLoader */.X5);
229
811
  cornerstoneDICOMImageLoader_min_default().configure({
230
812
  decodeConfig: {
231
813
  // !! IMPORTANT !!
@@ -250,7 +832,7 @@ function initWADOImageLoader(userAuthenticationService, appConfig, extensionMana
250
832
  return xhrRequestHeaders;
251
833
  },
252
834
  errorInterceptor: error => {
253
- src/* errorHandler */.r_.getHTTPErrorHandler(error);
835
+ src/* errorHandler */.Po.getHTTPErrorHandler(error);
254
836
  }
255
837
  });
256
838
  initWebWorkers(appConfig);
@@ -264,8 +846,8 @@ function destroy() {
264
846
  }
265
847
  webWorkers.length = 0;
266
848
  }
267
- // EXTERNAL MODULE: ../../ui/src/index.js + 782 modules
268
- var ui_src = __webpack_require__(79047);
849
+ // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
850
+ var ui_src = __webpack_require__(38604);
269
851
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/callInputDialog.tsx
270
852
 
271
853
 
@@ -316,7 +898,7 @@ function callInputDialog(uiDialogService, data, callback, isArrowAnnotateInputDi
316
898
  centralize: true,
317
899
  isDraggable: false,
318
900
  showOverlay: true,
319
- content: ui_src/* Dialog */.lG,
901
+ content: ui_src/* Dialog */.Vq,
320
902
  contentProps: {
321
903
  title: dialogTitle,
322
904
  value: {
@@ -329,18 +911,18 @@ function callInputDialog(uiDialogService, data, callback, isArrowAnnotateInputDi
329
911
  actions: [{
330
912
  id: 'cancel',
331
913
  text: 'Cancel',
332
- type: ui_src/* ButtonEnums.type */.Ny.NW.secondary
914
+ type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
333
915
  }, {
334
916
  id: 'save',
335
917
  text: 'Save',
336
- type: ui_src/* ButtonEnums.type */.Ny.NW.primary
918
+ type: ui_src/* ButtonEnums.type */.LZ.dt.primary
337
919
  }],
338
920
  onSubmit: onSubmitHandler,
339
921
  body: ({
340
922
  value,
341
923
  setValue
342
924
  }) => {
343
- return /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
925
+ return /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
344
926
  autoFocus: true,
345
927
  className: "border-primary-main bg-black",
346
928
  type: "text",
@@ -395,7 +977,7 @@ function callLabelAutocompleteDialog(uiDialogService, callback, dialogConfig, la
395
977
  centralize: true,
396
978
  isDraggable: false,
397
979
  showOverlay: true,
398
- content: ui_src/* LabellingFlow */.nd,
980
+ content: ui_src/* LabellingFlow */.CV,
399
981
  contentProps: {
400
982
  labellingDoneCallback: labellingDoneCallback,
401
983
  measurementData: {
@@ -424,7 +1006,7 @@ function showLabelAnnotationPopup(measurement, uiDialogService, labelConfig) {
424
1006
  id: 'select-annotation',
425
1007
  isDraggable: false,
426
1008
  showOverlay: true,
427
- content: ui_src/* LabellingFlow */.nd,
1009
+ content: ui_src/* LabellingFlow */.CV,
428
1010
  defaultPosition: {
429
1011
  x: window.innerWidth / 2,
430
1012
  y: window.innerHeight / 2
@@ -441,7 +1023,7 @@ function showLabelAnnotationPopup(measurement, uiDialogService, labelConfig) {
441
1023
  }
442
1024
  /* harmony default export */ const utils_callInputDialog = (callInputDialog);
443
1025
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
444
- var state = __webpack_require__(83910);
1026
+ var state = __webpack_require__(13000);
445
1027
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/getActiveViewportEnabledElement.ts
446
1028
 
447
1029
 
@@ -451,7 +1033,7 @@ function getActiveViewportEnabledElement(viewportGridService) {
451
1033
  } = viewportGridService.getState();
452
1034
  const {
453
1035
  element
454
- } = (0,state/* getEnabledElement */.kJ)(activeViewportId) || {};
1036
+ } = (0,state/* getEnabledElement */.K8)(activeViewportId) || {};
455
1037
  const enabledElement = (0,esm.getEnabledElement)(element);
456
1038
  return enabledElement;
457
1039
  }
@@ -561,8 +1143,8 @@ function onCompletedCalibrationLine(servicesManager, csToolsEvent) {
561
1143
  });
562
1144
  });
563
1145
  }
564
- // EXTERNAL MODULE: ../../core/src/utils/index.js + 26 modules
565
- var utils = __webpack_require__(86890);
1146
+ // EXTERNAL MODULE: ../../core/src/utils/index.ts + 27 modules
1147
+ var utils = __webpack_require__(21551);
566
1148
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/tools/OverlayPlaneModuleProvider.ts
567
1149
 
568
1150
  const _cachedOverlayMetadata = new Map();
@@ -736,7 +1318,7 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
736
1318
  } else if (overlay.pixelData.retrieveBulkData) {
737
1319
  pixelData = await overlay.pixelData.retrieveBulkData();
738
1320
  } else if (overlay.pixelData.InlineBinary) {
739
- const blob = (0,utils/* b64toBlob */.Vk)(overlay.pixelData.InlineBinary);
1321
+ const blob = (0,utils/* b64toBlob */.Mi)(overlay.pixelData.InlineBinary);
740
1322
  const arrayBuffer = await blob.arrayBuffer();
741
1323
  pixelData = arrayBuffer;
742
1324
  }
@@ -749,7 +1331,7 @@ class ImageOverlayViewerTool extends dist_esm.AnnotationDisplayTool {
749
1331
  }, overlay.color || color, pixelData);
750
1332
  return {
751
1333
  ...overlay,
752
- _id: (0,utils/* guid */.Os)(),
1334
+ _id: (0,utils/* guid */.M8)(),
753
1335
  dataUrl,
754
1336
  // this will be a data url expression of the rendered image
755
1337
  color
@@ -925,7 +1507,7 @@ const toolNames = {
925
1507
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/constants/supportedTools.js
926
1508
  /* harmony default export */ const supportedTools = (['Length', 'EllipticalROI', 'CircleROI', 'Bidirectional', 'ArrowAnnotate', 'Angle', 'CobbAngle', 'Probe', 'RectangleROI', 'PlanarFreehandROI', 'SplineROI', 'LivewireContour', 'Probe', 'UltrasoundDirectionalTool']);
927
1509
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
928
- var getSOPInstanceAttributes = __webpack_require__(20928);
1510
+ var getSOPInstanceAttributes = __webpack_require__(90927);
929
1511
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/Length.ts
930
1512
 
931
1513
 
@@ -965,7 +1547,7 @@ const Length = {
965
1547
  SOPInstanceUID,
966
1548
  SeriesInstanceUID,
967
1549
  StudyInstanceUID
968
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
1550
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
969
1551
  let displaySet;
970
1552
  if (SOPInstanceUID) {
971
1553
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1022,7 +1604,7 @@ function getMappedAnnotations(annotation, displaySetService) {
1022
1604
  SOPInstanceUID,
1023
1605
  SeriesInstanceUID,
1024
1606
  frameNumber
1025
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
1607
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1026
1608
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
1027
1609
  const {
1028
1610
  SeriesNumber
@@ -1202,7 +1784,7 @@ const Bidirectional = {
1202
1784
  SOPInstanceUID,
1203
1785
  SeriesInstanceUID,
1204
1786
  StudyInstanceUID
1205
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
1787
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1206
1788
  let displaySet;
1207
1789
  if (SOPInstanceUID) {
1208
1790
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1260,7 +1842,7 @@ function Bidirectional_getMappedAnnotations(annotation, displaySetService) {
1260
1842
  SOPInstanceUID,
1261
1843
  SeriesInstanceUID,
1262
1844
  frameNumber
1263
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
1845
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1264
1846
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
1265
1847
  const {
1266
1848
  SeriesNumber
@@ -1395,7 +1977,7 @@ const EllipticalROI = {
1395
1977
  SOPInstanceUID,
1396
1978
  SeriesInstanceUID,
1397
1979
  StudyInstanceUID
1398
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
1980
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1399
1981
  let displaySet;
1400
1982
  if (SOPInstanceUID) {
1401
1983
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1452,7 +2034,7 @@ function EllipticalROI_getMappedAnnotations(annotation, displaySetService) {
1452
2034
  SOPInstanceUID,
1453
2035
  SeriesInstanceUID,
1454
2036
  frameNumber
1455
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2037
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1456
2038
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
1457
2039
  const {
1458
2040
  SeriesNumber
@@ -1600,7 +2182,7 @@ const CircleROI = {
1600
2182
  SOPInstanceUID,
1601
2183
  SeriesInstanceUID,
1602
2184
  StudyInstanceUID
1603
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2185
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1604
2186
  let displaySet;
1605
2187
  if (SOPInstanceUID) {
1606
2188
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1657,7 +2239,7 @@ function CircleROI_getMappedAnnotations(annotation, displaySetService) {
1657
2239
  SOPInstanceUID,
1658
2240
  SeriesInstanceUID,
1659
2241
  frameNumber
1660
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2242
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1661
2243
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
1662
2244
  const {
1663
2245
  SeriesNumber
@@ -1810,7 +2392,7 @@ const ArrowAnnotate_Length = {
1810
2392
  SOPInstanceUID,
1811
2393
  SeriesInstanceUID,
1812
2394
  StudyInstanceUID
1813
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2395
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1814
2396
  let displaySet;
1815
2397
  if (SOPInstanceUID) {
1816
2398
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1862,7 +2444,7 @@ function ArrowAnnotate_getMappedAnnotations(annotation, displaySetService) {
1862
2444
  SOPInstanceUID,
1863
2445
  SeriesInstanceUID,
1864
2446
  frameNumber
1865
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2447
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1866
2448
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
1867
2449
  const {
1868
2450
  SeriesNumber
@@ -1939,7 +2521,7 @@ const CobbAngle = {
1939
2521
  SOPInstanceUID,
1940
2522
  SeriesInstanceUID,
1941
2523
  StudyInstanceUID
1942
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2524
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
1943
2525
  let displaySet;
1944
2526
  if (SOPInstanceUID) {
1945
2527
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -1996,7 +2578,7 @@ function CobbAngle_getMappedAnnotations(annotation, displaySetService) {
1996
2578
  SOPInstanceUID,
1997
2579
  SeriesInstanceUID,
1998
2580
  frameNumber
1999
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2581
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
2000
2582
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
2001
2583
  const {
2002
2584
  SeriesNumber
@@ -2122,7 +2704,7 @@ const Angle = {
2122
2704
  SOPInstanceUID,
2123
2705
  SeriesInstanceUID,
2124
2706
  StudyInstanceUID
2125
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2707
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
2126
2708
  let displaySet;
2127
2709
  if (SOPInstanceUID) {
2128
2710
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -2179,7 +2761,7 @@ function Angle_getMappedAnnotations(annotation, displaySetService) {
2179
2761
  SOPInstanceUID,
2180
2762
  SeriesInstanceUID,
2181
2763
  frameNumber
2182
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2764
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
2183
2765
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
2184
2766
  const {
2185
2767
  SeriesNumber
@@ -2311,7 +2893,7 @@ const PlanarFreehandROI = {
2311
2893
  SeriesInstanceUID,
2312
2894
  frameNumber,
2313
2895
  StudyInstanceUID
2314
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
2896
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
2315
2897
  let displaySet;
2316
2898
  if (SOPInstanceUID) {
2317
2899
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -2414,7 +2996,7 @@ function PlanarFreehandROI_getDisplayText(annotation, displaySet, customizationS
2414
2996
  const {
2415
2997
  SOPInstanceUID,
2416
2998
  frameNumber
2417
- } = (0,getSOPInstanceAttributes/* default */.A)(metadata.referencedImageId, displaySetService, annotation);
2999
+ } = (0,getSOPInstanceAttributes/* default */.Z)(metadata.referencedImageId, displaySetService, annotation);
2418
3000
  const displayTextArray = [];
2419
3001
  const instance = displaySet.images.find(image => image.SOPInstanceUID === SOPInstanceUID);
2420
3002
  let InstanceNumber;
@@ -2498,7 +3080,7 @@ const RectangleROI = {
2498
3080
  SOPInstanceUID,
2499
3081
  SeriesInstanceUID,
2500
3082
  StudyInstanceUID
2501
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
3083
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
2502
3084
  let displaySet;
2503
3085
  if (SOPInstanceUID) {
2504
3086
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -2555,7 +3137,7 @@ function RectangleROI_getMappedAnnotations(annotation, displaySetService) {
2555
3137
  SOPInstanceUID,
2556
3138
  SeriesInstanceUID,
2557
3139
  frameNumber
2558
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
3140
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
2559
3141
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
2560
3142
  const {
2561
3143
  SeriesNumber
@@ -2717,7 +3299,7 @@ const SplineROI = {
2717
3299
  SeriesInstanceUID,
2718
3300
  frameNumber,
2719
3301
  StudyInstanceUID
2720
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
3302
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
2721
3303
  let displaySet;
2722
3304
  if (SOPInstanceUID) {
2723
3305
  displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -2827,7 +3409,7 @@ function SplineROI_getDisplayText(annotation, displaySet, customizationService)
2827
3409
  const {
2828
3410
  SOPInstanceUID,
2829
3411
  frameNumber
2830
- } = (0,getSOPInstanceAttributes/* default */.A)(metadata.referencedImageId);
3412
+ } = (0,getSOPInstanceAttributes/* default */.Z)(metadata.referencedImageId);
2831
3413
  const displayTextArray = [];
2832
3414
  const instance = displaySet.images.find(image => image.SOPInstanceUID === SOPInstanceUID);
2833
3415
  let InstanceNumber;
@@ -2920,7 +3502,7 @@ const LivewireContour = {
2920
3502
  SeriesInstanceUID,
2921
3503
  frameNumber,
2922
3504
  StudyInstanceUID
2923
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
3505
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
2924
3506
  let displaySet;
2925
3507
  if (SOPInstanceUID) {
2926
3508
  displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -3014,7 +3596,7 @@ function LivewireContour_getDisplayText(annotation, displaySet, customizationSer
3014
3596
  const {
3015
3597
  SOPInstanceUID,
3016
3598
  frameNumber
3017
- } = (0,getSOPInstanceAttributes/* default */.A)(metadata.referencedImageId);
3599
+ } = (0,getSOPInstanceAttributes/* default */.Z)(metadata.referencedImageId);
3018
3600
  const displayText = [];
3019
3601
  const instance = displaySet.images.find(image => image.SOPInstanceUID === SOPInstanceUID);
3020
3602
  let InstanceNumber;
@@ -3080,7 +3662,7 @@ const Probe = {
3080
3662
  SOPInstanceUID,
3081
3663
  SeriesInstanceUID,
3082
3664
  StudyInstanceUID
3083
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
3665
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
3084
3666
  let displaySet;
3085
3667
  if (SOPInstanceUID) {
3086
3668
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -3135,7 +3717,7 @@ function Probe_getMappedAnnotations(annotation, displaySetService) {
3135
3717
  SOPInstanceUID,
3136
3718
  SeriesInstanceUID,
3137
3719
  frameNumber
3138
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId, displaySetService, annotation);
3720
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId, displaySetService, annotation);
3139
3721
  const displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID)[0];
3140
3722
  const {
3141
3723
  SeriesNumber
@@ -3255,7 +3837,7 @@ const UltrasoundDirectional = {
3255
3837
  SOPInstanceUID,
3256
3838
  SeriesInstanceUID,
3257
3839
  StudyInstanceUID
3258
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
3840
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
3259
3841
  let displaySet;
3260
3842
  if (SOPInstanceUID) {
3261
3843
  displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
@@ -3312,7 +3894,7 @@ function UltrasoundDirectional_getMappedAnnotations(annotation, DisplaySetServic
3312
3894
  SOPInstanceUID,
3313
3895
  SeriesInstanceUID,
3314
3896
  frameNumber
3315
- } = (0,getSOPInstanceAttributes/* default */.A)(referencedImageId);
3897
+ } = (0,getSOPInstanceAttributes/* default */.Z)(referencedImageId);
3316
3898
  const displaySet = DisplaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID, frameNumber);
3317
3899
  const {
3318
3900
  SeriesNumber
@@ -3854,7 +4436,7 @@ const connectMeasurementServiceToTools = (measurementService, cornerstoneViewpor
3854
4436
  let frameNumber = 1;
3855
4437
  if (measurement?.metadata?.referencedImageId) {
3856
4438
  imageId = measurement.metadata.referencedImageId;
3857
- frameNumber = (0,getSOPInstanceAttributes/* default */.A)(measurement.metadata.referencedImageId).frameNumber;
4439
+ frameNumber = (0,getSOPInstanceAttributes/* default */.Z)(measurement.metadata.referencedImageId).frameNumber;
3858
4440
  } else {
3859
4441
  imageId = dataSource.getImageIdsForInstance({
3860
4442
  instance
@@ -4031,7 +4613,7 @@ function getInterleavedFrames(imageIds) {
4031
4613
  return imageIdsToPrefetch;
4032
4614
  }
4033
4615
  // EXTERNAL MODULE: ../../../node_modules/lodash/lodash.js
4034
- var lodash = __webpack_require__(5517);
4616
+ var lodash = __webpack_require__(44379);
4035
4617
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/interleaveCenterLoader.ts
4036
4618
 
4037
4619
 
@@ -4607,7 +5189,7 @@ function initContextMenu({
4607
5189
  return;
4608
5190
  }
4609
5191
  // TODO check update upstream
4610
- (0,state/* setEnabledElement */.ye)(viewportId, element);
5192
+ (0,state/* setEnabledElement */.Yc)(viewportId, element);
4611
5193
  element.addEventListener(cs3DToolsEvents.MOUSE_CLICK, cornerstoneViewportHandleClick);
4612
5194
  }
4613
5195
  function elementDisabledHandler(evt) {
@@ -4717,7 +5299,7 @@ function initViewTiming({
4717
5299
  } = src.Enums;
4718
5300
  IMAGE_TIMING_KEYS.push(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES, TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE, TimingEnum.STUDY_TO_FIRST_IMAGE);
4719
5301
  }
4720
- if (!IMAGE_TIMING_KEYS.find(key => src/* log */.Rm.timingKeys[key])) {
5302
+ if (!IMAGE_TIMING_KEYS.find(key => src/* log */.cM.timingKeys[key])) {
4721
5303
  return;
4722
5304
  }
4723
5305
  imageTiming.viewportsWaiting += 1;
@@ -4730,13 +5312,13 @@ function imageRenderedListener(evt) {
4730
5312
  const {
4731
5313
  TimingEnum
4732
5314
  } = src.Enums;
4733
- src/* log */.Rm.timeEnd(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE);
4734
- src/* log */.Rm.timeEnd(TimingEnum.STUDY_TO_FIRST_IMAGE);
4735
- src/* log */.Rm.timeEnd(TimingEnum.SCRIPT_TO_VIEW);
5315
+ src/* log */.cM.timeEnd(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE);
5316
+ src/* log */.cM.timeEnd(TimingEnum.STUDY_TO_FIRST_IMAGE);
5317
+ src/* log */.cM.timeEnd(TimingEnum.SCRIPT_TO_VIEW);
4736
5318
  imageTiming.viewportsWaiting -= 1;
4737
5319
  evt.detail.element.removeEventListener(esm.EVENTS.IMAGE_RENDERED, imageRenderedListener);
4738
5320
  if (!imageTiming.viewportsWaiting) {
4739
- src/* log */.Rm.timeEnd(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES);
5321
+ src/* log */.cM.timeEnd(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES);
4740
5322
  }
4741
5323
  }
4742
5324
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/colormaps.js
@@ -4945,9 +5527,9 @@ async function init({
4945
5527
  dist_esm.segmentation.config.setGlobalRepresentationConfig(contourRepresentation, {
4946
5528
  renderFill: false
4947
5529
  });
4948
- const metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
4949
- esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.FC);
4950
- esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingDynamicImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingDynamicImageVolumeLoader */.Mr);
5530
+ const metadataProvider = src["default"].classes.MetadataProvider;
5531
+ esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingImageVolumeLoader */.IU);
5532
+ esm.volumeLoader.registerVolumeLoader('cornerstoneStreamingDynamicImageVolume', streaming_image_volume_loader_dist_esm/* cornerstoneStreamingDynamicImageVolumeLoader */.X5);
4951
5533
  hangingProtocolService.registerImageLoadStrategy('interleaveCenter', interleaveCenterLoader);
4952
5534
  hangingProtocolService.registerImageLoadStrategy('interleaveTopToBottom', interleaveTopToBottom);
4953
5535
  hangingProtocolService.registerImageLoadStrategy('nth', interleaveNthLoader);
@@ -5013,7 +5595,7 @@ async function init({
5013
5595
  const imageLoadFailedHandler = ({
5014
5596
  detail
5015
5597
  }) => {
5016
- const handler = src/* errorHandler */.r_.getHTTPErrorHandler();
5598
+ const handler = src/* errorHandler */.Po.getHTTPErrorHandler();
5017
5599
  handler(detail.error);
5018
5600
  };
5019
5601
  esm.eventTarget.addEventListener(esm.EVENTS.STACK_VIEWPORT_NEW_STACK, evt => {
@@ -5101,12 +5683,12 @@ function _showCPURenderingModal(uiModalService, hangingProtocolService) {
5101
5683
  });
5102
5684
  }
5103
5685
  // EXTERNAL MODULE: ../../../node_modules/react-dropzone/dist/es/index.js + 4 modules
5104
- var es = __webpack_require__(92854);
5686
+ var es = __webpack_require__(15280);
5105
5687
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
5106
- var prop_types = __webpack_require__(11374);
5688
+ var prop_types = __webpack_require__(3827);
5107
5689
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
5108
5690
  // EXTERNAL MODULE: ../../../node_modules/classnames/index.js
5109
- var classnames = __webpack_require__(61466);
5691
+ var classnames = __webpack_require__(33901);
5110
5692
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
5111
5693
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/DicomFileUploader.ts
5112
5694
 
@@ -5130,7 +5712,7 @@ class UploadRejection {
5130
5712
  this.status = status;
5131
5713
  }
5132
5714
  }
5133
- class DicomFileUploader extends src/* PubSubService */.Rc {
5715
+ class DicomFileUploader extends src/* PubSubService */.hC {
5134
5716
  constructor(file, dataSource) {
5135
5717
  super(EVENTS);
5136
5718
  this._file = void 0;
@@ -5294,20 +5876,20 @@ const DicomUploadProgressItem = /*#__PURE__*/(0,react.memo)(({
5294
5876
  const getStatusIcon = () => {
5295
5877
  switch (dicomFileUploader.getStatus()) {
5296
5878
  case UploadStatus.Success:
5297
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
5879
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
5298
5880
  name: "status-tracked",
5299
5881
  className: "text-primary-light"
5300
5882
  });
5301
5883
  case UploadStatus.InProgress:
5302
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
5884
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
5303
5885
  name: "icon-transferring"
5304
5886
  });
5305
5887
  case UploadStatus.Failed:
5306
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
5888
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
5307
5889
  name: "icon-alert-small"
5308
5890
  });
5309
5891
  case UploadStatus.Cancelled:
5310
- return /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
5892
+ return /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
5311
5893
  name: "icon-alert-outline"
5312
5894
  });
5313
5895
  default:
@@ -5332,7 +5914,7 @@ const DicomUploadProgressItem = /*#__PURE__*/(0,react.memo)(({
5332
5914
  className: "w-10 text-right"
5333
5915
  }, percentComplete, "%"), /*#__PURE__*/react.createElement("div", {
5334
5916
  className: "ml-auto flex cursor-pointer"
5335
- }, /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
5917
+ }, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
5336
5918
  className: "text-primary-active self-center",
5337
5919
  name: "close",
5338
5920
  onClick: cancelUpload
@@ -5562,7 +6144,7 @@ function DicomUploadProgress({
5562
6144
  className: "bg-primary-dark flex h-14 items-center px-1 pb-4 text-lg"
5563
6145
  }, numFilesCompleted === dicomFileUploaderArr.length ? /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("span", {
5564
6146
  className: NO_WRAP_ELLIPSIS_CLASS_NAMES
5565
- }, `${dicomFileUploaderArr.length} ${dicomFileUploaderArr.length > 1 ? 'files' : 'file'} completed.`), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
6147
+ }, `${dicomFileUploaderArr.length} ${dicomFileUploaderArr.length > 1 ? 'files' : 'file'} completed.`), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
5566
6148
  disabled: false,
5567
6149
  className: "ml-auto",
5568
6150
  onClick: onComplete
@@ -5583,7 +6165,7 @@ function DicomUploadProgress({
5583
6165
  className: "ml-auto flex w-6 justify-center"
5584
6166
  }, numFails > 0 && /*#__PURE__*/react.createElement("div", {
5585
6167
  onClick: () => setShowFailedOnly(currentShowFailedOnly => !currentShowFailedOnly)
5586
- }, /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
6168
+ }, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
5587
6169
  className: "cursor-pointer",
5588
6170
  name: "icon-status-alert"
5589
6171
  })));
@@ -5598,7 +6180,7 @@ function DicomUploadProgress({
5598
6180
  }, numFails > 0 ? `Completed with ${numFails} ${numFails > 1 ? 'errors' : 'error'}!` : 'Completed!'), getShowFailedOnlyIconComponent()) : /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
5599
6181
  ref: progressBarContainerRef,
5600
6182
  className: "flex-grow"
5601
- }, /*#__PURE__*/react.createElement(ui_src/* ProgressLoadingBar */.dD, {
6183
+ }, /*#__PURE__*/react.createElement(ui_src/* ProgressLoadingBar */.YE, {
5602
6184
  progress: showInfiniteProgressBar() ? undefined : Math.min(100, percentComplete)
5603
6185
  })), /*#__PURE__*/react.createElement("div", {
5604
6186
  className: "ml-1 flex w-24 items-center"
@@ -5626,7 +6208,7 @@ DicomUploadProgress.propTypes = {
5626
6208
  // extracted by mini-css-extract-plugin
5627
6209
 
5628
6210
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/DicomUpload/DicomUpload.tsx
5629
- 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); }
6211
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
5630
6212
 
5631
6213
 
5632
6214
 
@@ -5647,7 +6229,7 @@ function DicomUpload({
5647
6229
  setDicomFileUploaderArr(acceptedFiles.map(file => new DicomFileUploader(file, dataSource)));
5648
6230
  }, []);
5649
6231
  const getDropZoneComponent = () => {
5650
- return /*#__PURE__*/react.createElement(es/* default */.A, {
6232
+ return /*#__PURE__*/react.createElement(es/* default */.Z, {
5651
6233
  onDrop: acceptedFiles => {
5652
6234
  onDrop(acceptedFiles);
5653
6235
  },
@@ -5658,23 +6240,23 @@ function DicomUpload({
5658
6240
  className: "dicom-upload-drop-area-border-dash m-5 flex h-full flex-col items-center justify-center"
5659
6241
  }), /*#__PURE__*/react.createElement("div", {
5660
6242
  className: "flex gap-3"
5661
- }, /*#__PURE__*/react.createElement(es/* default */.A, {
6243
+ }, /*#__PURE__*/react.createElement(es/* default */.Z, {
5662
6244
  onDrop: onDrop,
5663
6245
  noDrag: true
5664
6246
  }, ({
5665
6247
  getRootProps,
5666
6248
  getInputProps
5667
- }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
6249
+ }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
5668
6250
  disabled: false,
5669
6251
  onClick: () => {}
5670
- }, 'Add files', /*#__PURE__*/react.createElement("input", getInputProps())))), /*#__PURE__*/react.createElement(es/* default */.A, {
6252
+ }, 'Add files', /*#__PURE__*/react.createElement("input", getInputProps())))), /*#__PURE__*/react.createElement(es/* default */.Z, {
5671
6253
  onDrop: onDrop,
5672
6254
  noDrag: true
5673
6255
  }, ({
5674
6256
  getRootProps,
5675
6257
  getInputProps
5676
- }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
5677
- type: ui_src/* ButtonEnums.type */.Ny.NW.secondary,
6258
+ }) => /*#__PURE__*/react.createElement("div", getRootProps(), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
6259
+ type: ui_src/* ButtonEnums.type */.LZ.dt.secondary,
5678
6260
  disabled: false,
5679
6261
  onClick: () => {}
5680
6262
  }, 'Add folder', /*#__PURE__*/react.createElement("input", _extends({}, getInputProps(), {
@@ -5757,6 +6339,8 @@ const defaultWindowLevelPresets = {
5757
6339
  }]
5758
6340
  };
5759
6341
  /* harmony default export */ const WindowLevelActionMenu_defaultWindowLevelPresets = (defaultWindowLevelPresets);
6342
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/CustomizableViewportOverlay.tsx + 2 modules
6343
+ var CustomizableViewportOverlay = __webpack_require__(34);
5760
6344
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/getCustomizationModule.ts
5761
6345
 
5762
6346
 
@@ -5764,6 +6348,7 @@ const defaultWindowLevelPresets = {
5764
6348
 
5765
6349
 
5766
6350
 
6351
+
5767
6352
  const DefaultColormap = 'Grayscale';
5768
6353
  const {
5769
6354
  VIEWPORT_PRESETS
@@ -5806,7 +6391,7 @@ function getCustomizationModule() {
5806
6391
  }
5807
6392
  }, {
5808
6393
  name: 'default',
5809
- value: [{
6394
+ value: [CustomizableViewportOverlay/* CornerstoneOverlay */.Uu, {
5810
6395
  id: 'cornerstone.overlayViewportTools',
5811
6396
  tools
5812
6397
  }, {
@@ -5944,9 +6529,9 @@ function getCustomizationModule() {
5944
6529
  }
5945
6530
  /* harmony default export */ const src_getCustomizationModule = (getCustomizationModule);
5946
6531
  // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
5947
- var gl_matrix_esm = __webpack_require__(44753);
6532
+ var gl_matrix_esm = __webpack_require__(72076);
5948
6533
  // EXTERNAL MODULE: ../../../node_modules/html2canvas/dist/html2canvas.esm.js
5949
- var html2canvas_esm = __webpack_require__(90445);
6534
+ var html2canvas_esm = __webpack_require__(76010);
5950
6535
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx
5951
6536
 
5952
6537
 
@@ -5964,7 +6549,7 @@ const CornerstoneViewportDownloadForm = ({
5964
6549
  activeViewportId: activeViewportIdProp,
5965
6550
  cornerstoneViewportService
5966
6551
  }) => {
5967
- const enabledElement = (0,state/* getEnabledElement */.kJ)(activeViewportIdProp);
6552
+ const enabledElement = (0,state/* getEnabledElement */.K8)(activeViewportIdProp);
5968
6553
  const activeViewportElement = enabledElement?.element;
5969
6554
  const activeViewportEnabledElement = (0,esm.getEnabledElement)(activeViewportElement);
5970
6555
  const {
@@ -6156,14 +6741,14 @@ const CornerstoneViewportDownloadForm = ({
6156
6741
  const downloadBlob = (filename, fileType) => {
6157
6742
  const file = `${filename}.${fileType}`;
6158
6743
  const divForDownloadViewport = document.querySelector(`div[data-viewport-uid="${VIEWPORT_ID}"]`);
6159
- (0,html2canvas_esm/* default */.A)(divForDownloadViewport).then(canvas => {
6744
+ (0,html2canvas_esm/* default */.Z)(divForDownloadViewport).then(canvas => {
6160
6745
  const link = document.createElement('a');
6161
6746
  link.download = file;
6162
6747
  link.href = canvas.toDataURL(fileType, 1.0);
6163
6748
  link.click();
6164
6749
  });
6165
6750
  };
6166
- return /*#__PURE__*/react.createElement(ui_src/* ViewportDownloadForm */.VS, {
6751
+ return /*#__PURE__*/react.createElement(ui_src/* ViewportDownloadForm */.mQ, {
6167
6752
  onClose: onClose,
6168
6753
  minimumSize: MINIMUM_SIZE,
6169
6754
  maximumSize: MAX_TEXTURE_SIZE,
@@ -6810,9 +7395,9 @@ function commandsModule({
6810
7395
  if (viewport instanceof esm.BaseVolumeViewport) {
6811
7396
  const camera = viewport.getCamera();
6812
7397
  const rotAngle = rotation * Math.PI / 180;
6813
- const rotMat = gl_matrix_esm/* mat4.identity */.pB.identity(new Float32Array(16));
6814
- gl_matrix_esm/* mat4.rotate */.pB.rotate(rotMat, rotMat, rotAngle, camera.viewPlaneNormal);
6815
- const rotatedViewUp = gl_matrix_esm/* vec3.transformMat4 */.eR.transformMat4(gl_matrix_esm/* vec3.create */.eR.create(), camera.viewUp, rotMat);
7398
+ const rotMat = gl_matrix_esm/* mat4.identity */._E.identity(new Float32Array(16));
7399
+ gl_matrix_esm/* mat4.rotate */._E.rotate(rotMat, rotMat, rotAngle, camera.viewPlaneNormal);
7400
+ const rotatedViewUp = gl_matrix_esm/* vec3.transformMat4 */.R3.transformMat4(gl_matrix_esm/* vec3.create */.R3.create(), camera.viewUp, rotMat);
6816
7401
  viewport.setCamera({
6817
7402
  viewUp: rotatedViewUp
6818
7403
  });
@@ -7161,7 +7746,7 @@ function commandsModule({
7161
7746
  const image = mapper.getInputData();
7162
7747
  const dims = image.getDimensions();
7163
7748
  const spacing = image.getSpacing();
7164
- const spatialDiagonal = gl_matrix_esm/* vec3.length */.eR.length(gl_matrix_esm/* vec3.fromValues */.eR.fromValues(dims[0] * spacing[0], dims[1] * spacing[1], dims[2] * spacing[2]));
7749
+ const spatialDiagonal = gl_matrix_esm/* vec3.length */.R3.length(gl_matrix_esm/* vec3.fromValues */.R3.fromValues(dims[0] * spacing[0], dims[1] * spacing[1], dims[2] * spacing[2]));
7165
7750
  let sampleDistance = spacing.reduce((a, b) => a + b) / 3.0;
7166
7751
  sampleDistance /= volumeQuality > 1 ? 0.5 * volumeQuality ** 2 : 1.0;
7167
7752
  const samplesPerRay = spatialDiagonal / sampleDistance + 1;
@@ -8278,50 +8863,1321 @@ const primaryAxial = {
8278
8863
  }]
8279
8864
  }]
8280
8865
  };
8281
- ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/getHangingProtocolModule.ts
8282
-
8283
-
8284
-
8285
-
8286
-
8287
-
8288
-
8289
- function getHangingProtocolModule() {
8290
- return [{
8291
- name: mpr.id,
8292
- protocol: mpr
8293
- }, {
8294
- name: mprAnd3DVolumeViewport.id,
8295
- protocol: mprAnd3DVolumeViewport
8296
- }, {
8297
- name: fourUp.id,
8298
- protocol: fourUp
8299
- }, {
8300
- name: main3D.id,
8301
- protocol: main3D
8302
- }, {
8303
- name: primaryAxial.id,
8304
- protocol: primaryAxial
8305
- }, {
8306
- name: only3D.id,
8307
- protocol: only3D
8308
- }, {
8309
- name: primary3D.id,
8310
- protocol: primary3D
8311
- }];
8312
- }
8313
- /* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
8314
- ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/getToolbarModule.tsx
8315
-
8316
- const getToggledClassName = isToggled => {
8317
- return isToggled ? '!text-primary-active' : '!text-common-bright hover:!bg-primary-dark hover:text-primary-light';
8318
- };
8319
- function getToolbarModule({
8320
- commandsManager,
8321
- servicesManager
8322
- }) {
8323
- const {
8324
- toolGroupService,
8866
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/hps/frameView.ts
8867
+ const frameView = {
8868
+ id: '@ohif/frameView',
8869
+ description: 'Frame view for the active series',
8870
+ name: 'Frame View',
8871
+ icon: 'tool-stack-scroll',
8872
+ isPreset: true,
8873
+ toolGroupIds: ['default'],
8874
+ displaySetSelectors: {
8875
+ defaultDisplaySetId: {
8876
+ seriesMatchingRules: [{
8877
+ attribute: 'numImageFrames',
8878
+ constraint: {
8879
+ greaterThan: {
8880
+ value: 16
8881
+ }
8882
+ },
8883
+ required: true
8884
+ }, {
8885
+ attribute: 'isDisplaySetFromUrl',
8886
+ weight: 10,
8887
+ constraint: {
8888
+ equals: true
8889
+ }
8890
+ }]
8891
+ }
8892
+ },
8893
+ defaultViewport: {
8894
+ viewportOptions: {
8895
+ viewportType: 'stack',
8896
+ toolGroupId: 'default',
8897
+ allowUnmatchedView: true
8898
+ },
8899
+ displaySets: [{
8900
+ id: 'defaultDisplaySetId',
8901
+ matchedDisplaySetsIndex: -1
8902
+ }]
8903
+ },
8904
+ stages: [{
8905
+ name: 'frameView',
8906
+ id: '4x4',
8907
+ viewportStructure: {
8908
+ layoutType: 'grid',
8909
+ properties: {
8910
+ rows: 4,
8911
+ columns: 4
8912
+ }
8913
+ },
8914
+ viewports: [{
8915
+ viewportOptions: {
8916
+ toolGroupId: 'default',
8917
+ syncGroups: [{
8918
+ type: 'zoompan',
8919
+ id: 'zoompansync',
8920
+ source: true,
8921
+ target: true
8922
+ }, {
8923
+ type: 'voi',
8924
+ id: 'wlsync',
8925
+ source: true,
8926
+ target: true,
8927
+ options: {
8928
+ syncColormap: true
8929
+ }
8930
+ }, {
8931
+ type: 'frameview',
8932
+ id: 'frameViewSync',
8933
+ source: true,
8934
+ target: true,
8935
+ options: {
8936
+ viewportIndex: 0
8937
+ }
8938
+ }]
8939
+ },
8940
+ displaySets: [{
8941
+ id: 'defaultDisplaySetId'
8942
+ }]
8943
+ }, {
8944
+ viewportOptions: {
8945
+ toolGroupId: 'default',
8946
+ syncGroups: [{
8947
+ type: 'zoompan',
8948
+ id: 'zoompansync',
8949
+ source: true,
8950
+ target: true
8951
+ }, {
8952
+ type: 'voi',
8953
+ id: 'wlsync',
8954
+ source: true,
8955
+ target: true,
8956
+ options: {
8957
+ syncColormap: true
8958
+ }
8959
+ }, {
8960
+ type: 'frameview',
8961
+ id: 'frameViewSync',
8962
+ source: true,
8963
+ target: true,
8964
+ options: {
8965
+ viewportIndex: 1
8966
+ }
8967
+ }]
8968
+ },
8969
+ displaySets: [{
8970
+ id: 'defaultDisplaySetId'
8971
+ }]
8972
+ }, {
8973
+ viewportOptions: {
8974
+ toolGroupId: 'default',
8975
+ syncGroups: [{
8976
+ type: 'zoompan',
8977
+ id: 'zoompansync',
8978
+ source: true,
8979
+ target: true
8980
+ }, {
8981
+ type: 'voi',
8982
+ id: 'wlsync',
8983
+ source: true,
8984
+ target: true,
8985
+ options: {
8986
+ syncColormap: true
8987
+ }
8988
+ }, {
8989
+ type: 'frameview',
8990
+ id: 'frameViewSync',
8991
+ source: true,
8992
+ target: true,
8993
+ options: {
8994
+ viewportIndex: 2
8995
+ }
8996
+ }]
8997
+ },
8998
+ displaySets: [{
8999
+ id: 'defaultDisplaySetId'
9000
+ }]
9001
+ }, {
9002
+ viewportOptions: {
9003
+ toolGroupId: 'default',
9004
+ syncGroups: [{
9005
+ type: 'zoompan',
9006
+ id: 'zoompansync',
9007
+ source: true,
9008
+ target: true
9009
+ }, {
9010
+ type: 'voi',
9011
+ id: 'wlsync',
9012
+ source: true,
9013
+ target: true,
9014
+ options: {
9015
+ syncColormap: true
9016
+ }
9017
+ }, {
9018
+ type: 'frameview',
9019
+ id: 'frameViewSync',
9020
+ source: true,
9021
+ target: true,
9022
+ options: {
9023
+ viewportIndex: 3
9024
+ }
9025
+ }]
9026
+ },
9027
+ displaySets: [{
9028
+ id: 'defaultDisplaySetId'
9029
+ }]
9030
+ }, {
9031
+ viewportOptions: {
9032
+ toolGroupId: 'default',
9033
+ syncGroups: [{
9034
+ type: 'zoompan',
9035
+ id: 'zoompansync',
9036
+ source: true,
9037
+ target: true
9038
+ }, {
9039
+ type: 'voi',
9040
+ id: 'wlsync',
9041
+ source: true,
9042
+ target: true,
9043
+ options: {
9044
+ syncColormap: true
9045
+ }
9046
+ }, {
9047
+ type: 'frameview',
9048
+ id: 'frameViewSync',
9049
+ source: true,
9050
+ target: true,
9051
+ options: {
9052
+ viewportIndex: 4
9053
+ }
9054
+ }]
9055
+ },
9056
+ displaySets: [{
9057
+ id: 'defaultDisplaySetId'
9058
+ }]
9059
+ }, {
9060
+ viewportOptions: {
9061
+ toolGroupId: 'default',
9062
+ syncGroups: [{
9063
+ type: 'zoompan',
9064
+ id: 'zoompansync',
9065
+ source: true,
9066
+ target: true
9067
+ }, {
9068
+ type: 'voi',
9069
+ id: 'wlsync',
9070
+ source: true,
9071
+ target: true,
9072
+ options: {
9073
+ syncColormap: true
9074
+ }
9075
+ }, {
9076
+ type: 'frameview',
9077
+ id: 'frameViewSync',
9078
+ source: true,
9079
+ target: true,
9080
+ options: {
9081
+ viewportIndex: 5
9082
+ }
9083
+ }]
9084
+ },
9085
+ displaySets: [{
9086
+ id: 'defaultDisplaySetId'
9087
+ }]
9088
+ }, {
9089
+ viewportOptions: {
9090
+ toolGroupId: 'default',
9091
+ syncGroups: [{
9092
+ type: 'zoompan',
9093
+ id: 'zoompansync',
9094
+ source: true,
9095
+ target: true
9096
+ }, {
9097
+ type: 'voi',
9098
+ id: 'wlsync',
9099
+ source: true,
9100
+ target: true,
9101
+ options: {
9102
+ syncColormap: true
9103
+ }
9104
+ }, {
9105
+ type: 'frameview',
9106
+ id: 'frameViewSync',
9107
+ source: true,
9108
+ target: true,
9109
+ options: {
9110
+ viewportIndex: 6
9111
+ }
9112
+ }]
9113
+ },
9114
+ displaySets: [{
9115
+ id: 'defaultDisplaySetId'
9116
+ }]
9117
+ }, {
9118
+ viewportOptions: {
9119
+ toolGroupId: 'default',
9120
+ syncGroups: [{
9121
+ type: 'zoompan',
9122
+ id: 'zoompansync',
9123
+ source: true,
9124
+ target: true
9125
+ }, {
9126
+ type: 'voi',
9127
+ id: 'wlsync',
9128
+ source: true,
9129
+ target: true,
9130
+ options: {
9131
+ syncColormap: true
9132
+ }
9133
+ }, {
9134
+ type: 'frameview',
9135
+ id: 'frameViewSync',
9136
+ source: true,
9137
+ target: true,
9138
+ options: {
9139
+ viewportIndex: 7
9140
+ }
9141
+ }]
9142
+ },
9143
+ displaySets: [{
9144
+ id: 'defaultDisplaySetId'
9145
+ }]
9146
+ }, {
9147
+ viewportOptions: {
9148
+ toolGroupId: 'default',
9149
+ syncGroups: [{
9150
+ type: 'zoompan',
9151
+ id: 'zoompansync',
9152
+ source: true,
9153
+ target: true
9154
+ }, {
9155
+ type: 'voi',
9156
+ id: 'wlsync',
9157
+ source: true,
9158
+ target: true,
9159
+ options: {
9160
+ syncColormap: true
9161
+ }
9162
+ }, {
9163
+ type: 'frameview',
9164
+ id: 'frameViewSync',
9165
+ source: true,
9166
+ target: true,
9167
+ options: {
9168
+ viewportIndex: 8
9169
+ }
9170
+ }]
9171
+ },
9172
+ displaySets: [{
9173
+ id: 'defaultDisplaySetId'
9174
+ }]
9175
+ }, {
9176
+ viewportOptions: {
9177
+ toolGroupId: 'default',
9178
+ syncGroups: [{
9179
+ type: 'zoompan',
9180
+ id: 'zoompansync',
9181
+ source: true,
9182
+ target: true
9183
+ }, {
9184
+ type: 'voi',
9185
+ id: 'wlsync',
9186
+ source: true,
9187
+ target: true,
9188
+ options: {
9189
+ syncColormap: true
9190
+ }
9191
+ }, {
9192
+ type: 'frameview',
9193
+ id: 'frameViewSync',
9194
+ source: true,
9195
+ target: true,
9196
+ options: {
9197
+ viewportIndex: 9
9198
+ }
9199
+ }]
9200
+ },
9201
+ displaySets: [{
9202
+ id: 'defaultDisplaySetId'
9203
+ }]
9204
+ }, {
9205
+ viewportOptions: {
9206
+ toolGroupId: 'default',
9207
+ syncGroups: [{
9208
+ type: 'zoompan',
9209
+ id: 'zoompansync',
9210
+ source: true,
9211
+ target: true
9212
+ }, {
9213
+ type: 'voi',
9214
+ id: 'wlsync',
9215
+ source: true,
9216
+ target: true,
9217
+ options: {
9218
+ syncColormap: true
9219
+ }
9220
+ }, {
9221
+ type: 'frameview',
9222
+ id: 'frameViewSync',
9223
+ source: true,
9224
+ target: true,
9225
+ options: {
9226
+ viewportIndex: 10
9227
+ }
9228
+ }]
9229
+ },
9230
+ displaySets: [{
9231
+ id: 'defaultDisplaySetId'
9232
+ }]
9233
+ }, {
9234
+ viewportOptions: {
9235
+ toolGroupId: 'default',
9236
+ syncGroups: [{
9237
+ type: 'zoompan',
9238
+ id: 'zoompansync',
9239
+ source: true,
9240
+ target: true
9241
+ }, {
9242
+ type: 'voi',
9243
+ id: 'wlsync',
9244
+ source: true,
9245
+ target: true,
9246
+ options: {
9247
+ syncColormap: true
9248
+ }
9249
+ }, {
9250
+ type: 'frameview',
9251
+ id: 'frameViewSync',
9252
+ source: true,
9253
+ target: true,
9254
+ options: {
9255
+ viewportIndex: 11
9256
+ }
9257
+ }]
9258
+ },
9259
+ displaySets: [{
9260
+ id: 'defaultDisplaySetId'
9261
+ }]
9262
+ }, {
9263
+ viewportOptions: {
9264
+ toolGroupId: 'default',
9265
+ syncGroups: [{
9266
+ type: 'zoompan',
9267
+ id: 'zoompansync',
9268
+ source: true,
9269
+ target: true
9270
+ }, {
9271
+ type: 'voi',
9272
+ id: 'wlsync',
9273
+ source: true,
9274
+ target: true,
9275
+ options: {
9276
+ syncColormap: true
9277
+ }
9278
+ }, {
9279
+ type: 'frameview',
9280
+ id: 'frameViewSync',
9281
+ source: true,
9282
+ target: true,
9283
+ options: {
9284
+ viewportIndex: 12
9285
+ }
9286
+ }]
9287
+ },
9288
+ displaySets: [{
9289
+ id: 'defaultDisplaySetId'
9290
+ }]
9291
+ }, {
9292
+ viewportOptions: {
9293
+ toolGroupId: 'default',
9294
+ syncGroups: [{
9295
+ type: 'zoompan',
9296
+ id: 'zoompansync',
9297
+ source: true,
9298
+ target: true
9299
+ }, {
9300
+ type: 'voi',
9301
+ id: 'wlsync',
9302
+ source: true,
9303
+ target: true,
9304
+ options: {
9305
+ syncColormap: true
9306
+ }
9307
+ }, {
9308
+ type: 'frameview',
9309
+ id: 'frameViewSync',
9310
+ source: true,
9311
+ target: true,
9312
+ options: {
9313
+ viewportIndex: 13
9314
+ }
9315
+ }]
9316
+ },
9317
+ displaySets: [{
9318
+ id: 'defaultDisplaySetId'
9319
+ }]
9320
+ }, {
9321
+ viewportOptions: {
9322
+ toolGroupId: 'default',
9323
+ syncGroups: [{
9324
+ type: 'zoompan',
9325
+ id: 'zoompansync',
9326
+ source: true,
9327
+ target: true
9328
+ }, {
9329
+ type: 'voi',
9330
+ id: 'wlsync',
9331
+ source: true,
9332
+ target: true,
9333
+ options: {
9334
+ syncColormap: true
9335
+ }
9336
+ }, {
9337
+ type: 'frameview',
9338
+ id: 'frameViewSync',
9339
+ source: true,
9340
+ target: true,
9341
+ options: {
9342
+ viewportIndex: 14
9343
+ }
9344
+ }]
9345
+ },
9346
+ displaySets: [{
9347
+ id: 'defaultDisplaySetId'
9348
+ }]
9349
+ }, {
9350
+ viewportOptions: {
9351
+ toolGroupId: 'default',
9352
+ syncGroups: [{
9353
+ type: 'zoompan',
9354
+ id: 'zoompansync',
9355
+ source: true,
9356
+ target: true
9357
+ }, {
9358
+ type: 'voi',
9359
+ id: 'wlsync',
9360
+ source: true,
9361
+ target: true,
9362
+ options: {
9363
+ syncColormap: true
9364
+ }
9365
+ }, {
9366
+ type: 'frameview',
9367
+ id: 'frameViewSync',
9368
+ source: true,
9369
+ target: true,
9370
+ options: {
9371
+ viewportIndex: 15
9372
+ }
9373
+ }]
9374
+ },
9375
+ displaySets: [{
9376
+ id: 'defaultDisplaySetId'
9377
+ }]
9378
+ }]
9379
+ }, {
9380
+ name: 'frameView',
9381
+ id: '3x3',
9382
+ viewportStructure: {
9383
+ layoutType: 'grid',
9384
+ properties: {
9385
+ rows: 3,
9386
+ columns: 3
9387
+ }
9388
+ },
9389
+ viewports: [{
9390
+ viewportOptions: {
9391
+ toolGroupId: 'default',
9392
+ syncGroups: [{
9393
+ type: 'zoompan',
9394
+ id: 'zoompansync',
9395
+ source: true,
9396
+ target: true
9397
+ }, {
9398
+ type: 'voi',
9399
+ id: 'wlsync',
9400
+ source: true,
9401
+ target: true,
9402
+ options: {
9403
+ syncColormap: true
9404
+ }
9405
+ }, {
9406
+ type: 'frameview',
9407
+ id: 'frameViewSync',
9408
+ source: true,
9409
+ target: true,
9410
+ options: {
9411
+ viewportIndex: 0
9412
+ }
9413
+ }]
9414
+ },
9415
+ displaySets: [{
9416
+ id: 'defaultDisplaySetId'
9417
+ }]
9418
+ }, {
9419
+ viewportOptions: {
9420
+ toolGroupId: 'default',
9421
+ syncGroups: [{
9422
+ type: 'zoompan',
9423
+ id: 'zoompansync',
9424
+ source: true,
9425
+ target: true
9426
+ }, {
9427
+ type: 'voi',
9428
+ id: 'wlsync',
9429
+ source: true,
9430
+ target: true,
9431
+ options: {
9432
+ syncColormap: true
9433
+ }
9434
+ }, {
9435
+ type: 'frameview',
9436
+ id: 'frameViewSync',
9437
+ source: true,
9438
+ target: true,
9439
+ options: {
9440
+ viewportIndex: 1
9441
+ }
9442
+ }]
9443
+ },
9444
+ displaySets: [{
9445
+ id: 'defaultDisplaySetId'
9446
+ }]
9447
+ }, {
9448
+ viewportOptions: {
9449
+ toolGroupId: 'default',
9450
+ syncGroups: [{
9451
+ type: 'zoompan',
9452
+ id: 'zoompansync',
9453
+ source: true,
9454
+ target: true
9455
+ }, {
9456
+ type: 'voi',
9457
+ id: 'wlsync',
9458
+ source: true,
9459
+ target: true,
9460
+ options: {
9461
+ syncColormap: true
9462
+ }
9463
+ }, {
9464
+ type: 'frameview',
9465
+ id: 'frameViewSync',
9466
+ source: true,
9467
+ target: true,
9468
+ options: {
9469
+ viewportIndex: 2
9470
+ }
9471
+ }]
9472
+ },
9473
+ displaySets: [{
9474
+ id: 'defaultDisplaySetId'
9475
+ }]
9476
+ }, {
9477
+ viewportOptions: {
9478
+ toolGroupId: 'default',
9479
+ syncGroups: [{
9480
+ type: 'zoompan',
9481
+ id: 'zoompansync',
9482
+ source: true,
9483
+ target: true
9484
+ }, {
9485
+ type: 'voi',
9486
+ id: 'wlsync',
9487
+ source: true,
9488
+ target: true,
9489
+ options: {
9490
+ syncColormap: true
9491
+ }
9492
+ }, {
9493
+ type: 'frameview',
9494
+ id: 'frameViewSync',
9495
+ source: true,
9496
+ target: true,
9497
+ options: {
9498
+ viewportIndex: 3
9499
+ }
9500
+ }]
9501
+ },
9502
+ displaySets: [{
9503
+ id: 'defaultDisplaySetId'
9504
+ }]
9505
+ }, {
9506
+ viewportOptions: {
9507
+ toolGroupId: 'default',
9508
+ syncGroups: [{
9509
+ type: 'zoompan',
9510
+ id: 'zoompansync',
9511
+ source: true,
9512
+ target: true
9513
+ }, {
9514
+ type: 'voi',
9515
+ id: 'wlsync',
9516
+ source: true,
9517
+ target: true,
9518
+ options: {
9519
+ syncColormap: true
9520
+ }
9521
+ }, {
9522
+ type: 'frameview',
9523
+ id: 'frameViewSync',
9524
+ source: true,
9525
+ target: true,
9526
+ options: {
9527
+ viewportIndex: 4
9528
+ }
9529
+ }]
9530
+ },
9531
+ displaySets: [{
9532
+ id: 'defaultDisplaySetId'
9533
+ }]
9534
+ }, {
9535
+ viewportOptions: {
9536
+ toolGroupId: 'default',
9537
+ syncGroups: [{
9538
+ type: 'zoompan',
9539
+ id: 'zoompansync',
9540
+ source: true,
9541
+ target: true
9542
+ }, {
9543
+ type: 'voi',
9544
+ id: 'wlsync',
9545
+ source: true,
9546
+ target: true,
9547
+ options: {
9548
+ syncColormap: true
9549
+ }
9550
+ }, {
9551
+ type: 'frameview',
9552
+ id: 'frameViewSync',
9553
+ source: true,
9554
+ target: true,
9555
+ options: {
9556
+ viewportIndex: 5
9557
+ }
9558
+ }]
9559
+ },
9560
+ displaySets: [{
9561
+ id: 'defaultDisplaySetId'
9562
+ }]
9563
+ }, {
9564
+ viewportOptions: {
9565
+ toolGroupId: 'default',
9566
+ syncGroups: [{
9567
+ type: 'zoompan',
9568
+ id: 'zoompansync',
9569
+ source: true,
9570
+ target: true
9571
+ }, {
9572
+ type: 'voi',
9573
+ id: 'wlsync',
9574
+ source: true,
9575
+ target: true,
9576
+ options: {
9577
+ syncColormap: true
9578
+ }
9579
+ }, {
9580
+ type: 'frameview',
9581
+ id: 'frameViewSync',
9582
+ source: true,
9583
+ target: true,
9584
+ options: {
9585
+ viewportIndex: 6
9586
+ }
9587
+ }]
9588
+ },
9589
+ displaySets: [{
9590
+ id: 'defaultDisplaySetId'
9591
+ }]
9592
+ }, {
9593
+ viewportOptions: {
9594
+ toolGroupId: 'default',
9595
+ syncGroups: [{
9596
+ type: 'zoompan',
9597
+ id: 'zoompansync',
9598
+ source: true,
9599
+ target: true
9600
+ }, {
9601
+ type: 'voi',
9602
+ id: 'wlsync',
9603
+ source: true,
9604
+ target: true,
9605
+ options: {
9606
+ syncColormap: true
9607
+ }
9608
+ }, {
9609
+ type: 'frameview',
9610
+ id: 'frameViewSync',
9611
+ source: true,
9612
+ target: true,
9613
+ options: {
9614
+ viewportIndex: 7
9615
+ }
9616
+ }]
9617
+ },
9618
+ displaySets: [{
9619
+ id: 'defaultDisplaySetId'
9620
+ }]
9621
+ }, {
9622
+ viewportOptions: {
9623
+ toolGroupId: 'default',
9624
+ syncGroups: [{
9625
+ type: 'zoompan',
9626
+ id: 'zoompansync',
9627
+ source: true,
9628
+ target: true
9629
+ }, {
9630
+ type: 'voi',
9631
+ id: 'wlsync',
9632
+ source: true,
9633
+ target: true,
9634
+ options: {
9635
+ syncColormap: true
9636
+ }
9637
+ }, {
9638
+ type: 'frameview',
9639
+ id: 'frameViewSync',
9640
+ source: true,
9641
+ target: true,
9642
+ options: {
9643
+ viewportIndex: 8
9644
+ }
9645
+ }]
9646
+ },
9647
+ displaySets: [{
9648
+ id: 'defaultDisplaySetId'
9649
+ }]
9650
+ }]
9651
+ }, {
9652
+ name: 'frameView',
9653
+ id: '3x2',
9654
+ viewportStructure: {
9655
+ layoutType: 'grid',
9656
+ properties: {
9657
+ rows: 2,
9658
+ columns: 3
9659
+ }
9660
+ },
9661
+ viewports: [{
9662
+ viewportOptions: {
9663
+ toolGroupId: 'default',
9664
+ syncGroups: [{
9665
+ type: 'zoompan',
9666
+ id: 'zoompansync',
9667
+ source: true,
9668
+ target: true
9669
+ }, {
9670
+ type: 'voi',
9671
+ id: 'wlsync',
9672
+ source: true,
9673
+ target: true,
9674
+ options: {
9675
+ syncColormap: true
9676
+ }
9677
+ }, {
9678
+ type: 'frameview',
9679
+ id: 'frameViewSync',
9680
+ source: true,
9681
+ target: true,
9682
+ options: {
9683
+ viewportIndex: 0
9684
+ }
9685
+ }]
9686
+ },
9687
+ displaySets: [{
9688
+ id: 'defaultDisplaySetId'
9689
+ }]
9690
+ }, {
9691
+ viewportOptions: {
9692
+ toolGroupId: 'default',
9693
+ syncGroups: [{
9694
+ type: 'zoompan',
9695
+ id: 'zoompansync',
9696
+ source: true,
9697
+ target: true
9698
+ }, {
9699
+ type: 'voi',
9700
+ id: 'wlsync',
9701
+ source: true,
9702
+ target: true,
9703
+ options: {
9704
+ syncColormap: true
9705
+ }
9706
+ }, {
9707
+ type: 'frameview',
9708
+ id: 'frameViewSync',
9709
+ source: true,
9710
+ target: true,
9711
+ options: {
9712
+ viewportIndex: 1
9713
+ }
9714
+ }]
9715
+ },
9716
+ displaySets: [{
9717
+ id: 'defaultDisplaySetId'
9718
+ }]
9719
+ }, {
9720
+ viewportOptions: {
9721
+ toolGroupId: 'default',
9722
+ syncGroups: [{
9723
+ type: 'zoompan',
9724
+ id: 'zoompansync',
9725
+ source: true,
9726
+ target: true
9727
+ }, {
9728
+ type: 'voi',
9729
+ id: 'wlsync',
9730
+ source: true,
9731
+ target: true,
9732
+ options: {
9733
+ syncColormap: true
9734
+ }
9735
+ }, {
9736
+ type: 'frameview',
9737
+ id: 'frameViewSync',
9738
+ source: true,
9739
+ target: true,
9740
+ options: {
9741
+ viewportIndex: 2
9742
+ }
9743
+ }]
9744
+ },
9745
+ displaySets: [{
9746
+ id: 'defaultDisplaySetId'
9747
+ }]
9748
+ }, {
9749
+ viewportOptions: {
9750
+ toolGroupId: 'default',
9751
+ syncGroups: [{
9752
+ type: 'zoompan',
9753
+ id: 'zoompansync',
9754
+ source: true,
9755
+ target: true
9756
+ }, {
9757
+ type: 'voi',
9758
+ id: 'wlsync',
9759
+ source: true,
9760
+ target: true,
9761
+ options: {
9762
+ syncColormap: true
9763
+ }
9764
+ }, {
9765
+ type: 'frameview',
9766
+ id: 'frameViewSync',
9767
+ source: true,
9768
+ target: true,
9769
+ options: {
9770
+ viewportIndex: 3
9771
+ }
9772
+ }]
9773
+ },
9774
+ displaySets: [{
9775
+ id: 'defaultDisplaySetId'
9776
+ }]
9777
+ }, {
9778
+ viewportOptions: {
9779
+ toolGroupId: 'default',
9780
+ syncGroups: [{
9781
+ type: 'zoompan',
9782
+ id: 'zoompansync',
9783
+ source: true,
9784
+ target: true
9785
+ }, {
9786
+ type: 'voi',
9787
+ id: 'wlsync',
9788
+ source: true,
9789
+ target: true,
9790
+ options: {
9791
+ syncColormap: true
9792
+ }
9793
+ }, {
9794
+ type: 'frameview',
9795
+ id: 'frameViewSync',
9796
+ source: true,
9797
+ target: true,
9798
+ options: {
9799
+ viewportIndex: 4
9800
+ }
9801
+ }]
9802
+ },
9803
+ displaySets: [{
9804
+ id: 'defaultDisplaySetId'
9805
+ }]
9806
+ }, {
9807
+ viewportOptions: {
9808
+ toolGroupId: 'default',
9809
+ syncGroups: [{
9810
+ type: 'zoompan',
9811
+ id: 'zoompansync',
9812
+ source: true,
9813
+ target: true
9814
+ }, {
9815
+ type: 'voi',
9816
+ id: 'wlsync',
9817
+ source: true,
9818
+ target: true,
9819
+ options: {
9820
+ syncColormap: true
9821
+ }
9822
+ }, {
9823
+ type: 'frameview',
9824
+ id: 'frameViewSync',
9825
+ source: true,
9826
+ target: true,
9827
+ options: {
9828
+ viewportIndex: 5
9829
+ }
9830
+ }]
9831
+ },
9832
+ displaySets: [{
9833
+ id: 'defaultDisplaySetId'
9834
+ }]
9835
+ }]
9836
+ }, {
9837
+ name: 'frameView',
9838
+ id: '2x2',
9839
+ viewportStructure: {
9840
+ layoutType: 'grid',
9841
+ properties: {
9842
+ rows: 2,
9843
+ columns: 2
9844
+ }
9845
+ },
9846
+ viewports: [{
9847
+ viewportOptions: {
9848
+ toolGroupId: 'default',
9849
+ syncGroups: [{
9850
+ type: 'zoompan',
9851
+ id: 'zoompansync',
9852
+ source: true,
9853
+ target: true
9854
+ }, {
9855
+ type: 'voi',
9856
+ id: 'wlsync',
9857
+ source: true,
9858
+ target: true,
9859
+ options: {
9860
+ syncColormap: true
9861
+ }
9862
+ }, {
9863
+ type: 'frameview',
9864
+ id: 'frameViewSync',
9865
+ source: true,
9866
+ target: true,
9867
+ options: {
9868
+ viewportIndex: 0
9869
+ }
9870
+ }]
9871
+ },
9872
+ displaySets: [{
9873
+ id: 'defaultDisplaySetId'
9874
+ }]
9875
+ }, {
9876
+ viewportOptions: {
9877
+ toolGroupId: 'default',
9878
+ syncGroups: [{
9879
+ type: 'zoompan',
9880
+ id: 'zoompansync',
9881
+ source: true,
9882
+ target: true
9883
+ }, {
9884
+ type: 'voi',
9885
+ id: 'wlsync',
9886
+ source: true,
9887
+ target: true,
9888
+ options: {
9889
+ syncColormap: true
9890
+ }
9891
+ }, {
9892
+ type: 'frameview',
9893
+ id: 'frameViewSync',
9894
+ source: true,
9895
+ target: true,
9896
+ options: {
9897
+ viewportIndex: 1
9898
+ }
9899
+ }]
9900
+ },
9901
+ displaySets: [{
9902
+ id: 'defaultDisplaySetId'
9903
+ }]
9904
+ }, {
9905
+ viewportOptions: {
9906
+ toolGroupId: 'default',
9907
+ syncGroups: [{
9908
+ type: 'zoompan',
9909
+ id: 'zoompansync',
9910
+ source: true,
9911
+ target: true
9912
+ }, {
9913
+ type: 'voi',
9914
+ id: 'wlsync',
9915
+ source: true,
9916
+ target: true,
9917
+ options: {
9918
+ syncColormap: true
9919
+ }
9920
+ }, {
9921
+ type: 'frameview',
9922
+ id: 'frameViewSync',
9923
+ source: true,
9924
+ target: true,
9925
+ options: {
9926
+ viewportIndex: 2
9927
+ }
9928
+ }]
9929
+ },
9930
+ displaySets: [{
9931
+ id: 'defaultDisplaySetId'
9932
+ }]
9933
+ }, {
9934
+ viewportOptions: {
9935
+ toolGroupId: 'default',
9936
+ syncGroups: [{
9937
+ type: 'zoompan',
9938
+ id: 'zoompansync',
9939
+ source: true,
9940
+ target: true
9941
+ }, {
9942
+ type: 'voi',
9943
+ id: 'wlsync',
9944
+ source: true,
9945
+ target: true,
9946
+ options: {
9947
+ syncColormap: true
9948
+ }
9949
+ }, {
9950
+ type: 'frameview',
9951
+ id: 'frameViewSync',
9952
+ source: true,
9953
+ target: true,
9954
+ options: {
9955
+ viewportIndex: 3
9956
+ }
9957
+ }]
9958
+ },
9959
+ displaySets: [{
9960
+ id: 'defaultDisplaySetId'
9961
+ }]
9962
+ }]
9963
+ }, {
9964
+ name: 'frameView',
9965
+ id: '1x3',
9966
+ viewportStructure: {
9967
+ layoutType: 'grid',
9968
+ properties: {
9969
+ rows: 1,
9970
+ columns: 3
9971
+ }
9972
+ },
9973
+ viewports: [{
9974
+ viewportOptions: {
9975
+ toolGroupId: 'default',
9976
+ syncGroups: [{
9977
+ type: 'zoompan',
9978
+ id: 'zoompansync',
9979
+ source: true,
9980
+ target: true
9981
+ }, {
9982
+ type: 'voi',
9983
+ id: 'wlsync',
9984
+ source: true,
9985
+ target: true,
9986
+ options: {
9987
+ syncColormap: true
9988
+ }
9989
+ }, {
9990
+ type: 'frameview',
9991
+ id: 'frameViewSync',
9992
+ source: true,
9993
+ target: true,
9994
+ options: {
9995
+ viewportIndex: 0
9996
+ }
9997
+ }]
9998
+ },
9999
+ displaySets: [{
10000
+ id: 'defaultDisplaySetId'
10001
+ }]
10002
+ }, {
10003
+ viewportOptions: {
10004
+ toolGroupId: 'default',
10005
+ syncGroups: [{
10006
+ type: 'zoompan',
10007
+ id: 'zoompansync',
10008
+ source: true,
10009
+ target: true
10010
+ }, {
10011
+ type: 'voi',
10012
+ id: 'wlsync',
10013
+ source: true,
10014
+ target: true,
10015
+ options: {
10016
+ syncColormap: true
10017
+ }
10018
+ }, {
10019
+ type: 'frameview',
10020
+ id: 'frameViewSync',
10021
+ source: true,
10022
+ target: true,
10023
+ options: {
10024
+ viewportIndex: 1
10025
+ }
10026
+ }]
10027
+ },
10028
+ displaySets: [{
10029
+ id: 'defaultDisplaySetId'
10030
+ }]
10031
+ }, {
10032
+ viewportOptions: {
10033
+ toolGroupId: 'default',
10034
+ syncGroups: [{
10035
+ type: 'zoompan',
10036
+ id: 'zoompansync',
10037
+ source: true,
10038
+ target: true
10039
+ }, {
10040
+ type: 'voi',
10041
+ id: 'wlsync',
10042
+ source: true,
10043
+ target: true,
10044
+ options: {
10045
+ syncColormap: true
10046
+ }
10047
+ }, {
10048
+ type: 'frameview',
10049
+ id: 'frameViewSync',
10050
+ source: true,
10051
+ target: true,
10052
+ options: {
10053
+ viewportIndex: 2
10054
+ }
10055
+ }]
10056
+ },
10057
+ displaySets: [{
10058
+ id: 'defaultDisplaySetId'
10059
+ }]
10060
+ }]
10061
+ }, {
10062
+ name: 'frameView',
10063
+ id: '1x2',
10064
+ viewportStructure: {
10065
+ layoutType: 'grid',
10066
+ properties: {
10067
+ rows: 1,
10068
+ columns: 2
10069
+ }
10070
+ },
10071
+ viewports: [{
10072
+ viewportOptions: {
10073
+ toolGroupId: 'default',
10074
+ syncGroups: [{
10075
+ type: 'zoompan',
10076
+ id: 'zoompansync',
10077
+ source: true,
10078
+ target: true
10079
+ }, {
10080
+ type: 'voi',
10081
+ id: 'wlsync',
10082
+ source: true,
10083
+ target: true,
10084
+ options: {
10085
+ syncColormap: true
10086
+ }
10087
+ }, {
10088
+ type: 'frameview',
10089
+ id: 'frameViewSync',
10090
+ source: true,
10091
+ target: true,
10092
+ options: {
10093
+ viewportIndex: 0
10094
+ }
10095
+ }]
10096
+ },
10097
+ displaySets: [{
10098
+ id: 'defaultDisplaySetId'
10099
+ }]
10100
+ }, {
10101
+ viewportOptions: {
10102
+ toolGroupId: 'default',
10103
+ syncGroups: [{
10104
+ type: 'zoompan',
10105
+ id: 'zoompansync',
10106
+ source: true,
10107
+ target: true
10108
+ }, {
10109
+ type: 'voi',
10110
+ id: 'wlsync',
10111
+ source: true,
10112
+ target: true,
10113
+ options: {
10114
+ syncColormap: true
10115
+ }
10116
+ }, {
10117
+ type: 'frameview',
10118
+ id: 'frameViewSync',
10119
+ source: true,
10120
+ target: true,
10121
+ options: {
10122
+ viewportIndex: 1
10123
+ }
10124
+ }]
10125
+ },
10126
+ displaySets: [{
10127
+ id: 'defaultDisplaySetId'
10128
+ }]
10129
+ }]
10130
+ }]
10131
+ };
10132
+
10133
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/getHangingProtocolModule.ts
10134
+
10135
+
10136
+
10137
+
10138
+
10139
+
10140
+
10141
+
10142
+ function getHangingProtocolModule() {
10143
+ return [{
10144
+ name: mpr.id,
10145
+ protocol: mpr
10146
+ }, {
10147
+ name: mprAnd3DVolumeViewport.id,
10148
+ protocol: mprAnd3DVolumeViewport
10149
+ }, {
10150
+ name: fourUp.id,
10151
+ protocol: fourUp
10152
+ }, {
10153
+ name: main3D.id,
10154
+ protocol: main3D
10155
+ }, {
10156
+ name: primaryAxial.id,
10157
+ protocol: primaryAxial
10158
+ }, {
10159
+ name: only3D.id,
10160
+ protocol: only3D
10161
+ }, {
10162
+ name: primary3D.id,
10163
+ protocol: primary3D
10164
+ }, {
10165
+ name: frameView.id,
10166
+ protocol: frameView
10167
+ }];
10168
+ }
10169
+ /* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
10170
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/getToolbarModule.tsx
10171
+
10172
+ const getToggledClassName = isToggled => {
10173
+ return isToggled ? '!text-primary-active' : '!text-common-bright hover:!bg-primary-dark hover:text-primary-light';
10174
+ };
10175
+ function getToolbarModule({
10176
+ commandsManager,
10177
+ servicesManager
10178
+ }) {
10179
+ const {
10180
+ toolGroupService,
8325
10181
  toolbarService,
8326
10182
  syncGroupService,
8327
10183
  cornerstoneViewportService,
@@ -8553,7 +10409,7 @@ function getToolbarModule({
8553
10409
  }
8554
10410
  const displaySets = displaySetUIDs.map(displaySetService.getDisplaySetByUID);
8555
10411
  const areReconstructable = displaySets.every(displaySet => {
8556
- return displaySet.isReconstructable;
10412
+ return displaySet?.isReconstructable;
8557
10413
  });
8558
10414
  if (!areReconstructable) {
8559
10415
  return {
@@ -8646,7 +10502,7 @@ class ToolGroupService {
8646
10502
  this.uiNotificationService = uiNotificationService;
8647
10503
  this.listeners = {};
8648
10504
  this.EVENTS = ToolGroupService_EVENTS;
8649
- Object.assign(this, src/* pubSubServiceInterface */.Ml);
10505
+ Object.assign(this, src/* pubSubServiceInterface */.KZ);
8650
10506
  this._init();
8651
10507
  }
8652
10508
  onModeExit() {
@@ -8919,7 +10775,7 @@ class SyncGroupService {
8919
10775
  this.listeners = {};
8920
10776
  this.EVENTS = SyncGroupService_EVENTS;
8921
10777
  //
8922
- Object.assign(this, src/* pubSubServiceInterface */.Ml);
10778
+ Object.assign(this, src/* pubSubServiceInterface */.KZ);
8923
10779
  }
8924
10780
  _createSynchronizer(type, id, options) {
8925
10781
  // Initialize if not already done
@@ -8951,6 +10807,15 @@ class SyncGroupService {
8951
10807
  return dist_esm.SynchronizerManager.getSynchronizer(id);
8952
10808
  }
8953
10809
 
10810
+ /**
10811
+ * Registers a custom synchronizer.
10812
+ * @param id - The id of the synchronizer.
10813
+ * @param createFunction - The function that creates the synchronizer.
10814
+ */
10815
+ registerCustomSynchronizer(id, createFunction) {
10816
+ this.synchronizerCreators[id] = createFunction;
10817
+ }
10818
+
8954
10819
  /**
8955
10820
  * Retrieves an array of synchronizers of a specific type.
8956
10821
  * @param type - The type of synchronizers to retrieve.
@@ -9082,7 +10947,7 @@ SyncGroupService.REGISTRATION = {
9082
10947
 
9083
10948
  /* harmony default export */ const services_SyncGroupService = (SyncGroupService);
9084
10949
  // EXTERNAL MODULE: ../../../node_modules/lodash.isequal/index.js
9085
- var lodash_isequal = __webpack_require__(71932);
10950
+ var lodash_isequal = __webpack_require__(10311);
9086
10951
  var lodash_isequal_default = /*#__PURE__*/__webpack_require__.n(lodash_isequal);
9087
10952
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/transitions.ts
9088
10953
  /**
@@ -9197,7 +11062,7 @@ const SEGMENT_CONSTANT = {
9197
11062
  isLocked: false
9198
11063
  };
9199
11064
  const VOLUME_LOADER_SCHEME = 'cornerstoneStreamingImageVolume';
9200
- class SegmentationService extends src/* PubSubService */.Rc {
11065
+ class SegmentationService extends src/* PubSubService */.hC {
9201
11066
  constructor({
9202
11067
  servicesManager
9203
11068
  }) {
@@ -11272,7 +13137,7 @@ const CornerstoneViewportService_EVENTS = {
11272
13137
  * Handles cornerstone viewport logic including enabling, disabling, and
11273
13138
  * updating the viewport.
11274
13139
  */
11275
- class CornerstoneViewportService extends src/* PubSubService */.Rc {
13140
+ class CornerstoneViewportService extends src/* PubSubService */.hC {
11276
13141
  constructor(servicesManager) {
11277
13142
  super(CornerstoneViewportService_EVENTS);
11278
13143
  this.renderingEngine = void 0;
@@ -12253,7 +14118,7 @@ var _ColorbarService;
12253
14118
  const {
12254
14119
  ViewportColorbar
12255
14120
  } = dist_esm.utilities.voi.colorbar;
12256
- class ColorbarService extends src/* PubSubService */.Rc {
14121
+ class ColorbarService extends src/* PubSubService */.hC {
12257
14122
  constructor() {
12258
14123
  super(ColorbarService.EVENTS);
12259
14124
  this.colorbars = {};
@@ -12519,7 +14384,7 @@ ColorbarService.REGISTRATION = {
12519
14384
 
12520
14385
 
12521
14386
  // EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
12522
- var dicomweb_client_es = __webpack_require__(36922);
14387
+ var dicomweb_client_es = __webpack_require__(97604);
12523
14388
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/dicomLoaderService.js
12524
14389
 
12525
14390
 
@@ -12568,13 +14433,13 @@ const cornerstoneRetriever = imageId => {
12568
14433
  return image && image.data && image.data.byteArray.buffer;
12569
14434
  });
12570
14435
  };
12571
- const wadorsRetriever = (url, studyInstanceUID, seriesInstanceUID, sopInstanceUID, headers = src.DICOMWeb.getAuthorizationHeader(), errorInterceptor = src/* errorHandler */.r_.getHTTPErrorHandler()) => {
14436
+ const wadorsRetriever = (url, studyInstanceUID, seriesInstanceUID, sopInstanceUID, headers = src.DICOMWeb.getAuthorizationHeader(), errorInterceptor = src/* errorHandler */.Po.getHTTPErrorHandler()) => {
12572
14437
  const config = {
12573
14438
  url,
12574
14439
  headers,
12575
14440
  errorInterceptor
12576
14441
  };
12577
- const dicomWeb = new dicomweb_client_es/* api */.FH.DICOMwebClient(config);
14442
+ const dicomWeb = new dicomweb_client_es.api.DICOMwebClient(config);
12578
14443
  return dicomWeb.retrieveInstance({
12579
14444
  studyInstanceUID,
12580
14445
  seriesInstanceUID,
@@ -12690,23 +14555,23 @@ class DicomLoaderService {
12690
14555
  const dicomLoaderService = new DicomLoaderService();
12691
14556
  /* harmony default export */ const utils_dicomLoaderService = (dicomLoaderService);
12692
14557
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/package.json
12693
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-cornerstone"}');
14558
+ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-cornerstone"}');
12694
14559
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/id.js
12695
14560
 
12696
- const id = package_namespaceObject.UU;
14561
+ const id = package_namespaceObject.u2;
12697
14562
 
12698
14563
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/index.ts
12699
14564
 
12700
14565
 
12701
14566
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/services/ViewportActionCornersService/ViewportActionCornersService.ts
12702
- var ViewportActionCornersService = __webpack_require__(2447);
14567
+ var ViewportActionCornersService = __webpack_require__(13580);
12703
14568
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/contextProviders/ViewportActionCornersProvider.tsx
12704
- var ViewportActionCornersProvider = __webpack_require__(40684);
14569
+ var ViewportActionCornersProvider = __webpack_require__(71645);
12705
14570
  // EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
12706
- var lodash_debounce = __webpack_require__(14771);
14571
+ var lodash_debounce = __webpack_require__(8324);
12707
14572
  var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
12708
- // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps.js + 1 modules
12709
- var ColorMaps = __webpack_require__(12882);
14573
+ // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps.js
14574
+ var ColorMaps = __webpack_require__(31239);
12710
14575
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/ViewportWindowLevel/getViewportVolumeHistogram.ts
12711
14576
 
12712
14577
  const workerManager = (0,esm.getWebWorkerManager)();
@@ -12720,7 +14585,7 @@ const WorkerOptions = {
12720
14585
 
12721
14586
  // Register the task
12722
14587
  const workerFn = () => {
12723
- return new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(54), __webpack_require__.b), {
14588
+ return new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(158), __webpack_require__.b), {
12724
14589
  name: 'histogram-worker' // name used by the browser to name the worker
12725
14590
  });
12726
14591
  };
@@ -12924,7 +14789,7 @@ const ViewportWindowLevel = ({
12924
14789
  } = viewportInfo.displaySetOptions[volumeIndex];
12925
14790
  let colormap;
12926
14791
  if (displaySetColormap) {
12927
- colormap = esm.utilities.colormap.getColormap(displaySetColormap.name) ?? ColorMaps/* default */.A.getPresetByName(displaySetColormap.name);
14792
+ colormap = esm.utilities.colormap.getColormap(displaySetColormap.name) ?? ColorMaps/* default */.Z.getPresetByName(displaySetColormap.name);
12928
14793
  }
12929
14794
  const voi = !volumeIndex ? viewportVoi ?? displaySetVOI : displaySetVOI;
12930
14795
  return {
@@ -13051,13 +14916,13 @@ const ViewportWindowLevel = ({
13051
14916
  unsubscribe();
13052
14917
  };
13053
14918
  }, [viewportId, cornerstoneViewportService, updateViewportHistograms]);
13054
- return /*#__PURE__*/react.createElement(ui_src/* PanelSection */.aU, {
14919
+ return /*#__PURE__*/react.createElement(ui_src/* PanelSection */.cw, {
13055
14920
  title: "Window Level"
13056
14921
  }, windowLevels.map((windowLevel, i) => {
13057
14922
  if (!windowLevel.histogram) {
13058
14923
  return null;
13059
14924
  }
13060
- return /*#__PURE__*/react.createElement(ui_src/* WindowLevel */.bL, {
14925
+ return /*#__PURE__*/react.createElement(ui_src/* WindowLevel */._N, {
13061
14926
  key: windowLevel.volumeId,
13062
14927
  title: `${windowLevel.modality}`,
13063
14928
  histogram: windowLevel.histogram,
@@ -13084,7 +14949,7 @@ ViewportWindowLevel.propTypes = {
13084
14949
  const ActiveViewportWindowLevel = ({
13085
14950
  servicesManager
13086
14951
  }) => {
13087
- const [viewportGrid] = (0,ui_src/* useViewportGrid */.ih)();
14952
+ const [viewportGrid] = (0,ui_src/* useViewportGrid */.O_)();
13088
14953
  const {
13089
14954
  activeViewportId
13090
14955
  } = viewportGrid;
@@ -13099,8 +14964,43 @@ ActiveViewportWindowLevel.propTypes = {
13099
14964
  /* harmony default export */ const ActiveViewportWindowLevel_ActiveViewportWindowLevel = (ActiveViewportWindowLevel);
13100
14965
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/ActiveViewportWindowLevel/index.js
13101
14966
 
14967
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/synchronizers/frameViewSynchronizer.ts
14968
+
14969
+
14970
+ const frameViewSyncCallback = (synchronizerInstance, sourceViewport, targetViewport) => {
14971
+ const renderingEngine = (0,esm.getRenderingEngine)(targetViewport.renderingEngineId);
14972
+ if (!renderingEngine) {
14973
+ throw new Error(`No RenderingEngine for Id: ${targetViewport.renderingEngineId}`);
14974
+ }
14975
+ const sViewport = renderingEngine.getViewport(sourceViewport.viewportId);
14976
+ const {
14977
+ viewportIndex: targetViewportIndex
14978
+ } = synchronizerInstance.getOptions(targetViewport.viewportId);
14979
+ const {
14980
+ viewportIndex: sourceViewportIndex
14981
+ } = synchronizerInstance.getOptions(sourceViewport.viewportId);
14982
+ if (targetViewportIndex === undefined || sourceViewportIndex === undefined) {
14983
+ throw new Error('No viewportIndex provided');
14984
+ }
14985
+ const tViewport = renderingEngine.getViewport(targetViewport.viewportId);
14986
+ const sourceSliceIndex = sViewport.getSliceIndex();
14987
+ const sliceDifference = Number(targetViewportIndex) - Number(sourceViewportIndex);
14988
+ const targetSliceIndex = sourceSliceIndex + sliceDifference;
14989
+ if (targetSliceIndex === tViewport.getSliceIndex()) {
14990
+ return;
14991
+ }
14992
+ dist_esm.utilities.jumpToSlice(tViewport.element, {
14993
+ imageIndex: targetSliceIndex
14994
+ });
14995
+ };
14996
+ const createFrameViewSynchronizer = synchronizerName => {
14997
+ const synchronizer = dist_esm.SynchronizerManager.createSynchronizer(synchronizerName, esm.EVENTS.CAMERA_MODIFIED, frameViewSyncCallback);
14998
+ return synchronizer;
14999
+ };
15000
+
13102
15001
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/index.tsx
13103
- function src_extends() { src_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 src_extends.apply(this, arguments); }
15002
+ function src_extends() { return src_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, src_extends.apply(null, arguments); }
15003
+
13104
15004
 
13105
15005
 
13106
15006
 
@@ -13139,7 +15039,7 @@ const {
13139
15039
  getDynamicVolumeInfo
13140
15040
  } = volumeLoaderHelpers ?? {};
13141
15041
  const Component = /*#__PURE__*/react.lazy(() => {
13142
- return __webpack_require__.e(/* import() */ 139).then(__webpack_require__.bind(__webpack_require__, 56139));
15042
+ return __webpack_require__.e(/* import() */ 169).then(__webpack_require__.bind(__webpack_require__, 31169));
13143
15043
  });
13144
15044
  const OHIFCornerstoneViewport = props => {
13145
15045
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -13180,7 +15080,7 @@ const cornerstoneExtension = {
13180
15080
  esm.imageRetrievalPoolManager.clearRequestStack(type);
13181
15081
  });
13182
15082
  cineService.setIsCineEnabled(false);
13183
- (0,state/* reset */.cL)();
15083
+ (0,state/* reset */.mc)();
13184
15084
  },
13185
15085
  /**
13186
15086
  * Register the Cornerstone 3D services and set them up for use.
@@ -13197,9 +15097,13 @@ const cornerstoneExtension = {
13197
15097
  servicesManager.registerService(services_SyncGroupService.REGISTRATION);
13198
15098
  servicesManager.registerService(services_SegmentationService.REGISTRATION);
13199
15099
  servicesManager.registerService(services_CornerstoneCacheService.REGISTRATION);
13200
- servicesManager.registerService(ViewportActionCornersService/* default */.A.REGISTRATION);
15100
+ servicesManager.registerService(ViewportActionCornersService/* default */.Z.REGISTRATION);
13201
15101
  servicesManager.registerService(services_ColorbarService.REGISTRATION);
13202
- serviceProvidersManager.registerProvider(ViewportActionCornersService/* default */.A.REGISTRATION.name, ViewportActionCornersProvider/* ViewportActionCornersProvider */.It);
15102
+ serviceProvidersManager.registerProvider(ViewportActionCornersService/* default */.Z.REGISTRATION.name, ViewportActionCornersProvider/* ViewportActionCornersProvider */.cJ);
15103
+ const {
15104
+ syncGroupService
15105
+ } = servicesManager.services;
15106
+ syncGroupService.registerCustomSynchronizer('frameview', createFrameViewSynchronizer);
13203
15107
  return init.call(this, props);
13204
15108
  },
13205
15109
  getToolbarModule: getToolbarModule,
@@ -13252,7 +15156,7 @@ const cornerstoneExtension = {
13252
15156
  cornerstoneTools: dist_esm
13253
15157
  };
13254
15158
  },
13255
- getEnabledElement: state/* getEnabledElement */.kJ,
15159
+ getEnabledElement: state/* getEnabledElement */.K8,
13256
15160
  dicomLoaderService: utils_dicomLoaderService,
13257
15161
  showLabelAnnotationPopup: showLabelAnnotationPopup
13258
15162
  }
@@ -13280,18 +15184,18 @@ const cornerstoneExtension = {
13280
15184
 
13281
15185
  /***/ }),
13282
15186
 
13283
- /***/ 2447:
15187
+ /***/ 13580:
13284
15188
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
13285
15189
 
13286
15190
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13287
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
15191
+ /* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
13288
15192
  /* harmony export */ });
13289
- /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75186);
13290
- /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79047);
15193
+ /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63810);
15194
+ /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38604);
13291
15195
  var _ViewportActionCornersService;
13292
15196
 
13293
15197
 
13294
- class ViewportActionCornersService extends _ohif_core__WEBPACK_IMPORTED_MODULE_0__/* .PubSubService */ .Rc {
15198
+ class ViewportActionCornersService extends _ohif_core__WEBPACK_IMPORTED_MODULE_0__/* .PubSubService */ .hC {
13295
15199
  constructor() {
13296
15200
  super(ViewportActionCornersService.EVENTS);
13297
15201
  this.serviceImplementation = {};
@@ -13332,7 +15236,7 @@ class ViewportActionCornersService extends _ohif_core__WEBPACK_IMPORTED_MODULE_0
13332
15236
  }
13333
15237
  _ViewportActionCornersService = ViewportActionCornersService;
13334
15238
  ViewportActionCornersService.EVENTS = {};
13335
- ViewportActionCornersService.LOCATIONS = _ohif_ui__WEBPACK_IMPORTED_MODULE_1__/* .ViewportActionCornersLocations */ .ld;
15239
+ ViewportActionCornersService.LOCATIONS = _ohif_ui__WEBPACK_IMPORTED_MODULE_1__/* .ViewportActionCornersLocations */ .Hv;
13336
15240
  ViewportActionCornersService.REGISTRATION = {
13337
15241
  name: 'viewportActionCornersService',
13338
15242
  altName: 'ViewportActionCornersService',
@@ -13346,13 +15250,13 @@ ViewportActionCornersService.REGISTRATION = {
13346
15250
 
13347
15251
  /***/ }),
13348
15252
 
13349
- /***/ 83910:
15253
+ /***/ 13000:
13350
15254
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
13351
15255
 
13352
15256
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13353
- /* harmony export */ cL: () => (/* binding */ reset),
13354
- /* harmony export */ kJ: () => (/* binding */ getEnabledElement),
13355
- /* harmony export */ ye: () => (/* binding */ setEnabledElement)
15257
+ /* harmony export */ K8: () => (/* binding */ getEnabledElement),
15258
+ /* harmony export */ Yc: () => (/* binding */ setEnabledElement),
15259
+ /* harmony export */ mc: () => (/* binding */ reset)
13356
15260
  /* harmony export */ });
13357
15261
  const state = {
13358
15262
  // The `defaultContext` of an extension's commandsModule
@@ -13388,13 +15292,13 @@ const reset = () => {
13388
15292
 
13389
15293
  /***/ }),
13390
15294
 
13391
- /***/ 20928:
15295
+ /***/ 90927:
13392
15296
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
13393
15297
 
13394
15298
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13395
- /* harmony export */ A: () => (/* binding */ getSOPInstanceAttributes)
15299
+ /* harmony export */ Z: () => (/* binding */ getSOPInstanceAttributes)
13396
15300
  /* harmony export */ });
13397
- /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
15301
+ /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62709);
13398
15302
 
13399
15303
 
13400
15304
  /**