@ohif/app 3.8.0-beta.1 → 3.8.0-beta.10

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 (35) hide show
  1. package/dist/{99.bundle.10b538f4741be2127cce.js → 126.bundle.3cd68933197926fde916.js} +196 -137
  2. package/dist/{181.bundle.ceb057236403bcb630ac.js → 181.bundle.ad00da8ec76668c23796.js} +50 -16
  3. package/dist/{19.bundle.b4d51b6faf7e93909d93.js → 19.bundle.91e1f09823b1ca59386c.js} +5 -5
  4. package/dist/{221.bundle.4eb2caf56905561d3862.js → 221.bundle.736d8d8c7523829ac27c.js} +8 -8
  5. package/dist/{743.bundle.489f7df3a089d4d374e1.js → 231.bundle.547eda66b55aa62b037b.js} +18205 -17189
  6. package/dist/{236.bundle.b1425f8f89e6c06f33ad.js → 236.bundle.0c08de61b4fc915bd280.js} +3 -3
  7. package/dist/{250.bundle.8084960e3318cda37317.js → 250.bundle.64f78a14b2a4c6e17da3.js} +4 -4
  8. package/dist/{342.bundle.d5c2e5fd9785f23d0e6c.js → 342.bundle.4ae51a2a054bc23b2a7a.js} +26 -13
  9. package/dist/{359.bundle.62a2471f666d07c13ea4.js → 359.bundle.8fcc4ce49cbcc6628018.js} +2 -2
  10. package/dist/{410.bundle.e7ca529354f622db5188.js → 410.bundle.9c4e66fe4005e2967968.js} +2 -2
  11. package/dist/{451.bundle.9fd36f52ff69594f0669.js → 451.bundle.57c21db5d003c75e9d61.js} +2 -2
  12. package/dist/{471.bundle.b3d77b83b1593c09a504.js → 471.bundle.49c8d281adbae4a2c4df.js} +2 -2
  13. package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 485.bundle.8667a696ac2eaf99e4fa.js} +9 -98
  14. package/dist/{370.bundle.c6de43271139327a12ac.js → 563.bundle.58ec063dc0b0c58ca5ef.js} +320 -179
  15. package/dist/{613.bundle.48e656b649762a888aeb.js → 613.bundle.efb9a24be50011b8f1d8.js} +7 -3
  16. package/dist/{663.bundle.e05465f11d3696e3a5a1.js → 663.bundle.d1c2e74badec76b31836.js} +9 -9
  17. package/dist/{82.bundle.658632dc10cf0b6a0bdd.js → 776.bundle.cc9ab1ee9087b898a826.js} +15 -20
  18. package/dist/{788.bundle.8d7f20a8e6a23983548b.js → 788.bundle.416f2a85d491ed81ce18.js} +6 -6
  19. package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 82.bundle.aa2e1120fbae6122c2d3.js} +12007 -3800
  20. package/dist/{822.bundle.891f2e57b1b7bc2f4cb4.js → 822.bundle.4f0424bd1dc0308bb489.js} +3 -3
  21. package/dist/{886.bundle.4b3a7f2079d085fdbcb3.js → 886.bundle.c8dd3ecc42a4253de278.js} +2 -2
  22. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 933.bundle.e515e4ebc902535ac56f.js} +29 -10
  23. package/dist/{app.bundle.a435bb8d049dbaa0af06.js → app.bundle.368c32cd68c83d1941da.js} +11723 -11305
  24. package/dist/app.bundle.css +1 -1
  25. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  26. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  27. package/dist/index.html +1 -1
  28. package/dist/sw.js +1 -1
  29. package/package.json +19 -19
  30. /package/dist/{12.bundle.303afec3e26be7ffd343.js → 12.bundle.79b71d52d853057f0e22.js} +0 -0
  31. /package/dist/{281.bundle.a81963ec7b14c33f0f41.js → 281.bundle.364782f53ccd512024ee.js} +0 -0
  32. /package/dist/{506.bundle.382cdcba3e578ab74f0b.js → 506.bundle.9d5f65f9ed57dac7e005.js} +0 -0
  33. /package/dist/{687.bundle.d15dd758f258b67c8dc4.js → 687.bundle.175df54c81c7397a6545.js} +0 -0
  34. /package/dist/{82.css → 776.css} +0 -0
  35. /package/dist/{814.bundle.b4ed686df286f06f3c93.js → 814.bundle.25ec786c437a1970c689.js} +0 -0
