@ohif/app 3.8.0-beta.8 → 3.8.0-beta.81

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 (99) hide show
  1. package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
  2. package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.47f05840a5b3cdf75543.js} +94 -113
  3. package/dist/141.bundle.556b4c1e4cab770417ac.js +8620 -0
  4. package/dist/{687.bundle.9065db35c01823286f08.js → 164.bundle.fadc7c5d634402c73b5f.js} +22 -38
  5. package/dist/17dd54813d5acc10bf8f.wasm +0 -0
  6. package/dist/183.bundle.a3e238998be71c4b2af8.js +30410 -0
  7. package/dist/{506.bundle.5731bb4349e266491225.js → 188.bundle.51dc4b37920f45594393.js} +23 -28
  8. package/dist/{342.bundle.e7c3d500f86fdfcc62b5.js → 206.bundle.fcaa081a0d1f68095c31.js} +1991 -1145
  9. package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
  10. package/dist/217.bundle.d44bbaa50b6fa563fe15.js +115126 -0
  11. package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.5ace95771ced62bdcab8.js} +111 -128
  12. package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
  13. package/dist/{19.bundle.f77c5787b6d8ac0b638b.js → 325.bundle.fd8e0c18db4708d03a91.js} +477 -373
  14. package/dist/335.bundle.8400aa5a88697a6b9d53.js +2590 -0
  15. package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.e6d0bba29351b5650a8c.js} +566 -868
  16. package/dist/{776.bundle.a2dedb405a12ffd7699b.js → 41.bundle.0905b258a90a7c6437bb.js} +7453 -3624
  17. package/dist/422.bundle.c6fd037b075dd54f1ba7.js +865 -0
  18. package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 433.bundle.e0018820758f5a86fa7f.js} +14797 -27561
  19. package/dist/445.bundle.38c6d2af64e41cd7c614.js +7835 -0
  20. package/dist/{126.bundle.6e7111d58bcc937ffd80.js → 448.bundle.5e6da31477887bf53016.js} +356 -430
  21. package/dist/487.bundle.89d973049defb3ba6cb7.js +1876 -0
  22. package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.207b38c15c4c01e4db0e.js} +104 -121
  23. package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1c1f57118560046649c1.js} +37 -62
  24. package/dist/574.bundle.d648fea691d6709bf2b4.js +2652 -0
  25. package/dist/{181.css → 574.css} +1 -1
  26. package/dist/{410.bundle.15c855b0ff4a1a674fb8.js → 594.bundle.84076375b127b9c7f673.js} +183 -221
  27. package/dist/{221.bundle.aef554202c58483cb34e.js → 633.bundle.acab89baaa06a299d679.js} +365 -553
  28. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
  29. package/dist/{663.bundle.d7be28450db14266cdd0.js → 669.bundle.b17e8a621e38d92c653f.js} +310 -265
  30. package/dist/699.bundle.9367d7ef9f7615b2e733.js +772 -0
  31. package/dist/702.bundle.963481fbf871984b646f.js +8426 -0
  32. package/dist/722.bundle.afab1fe6bfcd569130ac.js +1083 -0
  33. package/dist/{359.bundle.45ecb3d28e8c22142606.js → 724.bundle.55f9f49816de931af91a.js} +165 -260
  34. package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.0b3d9277d22fe7e15b89.js} +512 -879
  35. package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
  36. package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.d32ab08e64806b2e964d.js} +81 -97
  37. package/dist/{236.bundle.4e9924934a747afac132.js → 889.bundle.8ef8b723d0163d5d135c.js} +207 -199
  38. package/dist/{281.bundle.deb7492d143e7768d8bf.js → 905.bundle.8a96e1a75b7cfe5ec093.js} +157 -124
  39. package/dist/{814.bundle.c8c951d20039b63b865a.js → 907.bundle.5c88ed911bed18582da4.js} +16 -30
  40. package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
  41. package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
  42. package/dist/94.bundle.f5f2479c214180d05d42.js +778 -0
  43. package/dist/{12.bundle.b5ca13e5363f170ecb3b.js → 961.bundle.f4e52bc76d3044d05372.js} +20 -33
  44. package/dist/app-config.js +1 -0
  45. package/dist/app.bundle.css +16 -13
  46. package/dist/{app.bundle.a978edc59b9d82f2eb22.js → app.bundle.ed937512f7d19d61c411.js} +183396 -87682
  47. package/dist/assets/images/CT-AAA.png +0 -0
  48. package/dist/assets/images/CT-AAA2.png +0 -0
  49. package/dist/assets/images/CT-Air.png +0 -0
  50. package/dist/assets/images/CT-Bone.png +0 -0
  51. package/dist/assets/images/CT-Bones.png +0 -0
  52. package/dist/assets/images/CT-Cardiac.png +0 -0
  53. package/dist/assets/images/CT-Cardiac2.png +0 -0
  54. package/dist/assets/images/CT-Cardiac3.png +0 -0
  55. package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
  56. package/dist/assets/images/CT-Chest-Vessels.png +0 -0
  57. package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
  58. package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
  59. package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
  60. package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
  61. package/dist/assets/images/CT-Fat.png +0 -0
  62. package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
  63. package/dist/assets/images/CT-Lung.png +0 -0
  64. package/dist/assets/images/CT-MIP.png +0 -0
  65. package/dist/assets/images/CT-Muscle.png +0 -0
  66. package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
  67. package/dist/assets/images/CT-Soft-Tissue.png +0 -0
  68. package/dist/assets/images/DTI-FA-Brain.png +0 -0
  69. package/dist/assets/images/MR-Angio.png +0 -0
  70. package/dist/assets/images/MR-Default.png +0 -0
  71. package/dist/assets/images/MR-MIP.png +0 -0
  72. package/dist/assets/images/MR-T2-Brain.png +0 -0
  73. package/dist/assets/images/VolumeRendering.png +0 -0
  74. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  75. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  76. package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
  77. package/dist/histogram-worker.bundle.829e14ec12c2b41a4323.js +359 -0
  78. package/dist/index.html +1 -1
  79. package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
  80. package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
  81. package/dist/polySeg.bundle.f1a6ece1396dc1385155.js +249 -0
  82. package/dist/serve.json +12 -0
  83. package/dist/sw.js +1 -1
  84. package/package.json +26 -22
  85. package/dist/181.bundle.a62b9f0ec692299acb35.js +0 -1527
  86. package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
  87. package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
  88. package/dist/613.bundle.9e7072e5b575354fe51e.js +0 -532
  89. package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
  90. package/dist/75788f12450d4c5ed494.wasm +0 -0
  91. package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
  92. package/dist/788.bundle.207ac23c0dfa70cbe3fb.js +0 -2682
  93. package/dist/82.bundle.d6fdcca0f67540bb226a.js +0 -1049
  94. package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  95. /package/dist/{19.css → 325.css} +0 -0
  96. /package/dist/{776.css → 41.css} +0 -0
  97. /package/dist/{579.css → 481.css} +0 -0
  98. /package/dist/{250.css → 544.css} +0 -0
  99. /package/dist/{221.css → 633.css} +0 -0
