@ohif/app 3.0.0 → 3.5.0

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 (125) hide show
  1. package/dist/151.bundle.07bac9172580a60fae7a.js +2579 -0
  2. package/dist/192.bundle.62be5f0ef9705a485071.js +894 -0
  3. package/dist/199.bundle.2286f24cf0a068e7f50c.js +480 -0
  4. package/dist/205.bundle.39e6c847d618ad2b1b7a.js +62 -0
  5. package/dist/208.bundle.23748a85dfdc79c05d3a.js +864 -0
  6. package/dist/270.bundle.abbdb5348274bae3e8bc.js +23906 -0
  7. package/dist/283.bundle.33f99a75a5e2d9333da2.js +2939 -0
  8. package/dist/295.bundle.5105ce962be15c92484d.js +48 -0
  9. package/dist/331.bundle.7ac7b142d249d14fd99e.js +73034 -0
  10. package/dist/351.bundle.c5d7279ef42e30f61e08.js +1471 -0
  11. package/dist/351.css +3 -0
  12. package/dist/36785fbd89b0e17f6099.wasm +0 -0
  13. package/dist/381.bundle.0905e683605fcbc0895f.js +1009 -0
  14. package/dist/404.bundle.0f7a500421f246153d89.js +706 -0
  15. package/dist/50.bundle.4cb103cd20f5ffccf927.js +324 -0
  16. package/dist/5004fdc02f329ce53b69.wasm +0 -0
  17. package/dist/531.bundle.1bc152c87c7e2e987d2b.js +5935 -0
  18. package/dist/55.bundle.a5a215e13a8511f7aee7.js +685 -0
  19. package/dist/55.css +3 -0
  20. package/dist/569.bundle.d147c0aa0604f8ea2094.js +514 -0
  21. package/dist/581.bundle.646c89c5c3e3ee096363.js +508 -0
  22. package/dist/606.bundle.5d876f5f3dd8287f0a28.js +4939 -0
  23. package/dist/610.min.worker.js +2 -0
  24. package/dist/610.min.worker.js.map +1 -0
  25. package/dist/616.bundle.bec4736d8c9513e62856.js +686 -0
  26. package/dist/62ab5d58a2bea7b5a1dc.wasm +0 -0
  27. package/dist/642.bundle.030d908e22c8ff5611f3.js +169 -0
  28. package/dist/65916ef3def695744bda.wasm +0 -0
  29. package/dist/664.bundle.4792c88ae0d6d4b5ed13.js +901 -0
  30. package/dist/707.bundle.0a74aa3e61ed002eb3c6.js +9049 -0
  31. package/dist/707.css +1 -0
  32. package/dist/728.bundle.d13856835357400fef82.js +26221 -0
  33. package/dist/744.bundle.53b07e48e07a11e920ac.js +2355 -0
  34. package/dist/75788f12450d4c5ed494.wasm +0 -0
  35. package/dist/75a0c2dfe07b824c7d21.wasm +0 -0
  36. package/dist/780.bundle.f60ac1906e0ae080dee8.js +4769 -0
  37. package/dist/790.bundle.b4df2c5d78a2a565b150.js +454 -0
  38. package/dist/799.bundle.3fff638815e355b0bdfd.js +271 -0
  39. package/dist/806.css +1 -0
  40. package/dist/82.bundle.a24015533196e05d190e.js +6104 -0
  41. package/dist/917.bundle.a094ae9e9de6df4119ae.js +196 -0
  42. package/dist/926.bundle.dbc9d0e591cb9217fda2.js +72552 -0
  43. package/dist/935.bundle.deeffff0e4f7b528e3c3.js +1849 -0
  44. package/dist/945.min.worker.js +2 -0
  45. package/dist/945.min.worker.js.map +1 -0
  46. package/dist/953.bundle.c14d9eb6400f697019ee.js +449 -0
  47. package/dist/973.bundle.4100cf103686b64938d1.js +261 -0
  48. package/dist/976.bundle.2720eb892514e1818018.js +2725 -0
  49. package/dist/984.bundle.157fc66ea5040e1364af.js +1842 -0
  50. package/dist/_headers +6 -0
  51. package/dist/_redirects +6 -0
  52. package/dist/app-config.js +215 -0
  53. package/dist/app.bundle.253eeb2a7ee986e89c50.js +154621 -0
  54. package/dist/app.bundle.css +21 -0
  55. package/dist/assets/android-chrome-144x144.png +0 -0
  56. package/dist/assets/android-chrome-192x192.png +0 -0
  57. package/dist/assets/android-chrome-256x256.png +0 -0
  58. package/dist/assets/android-chrome-36x36.png +0 -0
  59. package/dist/assets/android-chrome-384x384.png +0 -0
  60. package/dist/assets/android-chrome-48x48.png +0 -0
  61. package/dist/assets/android-chrome-512x512.png +0 -0
  62. package/dist/assets/android-chrome-72x72.png +0 -0
  63. package/dist/assets/android-chrome-96x96.png +0 -0
  64. package/dist/assets/apple-touch-icon-1024x1024.png +0 -0
  65. package/dist/assets/apple-touch-icon-114x114.png +0 -0
  66. package/dist/assets/apple-touch-icon-120x120.png +0 -0
  67. package/dist/assets/apple-touch-icon-144x144.png +0 -0
  68. package/dist/assets/apple-touch-icon-152x152.png +0 -0
  69. package/dist/assets/apple-touch-icon-167x167.png +0 -0
  70. package/dist/assets/apple-touch-icon-180x180.png +0 -0
  71. package/dist/assets/apple-touch-icon-57x57.png +0 -0
  72. package/dist/assets/apple-touch-icon-60x60.png +0 -0
  73. package/dist/assets/apple-touch-icon-72x72.png +0 -0
  74. package/dist/assets/apple-touch-icon-76x76.png +0 -0
  75. package/dist/assets/apple-touch-icon-precomposed.png +0 -0
  76. package/dist/assets/apple-touch-icon.png +0 -0
  77. package/dist/assets/apple-touch-startup-image-1182x2208.png +0 -0
  78. package/dist/assets/apple-touch-startup-image-1242x2148.png +0 -0
  79. package/dist/assets/apple-touch-startup-image-1496x2048.png +0 -0
  80. package/dist/assets/apple-touch-startup-image-1536x2008.png +0 -0
  81. package/dist/assets/apple-touch-startup-image-320x460.png +0 -0
  82. package/dist/assets/apple-touch-startup-image-640x1096.png +0 -0
  83. package/dist/assets/apple-touch-startup-image-640x920.png +0 -0
  84. package/dist/assets/apple-touch-startup-image-748x1024.png +0 -0
  85. package/dist/assets/apple-touch-startup-image-750x1294.png +0 -0
  86. package/dist/assets/apple-touch-startup-image-768x1004.png +0 -0
  87. package/dist/assets/browserconfig.xml +12 -0
  88. package/dist/assets/coast-228x228.png +0 -0
  89. package/dist/assets/favicon-16x16.png +0 -0
  90. package/dist/assets/favicon-32x32.png +0 -0
  91. package/dist/assets/favicon.ico +0 -0
  92. package/dist/assets/firefox_app_128x128.png +0 -0
  93. package/dist/assets/firefox_app_512x512.png +0 -0
  94. package/dist/assets/firefox_app_60x60.png +0 -0
  95. package/dist/assets/manifest.webapp +14 -0
  96. package/dist/assets/mstile-144x144.png +0 -0
  97. package/dist/assets/mstile-150x150.png +0 -0
  98. package/dist/assets/mstile-310x150.png +0 -0
  99. package/dist/assets/mstile-310x310.png +0 -0
  100. package/dist/assets/mstile-70x70.png +0 -0
  101. package/dist/assets/yandex-browser-50x50.png +0 -0
  102. package/dist/assets/yandex-browser-manifest.json +9 -0
  103. package/dist/b6b803111e2d06a825bd.wasm +0 -0
  104. package/dist/c22b37c3488e1d6c3aa4.wasm +0 -0
  105. package/dist/cornerstoneDICOMImageLoader.min.js +2 -0
  106. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -0
  107. package/dist/dicom-microscopy-viewer.bundle.aa60bdf008c32c39cfd7.js +12 -0
  108. package/dist/dicomMicroscopyViewer.min.js +3 -0
  109. package/dist/dicomMicroscopyViewer.min.js.LICENSE.txt +29 -0
  110. package/dist/es6-shim.min.js +12 -0
  111. package/dist/google.js +75 -0
  112. package/dist/index.html +1 -0
  113. package/dist/index.worker.ea71efba2ce63c499055.worker.js +2 -0
  114. package/dist/index.worker.ea71efba2ce63c499055.worker.js.map +1 -0
  115. package/dist/index.worker.min.worker.js +2 -0
  116. package/dist/index.worker.min.worker.js.map +1 -0
  117. package/dist/init-service-worker.js +59 -0
  118. package/dist/manifest.json +59 -0
  119. package/dist/ohif-logo-light.svg +15 -0
  120. package/dist/ohif-logo.svg +15 -0
  121. package/dist/oidc-client.min.js +46 -0
  122. package/dist/polyfill.min.js +1 -0
  123. package/dist/silent-refresh.html +16 -0
  124. package/dist/sw.js +56 -0
  125. package/package.json +24 -23
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[50],{
3
+
4
+ /***/ 24050:
5
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
+
7
+ // ESM COMPAT FLAG
8
+ __webpack_require__.r(__webpack_exports__);
9
+
10
+ // EXPORTS
11
+ __webpack_require__.d(__webpack_exports__, {
12
+ "default": () => (/* binding */ src)
13
+ });
14
+
15
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/package.json
16
+ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-test"}');
17
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/id.js
18
+
19
+ const id = package_namespaceObject.u2;
20
+
21
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-context-menu/codingValues.ts
22
+ /**
23
+ * Coding values is a map of simple string coding values to a set of
24
+ * attributes associated with the coding value.
25
+ *
26
+ * The simple string is in the format `<codingSchemeDesignator>:<codingValue>`
27
+ * That allows extracting the DICOM attributes from the designator/value, and
28
+ * allows for passing around the simple string.
29
+ * The additional attributes contained in the object include:
30
+ * * text - this is the coding scheme text display value, and may be language specific
31
+ * * type - this defines a named type, typically 'site'. Different names can be used
32
+ * to allow setting different findingSites values in order to define a hierarchy.
33
+ * * color - used to apply annotation color
34
+ * It is also possible to define additional attributes here, used by custom
35
+ * extensions.
36
+ *
37
+ * See https://dicom.nema.org/medical/dicom/current/output/html/part16.html
38
+ * for definitions of SCT and other code values.
39
+ */
40
+ const codingValues = {
41
+ id: 'codingValues',
42
+ // Sites
43
+ 'SCT:69536005': {
44
+ text: 'Head',
45
+ type: 'site'
46
+ },
47
+ 'SCT:45048000': {
48
+ text: 'Neck',
49
+ type: 'site'
50
+ },
51
+ 'SCT:818981001': {
52
+ text: 'Abdomen',
53
+ type: 'site'
54
+ },
55
+ 'SCT:816092008': {
56
+ text: 'Pelvis',
57
+ type: 'site'
58
+ },
59
+ // Findings
60
+ 'SCT:371861004': {
61
+ text: 'Mild intimal coronary irregularities',
62
+ color: 'green'
63
+ },
64
+ 'SCT:194983005': {
65
+ text: 'Aortic insufficiency',
66
+ color: 'darkred'
67
+ },
68
+ 'SCT:399232001': {
69
+ text: '2-chamber'
70
+ },
71
+ 'SCT:103340004': {
72
+ text: 'SAX'
73
+ },
74
+ 'SCT:91134007': {
75
+ text: 'MV'
76
+ },
77
+ 'SCT:122972007': {
78
+ text: 'PV'
79
+ },
80
+ // Orientations
81
+ 'SCT:24422004': {
82
+ text: 'Axial',
83
+ color: '#000000',
84
+ type: 'orientation'
85
+ },
86
+ 'SCT:81654009': {
87
+ text: 'Coronal',
88
+ color: '#000000',
89
+ type: 'orientation'
90
+ },
91
+ 'SCT:30730003': {
92
+ text: 'Sagittal',
93
+ color: '#000000',
94
+ type: 'orientation'
95
+ }
96
+ };
97
+ /* harmony default export */ const custom_context_menu_codingValues = (codingValues);
98
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-context-menu/contextMenuCodeItem.ts
99
+ const codeMenuItem = {
100
+ id: '@ohif/contextMenuAnnotationCode',
101
+ /** Applies the code value setup for this item */
102
+ transform: function (customizationService) {
103
+ const {
104
+ code: codeRef
105
+ } = this;
106
+ if (!codeRef) throw new Error(`item ${this} has no code ref`);
107
+ const codingValues = customizationService.get('codingValues');
108
+ const code = codingValues[codeRef];
109
+ return {
110
+ ...this,
111
+ codeRef,
112
+ code: {
113
+ ref: codeRef,
114
+ ...code
115
+ },
116
+ label: code.text,
117
+ commands: [{
118
+ commandName: 'updateMeasurement'
119
+ }]
120
+ };
121
+ }
122
+ };
123
+ /* harmony default export */ const contextMenuCodeItem = (codeMenuItem);
124
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-context-menu/findingsContextMenu.ts
125
+ const findingsContextMenu = {
126
+ id: 'measurementsContextMenu',
127
+ customizationType: 'ohif.contextMenu',
128
+ menus: [{
129
+ id: 'forExistingMeasurement',
130
+ // selector restricts context menu to when there is nearbyToolData
131
+ selector: _ref => {
132
+ let {
133
+ nearbyToolData
134
+ } = _ref;
135
+ return !!nearbyToolData;
136
+ },
137
+ items: [{
138
+ customizationType: 'ohif.contextSubMenu',
139
+ label: 'Site',
140
+ actionType: 'ShowSubMenu',
141
+ subMenu: 'siteSelectionSubMenu'
142
+ }, {
143
+ customizationType: 'ohif.contextSubMenu',
144
+ label: 'Finding',
145
+ actionType: 'ShowSubMenu',
146
+ subMenu: 'findingSelectionSubMenu'
147
+ }, {
148
+ // customizationType is implicit here in the configuration setup
149
+ label: 'Delete Measurement',
150
+ commands: [{
151
+ commandName: 'deleteMeasurement'
152
+ }]
153
+ }, {
154
+ label: 'Add Label',
155
+ commands: [{
156
+ commandName: 'setMeasurementLabel'
157
+ }]
158
+ },
159
+ // The example below shows how to include a delegating sub-menu,
160
+ // Only available on the @ohif/mnGrid hanging protocol
161
+ // To demonstrate, select the 3x1 layout from the protocol menu
162
+ // and right click on a measurement.
163
+ {
164
+ label: 'IncludeSubMenu',
165
+ selector: _ref2 => {
166
+ let {
167
+ protocol
168
+ } = _ref2;
169
+ return protocol?.id === '@ohif/mnGrid';
170
+ },
171
+ delegating: true,
172
+ subMenu: 'orientationSelectionSubMenu'
173
+ }]
174
+ }, {
175
+ id: 'orientationSelectionSubMenu',
176
+ selector: _ref3 => {
177
+ let {
178
+ nearbyToolData
179
+ } = _ref3;
180
+ return false;
181
+ },
182
+ items: [{
183
+ customizationType: '@ohif/contextMenuAnnotationCode',
184
+ code: 'SCT:24422004'
185
+ }, {
186
+ customizationType: '@ohif/contextMenuAnnotationCode',
187
+ code: 'SCT:81654009'
188
+ }]
189
+ }, {
190
+ id: 'findingSelectionSubMenu',
191
+ selector: _ref4 => {
192
+ let {
193
+ nearbyToolData
194
+ } = _ref4;
195
+ return false;
196
+ },
197
+ items: [{
198
+ customizationType: '@ohif/contextMenuAnnotationCode',
199
+ code: 'SCT:371861004'
200
+ }, {
201
+ customizationType: '@ohif/contextMenuAnnotationCode',
202
+ code: 'SCT:194983005'
203
+ }]
204
+ }, {
205
+ id: 'siteSelectionSubMenu',
206
+ selector: _ref5 => {
207
+ let {
208
+ nearbyToolData
209
+ } = _ref5;
210
+ return !!nearbyToolData;
211
+ },
212
+ items: [{
213
+ customizationType: '@ohif/contextMenuAnnotationCode',
214
+ code: 'SCT:69536005'
215
+ }, {
216
+ customizationType: '@ohif/contextMenuAnnotationCode',
217
+ code: 'SCT:45048000'
218
+ }]
219
+ }]
220
+ };
221
+ /* harmony default export */ const custom_context_menu_findingsContextMenu = (findingsContextMenu);
222
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-context-menu/index.ts
223
+
224
+
225
+
226
+
227
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/getCustomizationModule.ts
228
+
229
+ function getCustomizationModule() {
230
+ return [{
231
+ name: 'custom-context-menu',
232
+ value: [custom_context_menu_codingValues, contextMenuCodeItem, custom_context_menu_findingsContextMenu]
233
+ }];
234
+ }
235
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-attribute/sameAs.ts
236
+ /**
237
+ * This function extracts an attribute from the already matched display sets, and
238
+ * compares it to the attribute in the current display set, and indicates if they match.
239
+ * From 'this', it uses:
240
+ * `sameAttribute` as the attribute name to look for
241
+ * `sameDisplaySetId` as the display set id to look for
242
+ * From `options`, it looks for
243
+ */
244
+ /* harmony default export */ function sameAs(displaySet, options) {
245
+ const {
246
+ sameAttribute,
247
+ sameDisplaySetId
248
+ } = this;
249
+ if (!sameAttribute) {
250
+ console.log("sameAttribute not defined in", this);
251
+ return `sameAttribute not defined in ${this.id}`;
252
+ }
253
+ if (!sameDisplaySetId) {
254
+ console.log("sameDisplaySetId not defined in", this);
255
+ return `sameDisplaySetId not defined in ${this.id}`;
256
+ }
257
+ const {
258
+ displaySetMatchDetails,
259
+ displaySets
260
+ } = options;
261
+ const match = displaySetMatchDetails.get(sameDisplaySetId);
262
+ if (!match) {
263
+ console.log("No match for display set", sameDisplaySetId);
264
+ return false;
265
+ }
266
+ const {
267
+ displaySetInstanceUID
268
+ } = match;
269
+ const altDisplaySet = displaySets.find(it => it.displaySetInstanceUID == displaySetInstanceUID);
270
+ if (!altDisplaySet) {
271
+ console.log("No display set found with", displaySetInstanceUID, "in", displaySets);
272
+ return false;
273
+ }
274
+ const testValue = altDisplaySet[sameAttribute];
275
+ return testValue === displaySet[sameAttribute];
276
+ }
277
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-attribute/numberOfDisplaySets.ts
278
+ /* harmony default export */ const numberOfDisplaySets = ((study, extraData) => extraData?.displaySets?.length);
279
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/custom-attribute/maxNumImageFrames.ts
280
+ /* harmony default export */ const maxNumImageFrames = ((study, extraData) => Math.max(...(extraData?.displaySets?.map?.(ds => ds.numImageFrames ?? 0) || [0])));
281
+ ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/index.tsx
282
+
283
+
284
+ // import {setViewportZoomPan, storeViewportZoomPan } from './custom-viewport/setViewportZoomPan';
285
+
286
+
287
+
288
+
289
+ /**
290
+ * The test extension provides additional behaviour for testing various
291
+ * customizations and settings for OHIF.
292
+ */
293
+ const testExtension = {
294
+ /**
295
+ * Only required property. Should be a unique value across all extensions.
296
+ */
297
+ id: id,
298
+ /** Register additional behaviour:
299
+ * * HP custom attribute seriesDescriptions to retrieve an array of all series descriptions
300
+ * * HP custom attribute numberOfDisplaySets to retrieve the number of display sets
301
+ * * HP custom attribute numberOfDisplaySetsWithImages to retrieve the number of display sets containing images
302
+ * * HP custom attribute to return a boolean true, when the attribute sameAttribute has the same
303
+ * value as another series description in an already matched display set selector named with the value
304
+ * in `sameDisplaySetId`
305
+ */
306
+ preRegistration: _ref => {
307
+ let {
308
+ servicesManager
309
+ } = _ref;
310
+ const {
311
+ hangingProtocolService
312
+ } = servicesManager.services;
313
+ hangingProtocolService.addCustomAttribute('numberOfDisplaySets', 'Number of displays sets', numberOfDisplaySets);
314
+ hangingProtocolService.addCustomAttribute('maxNumImageFrames', 'Maximum of number of image frames', maxNumImageFrames);
315
+ hangingProtocolService.addCustomAttribute('sameAs', 'Match an attribute in an existing display set', sameAs);
316
+ },
317
+ /** Registers some customizations */
318
+ getCustomizationModule: getCustomizationModule
319
+ };
320
+ /* harmony default export */ const src = (testExtension);
321
+
322
+ /***/ })
323
+
324
+ }]);
Binary file