@@ -1,6 +1,6 @@
1
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[99],{
1
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[126],{
2
2
 
3
- /***/ 7395:
3
+ /***/ 32199:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
5
 
6
6
  "use strict";
@@ -14,22 +14,16 @@ __webpack_require__.d(__webpack_exports__, {
14
14
 
15
15
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
16
16
  var src = __webpack_require__(71771);
17
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
18
- var ui_src = __webpack_require__(71783);
19
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 331 modules
20
- var esm = __webpack_require__(3743);
17
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
18
+ var ui_src = __webpack_require__(22582);
21
19
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/toolbarButtons.ts
22
20
  // TODO: torn, can either bake this here; or have to create a whole new button type
23
21
  // Only ways that you can pass in a custom React component for render :l
24
22
 
25
23
 
26
-
27
24
  const {
28
25
  windowLevelPresets
29
26
  } = src.defaults;
30
- const _createActionButton = src/* ToolbarService */.Ok._createButton.bind(null, 'action');
31
- const _createToggleButton = src/* ToolbarService */.Ok._createButton.bind(null, 'toggle');
32
- const _createToolButton = src/* ToolbarService */.Ok._createButton.bind(null, 'tool');
33
27
 
34
28
  /**
35
29
  *
@@ -52,16 +46,6 @@ function _createWwwcPreset(preset, title, subtitle) {
52
46
  }]
53
47
  };
54
48
  }
55
- const ReferenceLinesCommands = [{
56
- commandName: 'setSourceViewportForReferenceLinesTool',
57
- context: 'CORNERSTONE'
58
- }, {
59
- commandName: 'setToolActive',
60
- commandOptions: {
61
- toolName: 'ReferenceLines'
62
- },
63
- context: 'CORNERSTONE'
64
- }];
65
49
  const toolbarButtons = [
66
50
  // Measurement
67
51
  {
@@ -72,7 +56,7 @@ const toolbarButtons = [
72
56
  isRadio: true,
73
57
  // ?
74
58
  // Switch?
75
- primary: _createToolButton('Length', 'tool-length', 'Length', [{
59
+ primary: src/* ToolbarService */.Ok._createToolButton('Length', 'tool-length', 'Length', [{
76
60
  commandName: 'setToolActive',
77
61
  commandOptions: {
78
62
  toolName: 'Length'
@@ -93,7 +77,7 @@ const toolbarButtons = [
93
77
  isActive: true,
94
78
  tooltip: 'More Measure Tools'
95
79
  },
96
- items: [_createToolButton('Length', 'tool-length', 'Length', [{
80
+ items: [src/* ToolbarService */.Ok._createToolButton('Length', 'tool-length', 'Length', [{
97
81
  commandName: 'setToolActive',
98
82
  commandOptions: {
99
83
  toolName: 'Length'
@@ -107,7 +91,7 @@ const toolbarButtons = [
107
91
  },
108
92
  // we can use the setToolActive command for this from Cornerstone commandsModule
109
93
  context: 'CORNERSTONE'
110
- }], 'Length Tool'), _createToolButton('Bidirectional', 'tool-bidirectional', 'Bidirectional', [{
94
+ }], 'Length Tool'), src/* ToolbarService */.Ok._createToolButton('Bidirectional', 'tool-bidirectional', 'Bidirectional', [{
111
95
  commandName: 'setToolActive',
112
96
  commandOptions: {
113
97
  toolName: 'Bidirectional'
@@ -120,7 +104,7 @@ const toolbarButtons = [
120
104
  toolGroupId: 'SRToolGroup'
121
105
  },
122
106
  context: 'CORNERSTONE'
123
- }], 'Bidirectional Tool'), _createToolButton('ArrowAnnotate', 'tool-annotate', 'Annotation', [{
107
+ }], 'Bidirectional Tool'), src/* ToolbarService */.Ok._createToolButton('ArrowAnnotate', 'tool-annotate', 'Annotation', [{
124
108
  commandName: 'setToolActive',
125
109
  commandOptions: {
126
110
  toolName: 'ArrowAnnotate'
@@ -133,7 +117,7 @@ const toolbarButtons = [
133
117
  toolGroupId: 'SRToolGroup'
134
118
  },
135
119
  context: 'CORNERSTONE'
136
- }], 'Arrow Annotate'), _createToolButton('EllipticalROI', 'tool-elipse', 'Ellipse', [{
120
+ }], 'Arrow Annotate'), src/* ToolbarService */.Ok._createToolButton('EllipticalROI', 'tool-elipse', 'Ellipse', [{
137
121
  commandName: 'setToolActive',
138
122
  commandOptions: {
139
123
  toolName: 'EllipticalROI'
@@ -146,7 +130,7 @@ const toolbarButtons = [
146
130
  toolGroupId: 'SRToolGroup'
147
131
  },
148
132
  context: 'CORNERSTONE'
149
- }], 'Ellipse Tool'), _createToolButton('CircleROI', 'tool-circle', 'Circle', [{
133
+ }], 'Ellipse Tool'), src/* ToolbarService */.Ok._createToolButton('CircleROI', 'tool-circle', 'Circle', [{
150
134
  commandName: 'setToolActive',
151
135
  commandOptions: {
152
136
  toolName: 'CircleROI'
@@ -185,7 +169,7 @@ const toolbarButtons = [
185
169
  type: 'ohif.splitButton',
186
170
  props: {
187
171
  groupId: 'WindowLevel',
188
- primary: _createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
172
+ primary: src/* ToolbarService */.Ok._createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
189
173
  commandName: 'setToolActive',
190
174
  commandOptions: {
191
175
  toolName: 'WindowLevel'
@@ -322,8 +306,7 @@ const toolbarButtons = [
322
306
  commandName: 'toggleHangingProtocol',
323
307
  commandOptions: {
324
308
  protocolId: 'mpr'
325
- },
326
- context: 'DEFAULT'
309
+ }
327
310
  }]
328
311
  }
329
312
  }, {
@@ -338,102 +321,8 @@ const toolbarButtons = [
338
321
  commandOptions: {
339
322
  toolGroupId: 'mpr',
340
323
  toolName: 'Crosshairs'
341
- },
342
- context: 'CORNERSTONE'
343
- }]
344
- }
345
- },
346
- // More...
347
- {
348
- id: 'MoreTools',
349
- type: 'ohif.splitButton',
350
- props: {
351
- isRadio: true,
352
- // ?
353
- groupId: 'MoreTools',
354
- primary: _createActionButton('Reset', 'tool-reset', 'Reset View', [{
355
- commandName: 'resetViewport',
356
- commandOptions: {},
357
- context: 'CORNERSTONE'
358
- }], 'Reset'),
359
- secondary: {
360
- icon: 'chevron-down',
361
- label: '',
362
- isActive: true,
363
- tooltip: 'More Tools'
364
- },
365
- items: [_createActionButton('Reset', 'tool-reset', 'Reset View', [{
366
- commandName: 'resetViewport',
367
- commandOptions: {},
368
- context: 'CORNERSTONE'
369
- }], 'Reset'), _createActionButton('rotate-right', 'tool-rotate-right', 'Rotate Right', [{
370
- commandName: 'rotateViewportCW',
371
- commandOptions: {},
372
- context: 'CORNERSTONE'
373
- }], 'Rotate +90'), _createActionButton('flip-horizontal', 'tool-flip-horizontal', 'Flip Horizontally', [{
374
- commandName: 'flipViewportHorizontal',
375
- commandOptions: {},
376
- context: 'CORNERSTONE'
377
- }], 'Flip Horizontally'), _createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [{
378
- commandName: 'toggleStackImageSync'
379
- }], 'Enable position synchronization on stack viewports', {
380
- listeners: {
381
- [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
382
- commandName: 'toggleStackImageSync',
383
- commandOptions: {
384
- toggledState: true
385
- }
386
- }
387
324
  }
388
- }), _createToggleButton('ReferenceLines', 'tool-referenceLines',
389
- // change this with the new icon
390
- 'Reference Lines', ReferenceLinesCommands, 'Show Reference Lines', {
391
- listeners: {
392
- [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
393
- [esm.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands
394
- }
395
- }), _createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
396
- commandName: 'setToolActive',
397
- commandOptions: {
398
- toolName: 'StackScroll'
399
- },
400
- context: 'CORNERSTONE'
401
- }], 'Stack Scroll'), _createActionButton('invert', 'tool-invert', 'Invert', [{
402
- commandName: 'invertViewport',
403
- commandOptions: {},
404
- context: 'CORNERSTONE'
405
- }], 'Invert Colors'), _createToolButton('Probe', 'tool-probe', 'Probe', [{
406
- commandName: 'setToolActive',
407
- commandOptions: {
408
- toolName: 'DragProbe'
409
- },
410
- context: 'CORNERSTONE'
411
- }], 'Probe'), _createToggleButton('cine', 'tool-cine', 'Cine', [{
412
- commandName: 'toggleCine',
413
- context: 'CORNERSTONE'
414
- }], 'Cine'), _createToolButton('Angle', 'tool-angle', 'Angle', [{
415
- commandName: 'setToolActive',
416
- commandOptions: {
417
- toolName: 'Angle'
418
- },
419
- context: 'CORNERSTONE'
420
- }], 'Angle'), _createToolButton('Magnify', 'tool-magnify', 'Magnify', [{
421
- commandName: 'setToolActive',
422
- commandOptions: {
423
- toolName: 'Magnify'
424
- },
425
- context: 'CORNERSTONE'
426
- }], 'Magnify'), _createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
427
- commandName: 'setToolActive',
428
- commandOptions: {
429
- toolName: 'RectangleROI'
430
- },
431
- context: 'CORNERSTONE'
432
- }], 'Rectangle'), _createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
433
- commandName: 'openDICOMTagViewer',
434
- commandOptions: {},
435
- context: 'DEFAULT'
436
- }], 'Dicom Tag Browser')]
325
+ }]
437
326
  }
438
327
  }];
439
328
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
@@ -646,15 +535,182 @@ function initToolGroups(extensionManager, toolGroupService, commandsManager) {
646
535
  initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
647
536
  }
648
537
  /* harmony default export */ const src_initToolGroups = (initToolGroups);
538
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
539
+ var esm = __webpack_require__(62231);
540
+ ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreTools.ts
541
+
542
+
543
+ const ReferenceLinesCommands = [{
544
+ commandName: 'setSourceViewportForReferenceLinesTool',
545
+ context: 'CORNERSTONE'
546
+ }, {
547
+ commandName: 'setToolActive',
548
+ commandOptions: {
549
+ toolName: 'ReferenceLines'
550
+ },
551
+ context: 'CORNERSTONE'
552
+ }];
553
+ const moreTools = [{
554
+ id: 'MoreTools',
555
+ type: 'ohif.splitButton',
556
+ props: {
557
+ isRadio: true,
558
+ // ?
559
+ groupId: 'MoreTools',
560
+ primary: src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
561
+ commandName: 'resetViewport'
562
+ }], 'Reset'),
563
+ secondary: {
564
+ icon: 'chevron-down',
565
+ label: '',
566
+ isActive: true,
567
+ tooltip: 'More Tools'
568
+ },
569
+ items: [src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
570
+ commandName: 'resetViewport'
571
+ }], 'Reset'), src/* ToolbarService */.Ok._createActionButton('rotate-right', 'tool-rotate-right', 'Rotate Right', [{
572
+ commandName: 'rotateViewportCW',
573
+ commandOptions: {},
574
+ context: 'CORNERSTONE'
575
+ }], 'Rotate +90'), src/* ToolbarService */.Ok._createActionButton('flip-horizontal', 'tool-flip-horizontal', 'Flip Horizontally', [{
576
+ commandName: 'flipViewportHorizontal',
577
+ commandOptions: {},
578
+ context: 'CORNERSTONE'
579
+ }], 'Flip Horizontally'), src/* ToolbarService */.Ok._createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [{
580
+ commandName: 'toggleStackImageSync'
581
+ }], 'Enable position synchronization on stack viewports', {
582
+ listeners: {
583
+ [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
584
+ commandName: 'toggleStackImageSync',
585
+ commandOptions: {
586
+ toggledState: true
587
+ }
588
+ }
589
+ }
590
+ }), src/* ToolbarService */.Ok._createToggleButton('ReferenceLines', 'tool-referenceLines',
591
+ // change this with the new icon
592
+ 'Reference Lines', ReferenceLinesCommands, 'Show Reference Lines', {
593
+ listeners: {
594
+ [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
595
+ [esm.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands
596
+ }
597
+ }), src/* ToolbarService */.Ok._createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
598
+ commandName: 'setToolActive',
599
+ commandOptions: {
600
+ toolName: 'StackScroll'
601
+ },
602
+ context: 'CORNERSTONE'
603
+ }], 'Stack Scroll'), src/* ToolbarService */.Ok._createActionButton('invert', 'tool-invert', 'Invert', [{
604
+ commandName: 'invertViewport',
605
+ commandOptions: {},
606
+ context: 'CORNERSTONE'
607
+ }], 'Invert Colors'), src/* ToolbarService */.Ok._createToolButton('Probe', 'tool-probe', 'Probe', [{
608
+ commandName: 'setToolActive',
609
+ commandOptions: {
610
+ toolName: 'DragProbe'
611
+ },
612
+ context: 'CORNERSTONE'
613
+ }], 'Probe'), src/* ToolbarService */.Ok._createToggleButton('cine', 'tool-cine', 'Cine', [{
614
+ commandName: 'toggleCine',
615
+ context: 'CORNERSTONE'
616
+ }], 'Cine'), src/* ToolbarService */.Ok._createToolButton('Angle', 'tool-angle', 'Angle', [{
617
+ commandName: 'setToolActive',
618
+ commandOptions: {
619
+ toolName: 'Angle'
620
+ },
621
+ context: 'CORNERSTONE'
622
+ }], 'Angle'), src/* ToolbarService */.Ok._createToolButton('Magnify', 'tool-magnify', 'Magnify', [{
623
+ commandName: 'setToolActive',
624
+ commandOptions: {
625
+ toolName: 'Magnify'
626
+ },
627
+ context: 'CORNERSTONE'
628
+ }], 'Magnify'), src/* ToolbarService */.Ok._createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
629
+ commandName: 'setToolActive',
630
+ commandOptions: {
631
+ toolName: 'RectangleROI'
632
+ },
633
+ context: 'CORNERSTONE'
634
+ }], 'Rectangle'), src/* ToolbarService */.Ok._createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
635
+ commandName: 'openDICOMTagViewer',
636
+ commandOptions: {},
637
+ context: 'DEFAULT'
638
+ }], 'Dicom Tag Browser')]
639
+ }
640
+ }];
641
+ /* harmony default export */ const src_moreTools = (moreTools);
642
+ ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreToolsMpr.ts
643
+
644
+ const moreToolsMpr = [{
645
+ id: 'MoreToolsMpr',
646
+ type: 'ohif.splitButton',
647
+ props: {
648
+ isRadio: true,
649
+ // ?
650
+ groupId: 'MoreTools',
651
+ primary: src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
652
+ commandName: 'resetViewport'
653
+ }], 'Reset'),
654
+ secondary: {
655
+ icon: 'chevron-down',
656
+ label: '',
657
+ isActive: true,
658
+ tooltip: 'More Tools'
659
+ },
660
+ items: [src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
661
+ commandName: 'resetViewport'
662
+ }], 'Reset'), src/* ToolbarService */.Ok._createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
663
+ commandName: 'setToolActive',
664
+ commandOptions: {
665
+ toolName: 'StackScroll'
666
+ },
667
+ context: 'CORNERSTONE'
668
+ }], 'Stack Scroll'), src/* ToolbarService */.Ok._createActionButton('invert', 'tool-invert', 'Invert', [{
669
+ commandName: 'invertViewport',
670
+ commandOptions: {},
671
+ context: 'CORNERSTONE'
672
+ }], 'Invert Colors'), src/* ToolbarService */.Ok._createToolButton('Probe', 'tool-probe', 'Probe', [{
673
+ commandName: 'setToolActive',
674
+ commandOptions: {
675
+ toolName: 'DragProbe'
676
+ },
677
+ context: 'CORNERSTONE'
678
+ }], 'Probe'), src/* ToolbarService */.Ok._createToggleButton('cine', 'tool-cine', 'Cine', [{
679
+ commandName: 'toggleCine',
680
+ context: 'CORNERSTONE'
681
+ }], 'Cine'), src/* ToolbarService */.Ok._createToolButton('Angle', 'tool-angle', 'Angle', [{
682
+ commandName: 'setToolActive',
683
+ commandOptions: {
684
+ toolName: 'Angle'
685
+ },
686
+ context: 'CORNERSTONE'
687
+ }], 'Angle'), src/* ToolbarService */.Ok._createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
688
+ commandName: 'setToolActive',
689
+ commandOptions: {
690
+ toolName: 'RectangleROI'
691
+ },
692
+ context: 'CORNERSTONE'
693
+ }], 'Rectangle'), src/* ToolbarService */.Ok._createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
694
+ commandName: 'openDICOMTagViewer',
695
+ commandOptions: {},
696
+ context: 'DEFAULT'
697
+ }], 'Dicom Tag Browser')]
698
+ }
699
+ }];
700
+ /* harmony default export */ const src_moreToolsMpr = (moreToolsMpr);
649
701
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/index.ts
650
702
 