@@ -0,0 +1,865 @@
1
+ "use strict";
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[422],{
3
+
4
+ /***/ 97041:
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 */ longitudinal_src),
13
+ initToolGroups: () => (/* reexport */ src_initToolGroups),
14
+ moreTools: () => (/* reexport */ src_moreTools),
15
+ toolbarButtons: () => (/* reexport */ src_toolbarButtons)
16
+ });
17
+
18
+ // EXTERNAL MODULE: ../../core/src/index.ts + 70 modules
19
+ var src = __webpack_require__(55411);
20
+ // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
21
+ var i18next = __webpack_require__(92344);
22
+ ;// CONCATENATED MODULE: ../../../modes/longitudinal/package.json
23
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/mode-longitudinal"}');
24
+ ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/id.js
25
+
26
+ const id = package_namespaceObject.UU;
27
+
28
+ ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/initToolGroups.js
29
+ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId, modeLabelConfig) {
30
+ const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
31
+ const {
32
+ toolNames,
33
+ Enums
34
+ } = utilityModule.exports;
35
+ const tools = {
36
+ active: [{
37
+ toolName: toolNames.WindowLevel,
38
+ bindings: [{
39
+ mouseButton: Enums.MouseBindings.Primary
40
+ }]
41
+ }, {
42
+ toolName: toolNames.Pan,
43
+ bindings: [{
44
+ mouseButton: Enums.MouseBindings.Auxiliary
45
+ }]
46
+ }, {
47
+ toolName: toolNames.Zoom,
48
+ bindings: [{
49
+ mouseButton: Enums.MouseBindings.Secondary
50
+ }]
51
+ }, {
52
+ toolName: toolNames.StackScrollMouseWheel,
53
+ bindings: []
54
+ }],
55
+ passive: [{
56
+ toolName: toolNames.Length
57
+ }, {
58
+ toolName: toolNames.ArrowAnnotate,
59
+ configuration: {
60
+ getTextCallback: (callback, eventDetails) => {
61
+ if (modeLabelConfig) {
62
+ callback(' ');
63
+ } else {
64
+ commandsManager.runCommand('arrowTextCallback', {
65
+ callback,
66
+ eventDetails
67
+ });
68
+ }
69
+ },
70
+ changeTextCallback: (data, eventDetails, callback) => {
71
+ if (modeLabelConfig === undefined) {
72
+ commandsManager.runCommand('arrowTextCallback', {
73
+ callback,
74
+ data,
75
+ eventDetails
76
+ });
77
+ }
78
+ }
79
+ }
80
+ }, {
81
+ toolName: toolNames.Bidirectional
82
+ }, {
83
+ toolName: toolNames.DragProbe
84
+ }, {
85
+ toolName: toolNames.Probe
86
+ }, {
87
+ toolName: toolNames.EllipticalROI
88
+ }, {
89
+ toolName: toolNames.CircleROI
90
+ }, {
91
+ toolName: toolNames.RectangleROI
92
+ }, {
93
+ toolName: toolNames.StackScroll
94
+ }, {
95
+ toolName: toolNames.Angle
96
+ }, {
97
+ toolName: toolNames.CobbAngle
98
+ }, {
99
+ toolName: toolNames.Magnify
100
+ }, {
101
+ toolName: toolNames.SegmentationDisplay
102
+ }, {
103
+ toolName: toolNames.CalibrationLine
104
+ }, {
105
+ toolName: toolNames.UltrasoundDirectional
106
+ }, {
107
+ toolName: toolNames.PlanarFreehandROI
108
+ }, {
109
+ toolName: toolNames.SplineROI
110
+ }, {
111
+ toolName: toolNames.LivewireContour
112
+ }],
113
+ enabled: [{
114
+ toolName: toolNames.ImageOverlayViewer
115
+ }, {
116
+ toolName: toolNames.ReferenceLines
117
+ }],
118
+ disabled: [{
119
+ toolName: toolNames.AdvancedMagnify
120
+ }]
121
+ };
122
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
123
+ }
124
+ function initSRToolGroup(extensionManager, toolGroupService) {
125
+ const SRUtilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone-dicom-sr.utilityModule.tools');
126
+ if (!SRUtilityModule) {
127
+ return;
128
+ }
129
+ const CS3DUtilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
130
+ const {
131
+ toolNames: SRToolNames
132
+ } = SRUtilityModule.exports;
133
+ const {
134
+ toolNames,
135
+ Enums
136
+ } = CS3DUtilityModule.exports;
137
+ const tools = {
138
+ active: [{
139
+ toolName: toolNames.WindowLevel,
140
+ bindings: [{
141
+ mouseButton: Enums.MouseBindings.Primary
142
+ }]
143
+ }, {
144
+ toolName: toolNames.Pan,
145
+ bindings: [{
146
+ mouseButton: Enums.MouseBindings.Auxiliary
147
+ }]
148
+ }, {
149
+ toolName: toolNames.Zoom,
150
+ bindings: [{
151
+ mouseButton: Enums.MouseBindings.Secondary
152
+ }]
153
+ }, {
154
+ toolName: toolNames.StackScrollMouseWheel,
155
+ bindings: []
156
+ }],
157
+ passive: [{
158
+ toolName: SRToolNames.SRLength
159
+ }, {
160
+ toolName: SRToolNames.SRArrowAnnotate
161
+ }, {
162
+ toolName: SRToolNames.SRBidirectional
163
+ }, {
164
+ toolName: SRToolNames.SREllipticalROI
165
+ }, {
166
+ toolName: SRToolNames.SRCircleROI
167
+ }, {
168
+ toolName: SRToolNames.SRPlanarFreehandROI
169
+ }, {
170
+ toolName: SRToolNames.SRRectangleROI
171
+ }],
172
+ enabled: [{
173
+ toolName: SRToolNames.DICOMSRDisplay,
174
+ bindings: []
175
+ }]
176
+ // disabled
177
+ };
178
+ const toolGroupId = 'SRToolGroup';
179
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
180
+ }
181
+ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager, modeLabelConfig) {
182
+ const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
183
+ const {
184
+ toolNames,
185
+ Enums
186
+ } = utilityModule.exports;
187
+ const tools = {
188
+ active: [{
189
+ toolName: toolNames.WindowLevel,
190
+ bindings: [{
191
+ mouseButton: Enums.MouseBindings.Primary
192
+ }]
193
+ }, {
194
+ toolName: toolNames.Pan,
195
+ bindings: [{
196
+ mouseButton: Enums.MouseBindings.Auxiliary
197
+ }]
198
+ }, {
199
+ toolName: toolNames.Zoom,
200
+ bindings: [{
201
+ mouseButton: Enums.MouseBindings.Secondary
202
+ }]
203
+ }, {
204
+ toolName: toolNames.StackScrollMouseWheel,
205
+ bindings: []
206
+ }],
207
+ passive: [{
208
+ toolName: toolNames.Length
209
+ }, {
210
+ toolName: toolNames.ArrowAnnotate,
211
+ configuration: {
212
+ getTextCallback: (callback, eventDetails) => {
213
+ if (modeLabelConfig) {
214
+ callback('');
215
+ } else {
216
+ commandsManager.runCommand('arrowTextCallback', {
217
+ callback,
218
+ eventDetails
219
+ });
220
+ }
221
+ },
222
+ changeTextCallback: (data, eventDetails, callback) => {
223
+ if (modeLabelConfig === undefined) {
224
+ commandsManager.runCommand('arrowTextCallback', {
225
+ callback,
226
+ data,
227
+ eventDetails
228
+ });
229
+ }
230
+ }
231
+ }
232
+ }, {
233
+ toolName: toolNames.Bidirectional
234
+ }, {
235
+ toolName: toolNames.DragProbe
236
+ }, {
237
+ toolName: toolNames.Probe
238
+ }, {
239
+ toolName: toolNames.EllipticalROI
240
+ }, {
241
+ toolName: toolNames.CircleROI
242
+ }, {
243
+ toolName: toolNames.RectangleROI
244
+ }, {
245
+ toolName: toolNames.StackScroll
246
+ }, {
247
+ toolName: toolNames.Angle
248
+ }, {
249
+ toolName: toolNames.CobbAngle
250
+ }, {
251
+ toolName: toolNames.PlanarFreehandROI
252
+ }, {
253
+ toolName: toolNames.SegmentationDisplay
254
+ }],
255
+ disabled: [{
256
+ toolName: toolNames.Crosshairs,
257
+ configuration: {
258
+ viewportIndicators: false,
259
+ disableOnPassive: true,
260
+ autoPan: {
261
+ enabled: false,
262
+ panSize: 10
263
+ }
264
+ }
265
+ }, {
266
+ toolName: toolNames.AdvancedMagnify
267
+ }, {
268
+ toolName: toolNames.ReferenceLines
269
+ }]
270
+ };
271
+ toolGroupService.createToolGroupAndAddTools('mpr', tools);
272
+ }
273
+ function initVolume3DToolGroup(extensionManager, toolGroupService) {
274
+ const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
275
+ const {
276
+ toolNames,
277
+ Enums
278
+ } = utilityModule.exports;
279
+ const tools = {
280
+ active: [{
281
+ toolName: toolNames.TrackballRotateTool,
282
+ bindings: [{
283
+ mouseButton: Enums.MouseBindings.Primary
284
+ }]
285
+ }, {
286
+ toolName: toolNames.Zoom,
287
+ bindings: [{
288
+ mouseButton: Enums.MouseBindings.Secondary
289
+ }]
290
+ }, {
291
+ toolName: toolNames.Pan,
292
+ bindings: [{
293
+ mouseButton: Enums.MouseBindings.Auxiliary
294
+ }]
295
+ }]
296
+ };
297
+ toolGroupService.createToolGroupAndAddTools('volume3d', tools);
298
+ }
299
+ function initToolGroups(extensionManager, toolGroupService, commandsManager, modeLabelConfig) {
300
+ initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default', modeLabelConfig);
301
+ initSRToolGroup(extensionManager, toolGroupService, commandsManager);
302
+ initMPRToolGroup(extensionManager, toolGroupService, commandsManager, modeLabelConfig);
303
+ initVolume3DToolGroup(extensionManager, toolGroupService);
304
+ }
305
+ /* harmony default export */ const src_initToolGroups = (initToolGroups);
306
+ ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/toolbarButtons.ts
307
+ // TODO: torn, can either bake this here; or have to create a whole new button type
308
+ // Only ways that you can pass in a custom React component for render :l
309
+
310
+ const {
311
+ createButton
312
+ } = src.ToolbarService;
313
+ const setToolActiveToolbar = {
314
+ commandName: 'setToolActiveToolbar',
315
+ commandOptions: {
316
+ toolGroupIds: ['default', 'mpr', 'SRToolGroup', 'volume3d']
317
+ }
318
+ };
319
+ const toolbarButtons = [{
320
+ id: 'MeasurementTools',
321
+ uiType: 'ohif.splitButton',
322
+ props: {
323
+ groupId: 'MeasurementTools',
324
+ // group evaluate to determine which item should move to the top
325
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
326
+ primary: createButton({
327
+ id: 'Length',
328
+ icon: 'tool-length',
329
+ label: 'Length',
330
+ tooltip: 'Length Tool',
331
+ commands: setToolActiveToolbar,
332
+ evaluate: 'evaluate.cornerstoneTool'
333
+ }),
334
+ secondary: {
335
+ icon: 'chevron-down',
336
+ tooltip: 'More Measure Tools'
337
+ },
338
+ items: [createButton({
339
+ id: 'Length',
340
+ icon: 'tool-length',
341
+ label: 'Length',
342
+ tooltip: 'Length Tool',
343
+ commands: setToolActiveToolbar,
344
+ evaluate: 'evaluate.cornerstoneTool'
345
+ }), createButton({
346
+ id: 'Bidirectional',
347
+ icon: 'tool-bidirectional',
348
+ label: 'Bidirectional',
349
+ tooltip: 'Bidirectional Tool',
350
+ commands: setToolActiveToolbar,
351
+ evaluate: 'evaluate.cornerstoneTool'
352
+ }), createButton({
353
+ id: 'ArrowAnnotate',
354
+ icon: 'tool-annotate',
355
+ label: 'Annotation',
356
+ tooltip: 'Arrow Annotate',
357
+ commands: setToolActiveToolbar,
358
+ evaluate: 'evaluate.cornerstoneTool'
359
+ }), createButton({
360
+ id: 'EllipticalROI',
361
+ icon: 'tool-ellipse',
362
+ label: 'Ellipse',
363
+ tooltip: 'Ellipse ROI',
364
+ commands: setToolActiveToolbar,
365
+ evaluate: 'evaluate.cornerstoneTool'
366
+ }), createButton({
367
+ id: 'RectangleROI',
368
+ icon: 'tool-rectangle',
369
+ label: 'Rectangle',
370
+ tooltip: 'Rectangle ROI',
371
+ commands: setToolActiveToolbar,
372
+ evaluate: 'evaluate.cornerstoneTool'
373
+ }), createButton({
374
+ id: 'CircleROI',
375
+ icon: 'tool-circle',
376
+ label: 'Circle',
377
+ tooltip: 'Circle Tool',
378
+ commands: setToolActiveToolbar,
379
+ evaluate: 'evaluate.cornerstoneTool'
380
+ }), createButton({
381
+ id: 'PlanarFreehandROI',
382
+ icon: 'icon-tool-freehand-roi',
383
+ label: 'Freehand ROI',
384
+ tooltip: 'Freehand ROI',
385
+ commands: setToolActiveToolbar,
386
+ evaluate: 'evaluate.cornerstoneTool'
387
+ }), createButton({
388
+ id: 'SplineROI',
389
+ icon: 'icon-tool-spline-roi',
390
+ label: 'Spline ROI',
391
+ tooltip: 'Spline ROI',
392
+ commands: setToolActiveToolbar,
393
+ evaluate: 'evaluate.cornerstoneTool'
394
+ }), createButton({
395
+ id: 'LivewireContour',
396
+ icon: 'icon-tool-livewire',
397
+ label: 'Livewire tool',
398
+ tooltip: 'Livewire tool',
399
+ commands: setToolActiveToolbar,
400
+ evaluate: 'evaluate.cornerstoneTool'
401
+ })]
402
+ }
403
+ }, {
404
+ id: 'Zoom',
405
+ uiType: 'ohif.radioGroup',
406
+ props: {
407
+ icon: 'tool-zoom',
408
+ label: 'Zoom',
409
+ commands: setToolActiveToolbar,
410
+ evaluate: 'evaluate.cornerstoneTool'
411
+ }
412
+ },
413
+ // Window Level
414
+ {
415
+ id: 'WindowLevel',
416
+ uiType: 'ohif.radioGroup',
417
+ props: {
418
+ icon: 'tool-window-level',
419
+ label: 'Window Level',
420
+ commands: setToolActiveToolbar,
421
+ evaluate: 'evaluate.cornerstoneTool'
422
+ }
423
+ },
424
+ // Pan...
425
+ {
426
+ id: 'Pan',
427
+ uiType: 'ohif.radioGroup',
428
+ props: {
429
+ type: 'tool',
430
+ icon: 'tool-move',
431
+ label: 'Pan',
432
+ commands: setToolActiveToolbar,
433
+ evaluate: 'evaluate.cornerstoneTool'
434
+ }
435
+ }, {
436
+ id: 'TrackballRotate',
437
+ uiType: 'ohif.radioGroup',
438
+ props: {
439
+ type: 'tool',
440
+ icon: 'tool-3d-rotate',
441
+ label: '3D Rotate',
442
+ commands: setToolActiveToolbar,
443
+ evaluate: {
444
+ name: 'evaluate.cornerstoneTool',
445
+ disabledText: 'Select a 3D viewport to enable this tool'
446
+ }
447
+ }
448
+ }, {
449
+ id: 'Capture',
450
+ uiType: 'ohif.radioGroup',
451
+ props: {
452
+ icon: 'tool-capture',
453
+ label: 'Capture',
454
+ commands: 'showDownloadViewportModal',
455
+ evaluate: 'evaluate.action'
456
+ }
457
+ }, {
458
+ id: 'Layout',
459
+ uiType: 'ohif.layoutSelector',
460
+ props: {
461
+ rows: 3,
462
+ columns: 4,
463
+ evaluate: 'evaluate.action'
464
+ }
465
+ }, {
466
+ id: 'Crosshairs',
467
+ uiType: 'ohif.radioGroup',
468
+ props: {
469
+ type: 'tool',
470
+ icon: 'tool-crosshair',
471
+ label: 'Crosshairs',
472
+ commands: {
473
+ commandName: 'setToolActiveToolbar',
474
+ commandOptions: {
475
+ toolGroupIds: ['mpr']
476
+ }
477
+ },
478
+ evaluate: {
479
+ name: 'evaluate.cornerstoneTool',
480
+ disabledText: 'Select an MPR viewport to enable this tool'
481
+ }
482
+ }
483
+ }];
484
+ /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
485
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 327 modules
486
+ var esm = __webpack_require__(44656);
487
+ ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/moreTools.ts
488
+
489
+
490
+
491
+ const {
492
+ createButton: moreTools_createButton
493
+ } = src.ToolbarService;
494
+ const ReferenceLinesListeners = [{
495
+ commandName: 'setSourceViewportForReferenceLinesTool',
496
+ context: 'CORNERSTONE'
497
+ }];
498
+ const moreTools = [{
499
+ id: 'MoreTools',
500
+ uiType: 'ohif.splitButton',
501
+ props: {
502
+ groupId: 'MoreTools',
503
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
504
+ primary: moreTools_createButton({
505
+ id: 'Reset',
506
+ icon: 'tool-reset',
507
+ tooltip: 'Reset View',
508
+ label: 'Reset',
509
+ commands: 'resetViewport',
510
+ evaluate: 'evaluate.action'
511
+ }),
512
+ secondary: {
513
+ icon: 'chevron-down',
514
+ label: '',
515
+ tooltip: 'More Tools'
516
+ },
517
+ items: [moreTools_createButton({
518
+ id: 'Reset',
519
+ icon: 'tool-reset',
520
+ label: 'Reset View',
521
+ tooltip: 'Reset View',
522
+ commands: 'resetViewport',
523
+ evaluate: 'evaluate.action'
524
+ }), moreTools_createButton({
525
+ id: 'rotate-right',
526
+ icon: 'tool-rotate-right',
527
+ label: 'Rotate Right',
528
+ tooltip: 'Rotate +90',
529
+ commands: 'rotateViewportCW',
530
+ evaluate: 'evaluate.action'
531
+ }), moreTools_createButton({
532
+ id: 'flipHorizontal',
533
+ icon: 'tool-flip-horizontal',
534
+ label: 'Flip Horizontal',
535
+ tooltip: 'Flip Horizontally',
536
+ commands: 'flipViewportHorizontal',
537
+ evaluate: ['evaluate.viewportProperties.toggle', 'evaluate.not3D']
538
+ }), moreTools_createButton({
539
+ id: 'ImageSliceSync',
540
+ icon: 'link',
541
+ label: 'Image Slice Sync',
542
+ tooltip: 'Enable position synchronization on stack viewports',
543
+ commands: {
544
+ commandName: 'toggleSynchronizer',
545
+ commandOptions: {
546
+ type: 'imageSlice'
547
+ }
548
+ },
549
+ listeners: {
550
+ [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
551
+ commandName: 'toggleImageSliceSync',
552
+ commandOptions: {
553
+ toggledState: true
554
+ }
555
+ }
556
+ },
557
+ evaluate: ['evaluate.cornerstone.synchronizer', 'evaluate.not3D']
558
+ }), moreTools_createButton({
559
+ id: 'ReferenceLines',
560
+ icon: 'tool-referenceLines',
561
+ label: 'Reference Lines',
562
+ tooltip: 'Show Reference Lines',
563
+ commands: 'toggleEnabledDisabledToolbar',
564
+ listeners: {
565
+ [src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,
566
+ [src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners
567
+ },
568
+ evaluate: 'evaluate.cornerstoneTool.toggle'
569
+ }), moreTools_createButton({
570
+ id: 'ImageOverlayViewer',
571
+ icon: 'toggle-dicom-overlay',
572
+ label: 'Image Overlay',
573
+ tooltip: 'Toggle Image Overlay',
574
+ commands: 'toggleEnabledDisabledToolbar',
575
+ evaluate: 'evaluate.cornerstoneTool.toggle'
576
+ }), moreTools_createButton({
577
+ id: 'StackScroll',
578
+ icon: 'tool-stack-scroll',
579
+ label: 'Stack Scroll',
580
+ tooltip: 'Stack Scroll',
581
+ commands: setToolActiveToolbar,
582
+ evaluate: 'evaluate.cornerstoneTool'
583
+ }), moreTools_createButton({
584
+ id: 'invert',
585
+ icon: 'tool-invert',
586
+ label: 'Invert',
587
+ tooltip: 'Invert Colors',
588
+ commands: 'invertViewport',
589
+ evaluate: 'evaluate.viewportProperties.toggle'
590
+ }), moreTools_createButton({
591
+ id: 'Probe',
592
+ icon: 'tool-probe',
593
+ label: 'Probe',
594
+ tooltip: 'Probe',
595
+ commands: setToolActiveToolbar,
596
+ evaluate: 'evaluate.cornerstoneTool'
597
+ }), moreTools_createButton({
598
+ id: 'Cine',
599
+ icon: 'tool-cine',
600
+ label: 'Cine',
601
+ tooltip: 'Cine',
602
+ commands: 'toggleCine',
603
+ evaluate: ['evaluate.cine', 'evaluate.not3D']
604
+ }), moreTools_createButton({
605
+ id: 'Angle',
606
+ icon: 'tool-angle',
607
+ label: 'Angle',
608
+ tooltip: 'Angle',
609
+ commands: setToolActiveToolbar,
610
+ evaluate: 'evaluate.cornerstoneTool'
611
+ }), moreTools_createButton({
612
+ id: 'Magnify',
613
+ icon: 'tool-magnify',
614
+ label: 'Magnify',
615
+ tooltip: 'Magnify',
616
+ commands: setToolActiveToolbar,
617
+ evaluate: 'evaluate.cornerstoneTool'
618
+ }), moreTools_createButton({
619
+ id: 'CalibrationLine',
620
+ icon: 'tool-calibration',
621
+ label: 'Calibration',
622
+ tooltip: 'Calibration Line',
623
+ commands: setToolActiveToolbar,
624
+ evaluate: 'evaluate.cornerstoneTool'
625
+ }), moreTools_createButton({
626
+ id: 'TagBrowser',
627
+ icon: 'dicom-tag-browser',
628
+ label: 'Dicom Tag Browser',
629
+ tooltip: 'Dicom Tag Browser',
630
+ commands: 'openDICOMTagViewer'
631
+ }), moreTools_createButton({
632
+ id: 'AdvancedMagnify',
633
+ icon: 'icon-tool-loupe',
634
+ label: 'Loupe',
635
+ tooltip: 'Loupe',
636
+ commands: 'toggleActiveDisabledToolbar',
637
+ evaluate: 'evaluate.cornerstoneTool.toggle.ifStrictlyDisabled'
638
+ }), moreTools_createButton({
639
+ id: 'UltrasoundDirectionalTool',
640
+ icon: 'icon-tool-ultrasound-bidirectional',
641
+ label: 'Ultrasound Directional',
642
+ tooltip: 'Ultrasound Directional',
643
+ commands: setToolActiveToolbar,
644
+ evaluate: ['evaluate.cornerstoneTool', 'evaluate.isUS']
645
+ })]
646
+ }
647
+ }];
648
+ /* harmony default export */ const src_moreTools = (moreTools);
649
+ ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/index.js
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+ // Allow this mode by excluding non-imaging modalities such as SR, SEG
658
+ // Also, SM is not a simple imaging modalities, so exclude it.
659
+ const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG', 'RTSTRUCT'];
660
+ const ohif = {
661
+ layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
662
+ sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
663
+ thumbnailList: '@ohif/extension-default.panelModule.seriesList'
664
+ };
665
+ const tracked = {
666
+ measurements: '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
667
+ thumbnailList: '@ohif/extension-measurement-tracking.panelModule.seriesList',
668
+ viewport: '@ohif/extension-measurement-tracking.viewportModule.cornerstone-tracked'
669
+ };
670
+ const dicomsr = {
671
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
672
+ viewport: '@ohif/extension-cornerstone-dicom-sr.viewportModule.dicom-sr'
673
+ };
674
+ const dicomvideo = {
675
+ sopClassHandler: '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
676
+ viewport: '@ohif/extension-dicom-video.viewportModule.dicom-video'
677
+ };
678
+ const dicompdf = {
679
+ sopClassHandler: '@ohif/extension-dicom-pdf.sopClassHandlerModule.dicom-pdf',
680
+ viewport: '@ohif/extension-dicom-pdf.viewportModule.dicom-pdf'
681
+ };
682
+ const dicomSeg = {
683
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
684
+ viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg',
685
+ panel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation'
686
+ };
687
+ const dicomRT = {
688
+ viewport: '@ohif/extension-cornerstone-dicom-rt.viewportModule.dicom-rt',
689
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-rt.sopClassHandlerModule.dicom-rt'
690
+ };
691
+ const extensionDependencies = {
692
+ // Can derive the versions at least process.env.from npm_package_version
693
+ '@ohif/extension-default': '^3.0.0',
694
+ '@ohif/extension-cornerstone': '^3.0.0',
695
+ '@ohif/extension-measurement-tracking': '^3.0.0',
696
+ '@ohif/extension-cornerstone-dicom-sr': '^3.0.0',
697
+ '@ohif/extension-cornerstone-dicom-seg': '^3.0.0',
698
+ '@ohif/extension-cornerstone-dicom-rt': '^3.0.0',
699
+ '@ohif/extension-dicom-pdf': '^3.0.1',
700
+ '@ohif/extension-dicom-video': '^3.0.1'
701
+ };
702
+ function modeFactory({
703
+ modeConfiguration
704
+ }) {
705
+ let _activatePanelTriggersSubscriptions = [];
706
+ return {
707
+ // TODO: We're using this as a route segment
708
+ // We should not be.
709
+ id: id,
710
+ routeName: 'viewer',
711
+ displayName: i18next/* default */.A.t('Modes:Basic Viewer'),
712
+ /**
713
+ * Lifecycle hooks
714
+ */
715
+ onModeEnter: function ({
716
+ servicesManager,
717
+ extensionManager,
718
+ commandsManager
719
+ }) {
720
+ const {
721
+ measurementService,
722
+ toolbarService,
723
+ toolGroupService,
724
+ customizationService
725
+ } = servicesManager.services;
726
+ measurementService.clearMeasurements();
727
+
728
+ // customizationService.addModeCustomizations([
729
+ // {
730
+ // id: 'measurementLabels',
731
+ // labelOnMeasure: true,
732
+ // exclusive: true,
733
+ // items: [
734
+ // { value: 'Head', label: 'Head' },
735
+ // { value: 'Shoulder', label: 'Shoulder' },
736
+ // { value: 'Knee', label: 'Knee' },
737
+ // { value: 'Toe', label: 'Toe' },
738
+ // ],
739
+ // },
740
+ // ]);
741
+
742
+ // Init Default and SR ToolGroups
743
+ src_initToolGroups(extensionManager, toolGroupService, commandsManager, this.labelConfig);
744
+ toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools]);
745
+ toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'Pan', 'TrackballRotate', 'WindowLevel', 'Capture', 'Layout', 'Crosshairs', 'MoreTools']);
746
+ customizationService.addModeCustomizations([{
747
+ id: 'segmentation.panel',
748
+ disableEditing: true
749
+ }]);
750
+
751
+ // // ActivatePanel event trigger for when a segmentation or measurement is added.
752
+ // // Do not force activation so as to respect the state the user may have left the UI in.
753
+ // _activatePanelTriggersSubscriptions = [
754
+ // ...panelService.addActivatePanelTriggers(dicomSeg.panel, [
755
+ // {
756
+ // sourcePubSubService: segmentationService,
757
+ // sourceEvents: [
758
+ // segmentationService.EVENTS.SEGMENTATION_PIXEL_DATA_CREATED,
759
+ // ],
760
+ // },
761
+ // ]),
762
+ // ...panelService.addActivatePanelTriggers(tracked.measurements, [
763
+ // {
764
+ // sourcePubSubService: measurementService,
765
+ // sourceEvents: [
766
+ // measurementService.EVENTS.MEASUREMENT_ADDED,
767
+ // measurementService.EVENTS.RAW_MEASUREMENT_ADDED,
768
+ // ],
769
+ // },
770
+ // ]),
771
+ // ];
772
+ },
773
+ onModeExit: ({
774
+ servicesManager
775
+ }) => {
776
+ const {
777
+ toolGroupService,
778
+ syncGroupService,
779
+ segmentationService,
780
+ cornerstoneViewportService,
781
+ uiDialogService,
782
+ uiModalService
783
+ } = servicesManager.services;
784
+ _activatePanelTriggersSubscriptions.forEach(sub => sub.unsubscribe());
785
+ _activatePanelTriggersSubscriptions = [];
786
+ uiDialogService.dismissAll();
787
+ uiModalService.hide();
788
+ toolGroupService.destroy();
789
+ syncGroupService.destroy();
790
+ segmentationService.destroy();
791
+ cornerstoneViewportService.destroy();
792
+ },
793
+ validationTags: {
794
+ study: [],
795
+ series: []
796
+ },
797
+ isValidMode: function ({
798
+ modalities
799
+ }) {
800
+ const modalities_list = modalities.split('\\');
801
+
802
+ // Exclude non-image modalities
803
+ return {
804
+ valid: !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1).length,
805
+ description: 'The mode does not support studies that ONLY include the following modalities: SM, ECG, SR, SEG, RTSTRUCT'
806
+ };
807
+ },
808
+ routes: [{
809
+ path: 'longitudinal',
810
+ /*init: ({ servicesManager, extensionManager }) => {
811
+ //defaultViewerRouteInit
812
+ },*/
813
+ layoutTemplate: () => {
814
+ return {
815
+ id: ohif.layout,
816
+ props: {
817
+ leftPanels: [tracked.thumbnailList],
818
+ rightPanels: [dicomSeg.panel, tracked.measurements],
819
+ rightPanelClosed: true,
820
+ viewports: [{
821
+ namespace: tracked.viewport,
822
+ displaySetsToDisplay: [ohif.sopClassHandler]
823
+ }, {
824
+ namespace: dicomsr.viewport,
825
+ displaySetsToDisplay: [dicomsr.sopClassHandler]
826
+ }, {
827
+ namespace: dicomvideo.viewport,
828
+ displaySetsToDisplay: [dicomvideo.sopClassHandler]
829
+ }, {
830
+ namespace: dicompdf.viewport,
831
+ displaySetsToDisplay: [dicompdf.sopClassHandler]
832
+ }, {
833
+ namespace: dicomSeg.viewport,
834
+ displaySetsToDisplay: [dicomSeg.sopClassHandler]
835
+ }, {
836
+ namespace: dicomRT.viewport,
837
+ displaySetsToDisplay: [dicomRT.sopClassHandler]
838
+ }]
839
+ }
840
+ };
841
+ }
842
+ }],
843
+ extensions: extensionDependencies,
844
+ // Default protocol gets self-registered by default in the init
845
+ hangingProtocol: 'default',
846
+ // Order is important in sop class handlers when two handlers both use
847
+ // the same sop class under different situations. In that case, the more
848
+ // general handler needs to come last. For this case, the dicomvideo must
849
+ // come first to remove video transfer syntax before ohif uses images
850
+ sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler, dicomRT.sopClassHandler],
851
+ hotkeys: [...src/* hotkeys */.ot.defaults.hotkeyBindings],
852
+ ...modeConfiguration
853
+ };
854
+ }
855
+ const mode = {
856
+ id: id,
857
+ modeFactory,
858
+ extensionDependencies
859
+ };
860
+ /* harmony default export */ const longitudinal_src = (mode);
861
+
862
+
863
+ /***/ })
864
+
865
+ }]);