651
703
 
652
704
 
653
705
 
654
706
 
707
+
708
+
655
709
  // Allow this mode by excluding non-imaging modalities such as SR, SEG
656
710
  // Also, SM is not a simple imaging modalities, so exclude it.
657
711
  const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG'];
712
+ const DEFAULT_TOOL_GROUP_ID = 'default';
713
+ const MPR_TOOL_GROUP_ID = 'mpr';
658
714
  const ohif = {
659
715
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
660
716
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -723,18 +779,20 @@ function modeFactory() {
723
779
  // init customizations
724
780
  customizationService.addModeCustomizations(['@ohif/extension-test.customizationModule.custom-context-menu']);
725
781
  let unsubscribe;
782
+ toolbarService.setDefaultTool({
783
+ groupId: 'WindowLevel',
784
+ itemId: 'WindowLevel',
785
+ interactionType: 'tool',
786
+ commands: [{
787
+ commandName: 'setToolActive',
788
+ commandOptions: {
789
+ toolName: 'WindowLevel'
790
+ },
791
+ context: 'CORNERSTONE'
792
+ }]
793
+ });
726
794
  const activateTool = () => {
727
- toolbarService.recordInteraction({
728
- groupId: 'WindowLevel',
729
- interactionType: 'tool',
730
- commands: [{
731
- commandName: 'setToolActive',
732
- commandOptions: {
733
- toolName: 'WindowLevel'
734
- },
735
- context: 'CORNERSTONE'
736
- }]
737
- });
795
+ toolbarService.recordInteraction(toolbarService.getDefaultTool());
738
796
 
739
797
  // We don't need to reset the active tool whenever a viewport is getting
740
798
  // added to the toolGroup.
@@ -747,8 +805,9 @@ function modeFactory() {
747
805
  unsubscribe
748
806
  } = toolGroupService.subscribe(toolGroupService.EVENTS.VIEWPORT_ADDED, activateTool));
749
807
  toolbarService.init(extensionManager);
750
- toolbarService.addButtons(src_toolbarButtons);
751
- toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreTools']);
808
+ toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools, ...src_moreToolsMpr]);
809
+ toolbarService.createButtonSection(DEFAULT_TOOL_GROUP_ID, ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'MoreTools']);
810
+ toolbarService.createButtonSection(MPR_TOOL_GROUP_ID, ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreToolsMpr']);
752
811
  },
753
812
  onModeExit: _ref2 => {
754
813
  let {
@@ -19,14 +19,14 @@ var index_esm = __webpack_require__(7023);
19
19
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
20
20
  var prop_types = __webpack_require__(3827);
21
21
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
22
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 348 modules
23
- var esm = __webpack_require__(14957);
24
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 331 modules
25
- var dist_esm = __webpack_require__(3743);
22
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 391 modules
23
+ var esm = __webpack_require__(28082);
24
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
25
+ var dist_esm = __webpack_require__(62231);
26
26
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
27
27
  var src = __webpack_require__(71771);
28
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
29
- var ui_src = __webpack_require__(71783);
28
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
29
+ var ui_src = __webpack_require__(22582);
30
30
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
31
31
  var state = __webpack_require__(73704);
32
32
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css
@@ -962,10 +962,13 @@ function CornerstoneOverlays(props) {
962
962
  /* harmony default export */ const Overlays_CornerstoneOverlays = (CornerstoneOverlays);
963
963
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
964
964
  var getSOPInstanceAttributes = __webpack_require__(87172);
965
+ // EXTERNAL MODULE: ./state/index.js + 1 modules
966
+ var state_0 = __webpack_require__(62657);
965
967
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/CinePlayer/CinePlayer.tsx
966
968
 
967
969
 
968
970
 
971
+
969
972
  function WrappedCinePlayer(_ref) {
970
973
  let {
971
974
  enabledVPElement,
@@ -974,15 +977,17 @@ function WrappedCinePlayer(_ref) {
974
977
  } = _ref;
975
978
  const {
976
979
  toolbarService,
977
- customizationService
980
+ customizationService,
981
+ displaySetService,
982
+ viewportGridService,
983
+ cineService
978
984
  } = servicesManager.services;
979
985
  const [{
980
986
  isCineEnabled,
981
987
  cines
982
- }, cineService] = (0,ui_src/* useCine */.vQ)();
983
- const [{
984
- activeViewportId
985
- }] = (0,ui_src/* useViewportGrid */.O_)();
988
+ }] = (0,ui_src/* useCine */.vQ)();
989
+ const [newStackFrameRate, setNewStackFrameRate] = (0,react.useState)(24);
990
+ const [appConfig] = (0,state_0/* useAppConfig */.M)();
986
991
  const {
987
992
  component: CinePlayerComponent = ui_src/* CinePlayer */.H6
988
993
  } = customizationService.get('cinePlayer') ?? {};
@@ -1014,16 +1019,44 @@ function WrappedCinePlayer(_ref) {
1014
1019
  cineService.stopClip(enabledVPElement);
1015
1020
  }
1016
1021
  };
1022
+ const newStackCineHandler = (0,react.useCallback)(() => {
1023
+ const {
1024
+ viewports
1025
+ } = viewportGridService.getState();
1026
+ const {
1027
+ displaySetInstanceUIDs
1028
+ } = viewports.get(viewportId);
1029
+ let frameRate = 24;
1030
+ let isPlaying = cines[viewportId].isPlaying;
1031
+ displaySetInstanceUIDs.forEach(displaySetInstanceUID => {
1032
+ const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID);
1033
+ if (displaySet.FrameRate) {
1034
+ // displaySet.FrameRate corresponds to DICOM tag (0018,1063) which is defined as the the frame time in milliseconds
1035
+ // So a bit of math to get the actual frame rate.
1036
+ frameRate = Math.round(1000 / displaySet.FrameRate);
1037
+ isPlaying ||= !!appConfig.autoPlayCine;
1038
+ }
1039
+ });
1040
+ if (isPlaying) {
1041
+ cineService.setIsCineEnabled(isPlaying);
1042
+ }
1043
+ cineService.setCine({
1044
+ id: viewportId,
1045
+ isPlaying,
1046
+ frameRate
1047
+ });
1048
+ setNewStackFrameRate(frameRate);
1049
+ }, [cineService, displaySetService, viewportId, viewportGridService, cines]);
1017
1050
  (0,react.useEffect)(() => {
1018
- dist_esm.eventTarget.addEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, cineHandler);
1051
+ dist_esm.eventTarget.addEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, newStackCineHandler);
1019
1052
  return () => {
1020
1053
  cineService.setCine({
1021
1054
  id: viewportId,
1022
1055
  isPlaying: false
1023
1056
  });
1024
- dist_esm.eventTarget.removeEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, cineHandler);
1057
+ dist_esm.eventTarget.removeEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, newStackCineHandler);
1025
1058
  };
1026
- }, [enabledVPElement]);
1059
+ }, [enabledVPElement, newStackCineHandler]);
1027
1060
  (0,react.useEffect)(() => {
1028
1061
  if (!cines || !cines[viewportId] || !enabledVPElement) {
1029
1062
  return;
@@ -1039,14 +1072,15 @@ function WrappedCinePlayer(_ref) {
1039
1072
  const isPlaying = cine && cine.isPlaying || false;
1040
1073
  return isCineEnabled && /*#__PURE__*/react.createElement(CinePlayerComponent, {
1041
1074
  className: "absolute left-1/2 bottom-3 -translate-x-1/2",
1075
+ frameRate: newStackFrameRate,
1042
1076
  isPlaying: isPlaying,
1043
1077
  onClose: handleCineClose,
1044
1078
  onPlayPauseChange: isPlaying => cineService.setCine({
1045
- id: activeViewportId,
1079
+ id: viewportId,
1046
1080
  isPlaying
1047
1081
  }),
1048
1082
  onFrameRateChange: frameRate => cineService.setCine({
1049
- id: activeViewportId,
1083
+ id: viewportId,
1050
1084
  frameRate
1051
1085
  })
1052
1086
  });
@@ -20,8 +20,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
20
20
  var es = __webpack_require__(261);
21
21
  // EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 8 modules
22
22
  var react_es = __webpack_require__(44530);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
24
- var src = __webpack_require__(71783);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
24
+ var src = __webpack_require__(22582);
25
25
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
26
26
 
27
27
  const RESPONSE = {
@@ -1106,8 +1106,8 @@ var dist = __webpack_require__(62474);
1106
1106
  var es = __webpack_require__(69190);
1107
1107
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
1108
1108
  var src = __webpack_require__(71771);
1109
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
1110
- var ui_src = __webpack_require__(71783);
1109
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
1110
+ var ui_src = __webpack_require__(22582);
1111
1111
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
1112
1112
 
1113
1113
 
@@ -1708,7 +1708,7 @@ function WrappedPanelStudyBrowserTracking(_ref) {
1708
1708
  const dataSource = extensionManager.getActiveDataSource()[0];
1709
1709
  const getStudiesForPatientByMRN = _getStudyForPatientUtility(extensionManager);
1710
1710
  const _getStudiesForPatientByMRN = getStudiesForPatientByMRN.bind(null, dataSource);
1711
- const _getImageSrcFromImageId = _createGetImageSrcFromImageIdFn(extensionManager);
1711
+ const _getImageSrcFromImageId = (0,react.useCallback)(_createGetImageSrcFromImageIdFn(extensionManager), []);
1712
1712
  const _requestDisplaySetCreationForStudy = PanelStudyBrowserTracking_requestDisplaySetCreationForStudy.bind(null, dataSource);
1713
1713
  return /*#__PURE__*/react.createElement(PanelStudyBrowserTracking_PanelStudyBrowserTracking, {
1714
1714
  servicesManager: servicesManager,
@@ -24,8 +24,8 @@ const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
24
24
  var react = __webpack_require__(43001);
25
25
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
26
26
  var src = __webpack_require__(71771);
27
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 331 modules
28
- var esm = __webpack_require__(3743);
27
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 344 modules
28
+ var esm = __webpack_require__(62231);
29
29
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/adapters.es.js
30
30
  var adapters_es = __webpack_require__(91202);
31
31
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
@@ -298,8 +298,8 @@ var default_src = __webpack_require__(56342);
298
298
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
299
299
  var prop_types = __webpack_require__(3827);
300
300
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
301
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
302
- var ui_src = __webpack_require__(71783);
301
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
302
+ var ui_src = __webpack_require__(22582);
303
303
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx
304
304
 
305
305
 
@@ -698,8 +698,8 @@ PanelSegmentation.propTypes = {
698
698
  }).isRequired
699
699
  }).isRequired
700
700
  };
701
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 348 modules
702
- var dist_esm = __webpack_require__(14957);
701
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 391 modules
702
+ var dist_esm = __webpack_require__(28082);
703
703
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/panels/SegmentationToolbox.tsx
704
704
 
705
705
 
@@ -1124,8 +1124,8 @@ const getPanelModule = _ref => {
1124
1124
  }];
1125
1125
  };
1126
1126
  /* harmony default export */ const src_getPanelModule = (getPanelModule);
1127
- // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Filters/General/ImageMarchingSquares.js + 2 modules
1128
- var ImageMarchingSquares = __webpack_require__(49399);
1127
+ // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Filters/General/ImageMarchingSquares.js + 1 modules
1128
+ var ImageMarchingSquares = __webpack_require__(96538);
1129
1129
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/DataArray.js
1130
1130
  var DataArray = __webpack_require__(54131);
1131
1131
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/ImageData.js + 2 modules