@ohif/app 3.8.0-beta.7 → 3.8.0-beta.70

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 (93) hide show
  1. package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
  2. package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.21827fec690c01ee9ab3.js} +85 -112
  3. package/dist/{19.bundle.e5579df6d7b74af50b1d.js → 155.bundle.0dabe8513b605b01ac3d.js} +334 -287
  4. package/dist/{687.bundle.9d0330ea5d61fe3117da.js → 164.bundle.0b1a2be351543c1433e8.js} +22 -38
  5. package/dist/17dd54813d5acc10bf8f.wasm +0 -0
  6. package/dist/{506.bundle.ab8226d3d81abe874544.js → 188.bundle.81e83b073b6fd4ae0058.js} +23 -28
  7. package/dist/191.bundle.7d89c921abefd1140d50.js +30360 -0
  8. package/dist/{221.bundle.c2dc03d8fa4235dc1285.js → 2.bundle.04dbbf67a52fe109749c.js} +351 -546
  9. package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
  10. package/dist/290.bundle.952de53057f98e2c5ef0.js +8883 -0
  11. package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.3a0d5062d65296c4bf5d.js} +102 -127
  12. package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
  13. package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.6e49f63ea7cea4645c0a.js} +544 -860
  14. package/dist/41.bundle.6ec0794a483e9a30eb94.js +831 -0
  15. package/dist/425.bundle.ffcdde2143a5757926b9.js +2957 -0
  16. package/dist/425.css +2 -0
  17. package/dist/{126.bundle.42df2dafc9c0310da188.js → 448.bundle.9177b9d909654efbc8d5.js} +316 -427
  18. package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 504.bundle.993d7e2dec36257d4ce4.js} +14338 -27291
  19. package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.566bfd08dccb4cf6d98b.js} +75 -105
  20. package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1110b24e96863d719a95.js} +39 -56
  21. package/dist/{663.bundle.9f359963019cd8ccf8f9.js → 559.bundle.4f111410af43324629ca.js} +151 -147
  22. package/dist/{181.bundle.a62b9f0ec692299acb35.js → 574.bundle.83afbc7922736fc6846d.js} +1246 -289
  23. package/dist/{181.css → 574.css} +1 -1
  24. package/dist/{410.bundle.38c9d3820e152e89288e.js → 594.bundle.ffeebda1bb9a81182a80.js} +183 -221
  25. package/dist/{776.bundle.004382036bdbd8ee2b95.js → 595.bundle.1c1a50c4ff87763b786a.js} +3128 -1028
  26. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
  27. package/dist/699.bundle.db05df7b8e2ad605e928.js +767 -0
  28. package/dist/{359.bundle.8abe0036a7bf6b5fd115.js → 724.bundle.eada9d6c23678a5a2947.js} +130 -254
  29. package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.c8de818cf1a3ff0cf7d2.js} +512 -879
  30. package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
  31. package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.959ef65b18c1d3b5e2b4.js} +77 -96
  32. package/dist/{236.bundle.c9e70d55e7b2574c1ecd.js → 889.bundle.67c6e5f988c9b1d289ef.js} +198 -197
  33. package/dist/{342.bundle.d9668551811e3a88aaa4.js → 90.bundle.f41c8c4fc78cdfd4de30.js} +1430 -1055
  34. package/dist/{281.bundle.16a2933086a57e60c96c.js → 905.bundle.eb821474b36b96b897f9.js} +155 -122
  35. package/dist/{814.bundle.a1aba9c1e3d336008351.js → 907.bundle.ca904d9747480a0e4bf1.js} +16 -30
  36. package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
  37. package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
  38. package/dist/{12.bundle.37a8b47d2ae587cb9226.js → 961.bundle.65967b1a4af002af1d1d.js} +16 -31
  39. package/dist/987.bundle.6bdfb3cd8762b8889632.js +122950 -0
  40. package/dist/app-config.js +1 -0
  41. package/dist/app.bundle.css +15 -13
  42. package/dist/{app.bundle.437d085e13599d1e1ced.js → app.bundle.e21e5afd46fb064cb5de.js} +147713 -61638
  43. package/dist/assets/images/CT-AAA.png +0 -0
  44. package/dist/assets/images/CT-AAA2.png +0 -0
  45. package/dist/assets/images/CT-Air.png +0 -0
  46. package/dist/assets/images/CT-Bone.png +0 -0
  47. package/dist/assets/images/CT-Bones.png +0 -0
  48. package/dist/assets/images/CT-Cardiac.png +0 -0
  49. package/dist/assets/images/CT-Cardiac2.png +0 -0
  50. package/dist/assets/images/CT-Cardiac3.png +0 -0
  51. package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
  52. package/dist/assets/images/CT-Chest-Vessels.png +0 -0
  53. package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
  54. package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
  55. package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
  56. package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
  57. package/dist/assets/images/CT-Fat.png +0 -0
  58. package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
  59. package/dist/assets/images/CT-Lung.png +0 -0
  60. package/dist/assets/images/CT-MIP.png +0 -0
  61. package/dist/assets/images/CT-Muscle.png +0 -0
  62. package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
  63. package/dist/assets/images/CT-Soft-Tissue.png +0 -0
  64. package/dist/assets/images/DTI-FA-Brain.png +0 -0
  65. package/dist/assets/images/MR-Angio.png +0 -0
  66. package/dist/assets/images/MR-Default.png +0 -0
  67. package/dist/assets/images/MR-MIP.png +0 -0
  68. package/dist/assets/images/MR-T2-Brain.png +0 -0
  69. package/dist/assets/images/VolumeRendering.png +0 -0
  70. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  71. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  72. package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
  73. package/dist/index.html +1 -1
  74. package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
  75. package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
  76. package/dist/polySeg.bundle.e7b4c29fb9173e8567b8.js +252 -0
  77. package/dist/serve.json +12 -0
  78. package/dist/sw.js +1 -1
  79. package/package.json +25 -22
  80. package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
  81. package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
  82. package/dist/613.bundle.aed640a7900dbcb688f5.js +0 -532
  83. package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
  84. package/dist/75788f12450d4c5ed494.wasm +0 -0
  85. package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
  86. package/dist/788.bundle.dcd53828d1bb2ac64d04.js +0 -2682
  87. package/dist/82.bundle.5a94dd7645e5c5476f59.js +0 -1049
  88. package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  89. /package/dist/{19.css → 155.css} +0 -0
  90. /package/dist/{221.css → 2.css} +0 -0
  91. /package/dist/{579.css → 481.css} +0 -0
  92. /package/dist/{250.css → 544.css} +0 -0
  93. /package/dist/{776.css → 595.css} +0 -0
@@ -1,9 +1,9 @@
1
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[236],{
1
+ "use strict";
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[889],{
2
3
 
3
- /***/ 80965:
4
+ /***/ 62889:
4
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
6
 
6
- "use strict";
7
7
  // ESM COMPAT FLAG
8
8
  __webpack_require__.r(__webpack_exports__);
9
9
 
@@ -13,21 +13,21 @@ __webpack_require__.d(__webpack_exports__, {
13
13
  });
14
14
 
15
15
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/package.json
16
- const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-dicom-microscopy"}');
16
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-dicom-microscopy"}');
17
17
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/id.js
18
18
 
19
- const id = package_namespaceObject.u2;
19
+ const id = package_namespaceObject.UU;
20
20
 
21
21
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
22
- var react = __webpack_require__(43001);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
24
- var src = __webpack_require__(22582);
25
- // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
26
- var core_src = __webpack_require__(71771);
22
+ var react = __webpack_require__(41766);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 542 modules
24
+ var src = __webpack_require__(48804);
25
+ // EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
26
+ var core_src = __webpack_require__(85073);
27
27
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
28
- var es = __webpack_require__(69190);
29
- // EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 982 modules
30
- var esm = __webpack_require__(55220);
28
+ var es = __webpack_require__(80619);
29
+ // EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 996 modules
30
+ var esm = __webpack_require__(23109);
31
31
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/coordinateFormatScoord3d2Geometry.js
32
32
 
33
33
 
@@ -117,9 +117,9 @@ function mapSlideCoord2PixelCoord(options) {
117
117
  }
118
118
  const point = options.point;
119
119
  const m = [[orientation[0] * spacing[1], orientation[3] * spacing[0], offset[0]], [orientation[1] * spacing[1], orientation[4] * spacing[0], offset[1]], [0, 0, 1]];
120
- const mInverted = (0,esm/* inv */.JBn)(m);
120
+ const mInverted = (0,esm/* inv */.WCD)(m);
121
121
  const vSlide = [[point[0]], [point[1]], [1]];
122
- const vImage = (0,esm/* multiply */.JpY)(mInverted, vSlide);
122
+ const vImage = (0,esm/* multiply */.lwT)(mInverted, vSlide);
123
123
  const row = Number(vImage[1][0].toFixed(4));
124
124
  const col = Number(vImage[0][0].toFixed(4));
125
125
  return [col, row];
@@ -212,7 +212,7 @@ const EVENTS = {
212
212
  * ViewerManager encapsulates the complexity of the third-party viewer and
213
213
  * expose only the features/behaviors that are relevant to the application
214
214
  */
215
- class ViewerManager extends core_src/* PubSubService */.hC {
215
+ class ViewerManager extends core_src/* PubSubService */.Rc {
216
216
  constructor(viewer, viewportId, container, studyInstanceUID, seriesInstanceUID) {
217
217
  super(EVENTS);
218
218
  this.viewer = viewer;
@@ -414,11 +414,10 @@ class ViewerManager extends core_src/* PubSubService */.hC {
414
414
  * @param {object} roi.properties - ROI properties
415
415
  * @returns {void}
416
416
  */
417
- updateROIProperties(_ref) {
418
- let {
419
- uid,
420
- properties
421
- } = _ref;
417
+ updateROIProperties({
418
+ uid,
419
+ properties
420
+ }) {
422
421
  this.viewer.updateROI({
423
422
  uid,
424
423
  properties
@@ -616,10 +615,8 @@ const RoiAnnotation_EVENTS = {
616
615
  /**
617
616
  * Represents a single annotation for the Microscopy Viewer
618
617
  */
619
- class RoiAnnotation extends core_src/* PubSubService */.hC {
620
- constructor(roiGraphic, studyInstanceUID, seriesInstanceUID) {
621
- let label = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
622
- let viewState = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
618
+ class RoiAnnotation extends core_src/* PubSubService */.Rc {
619
+ constructor(roiGraphic, studyInstanceUID, seriesInstanceUID, label = '', viewState = null) {
623
620
  super(RoiAnnotation_EVENTS);
624
621
  this.uid = roiGraphic.uid;
625
622
  this.roiGraphic = roiGraphic;
@@ -770,6 +767,7 @@ class RoiAnnotation extends core_src/* PubSubService */.hC {
770
767
 
771
768
  /* harmony default export */ const utils_RoiAnnotation = (RoiAnnotation);
772
769
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/services/MicroscopyService.ts
770
+ var _class;
773
771
 
774
772
 
775
773
 
@@ -788,7 +786,7 @@ const MicroscopyService_EVENTS = {
788
786
  * viewers and handle their ROI graphics to create, remove and modify the
789
787
  * ROI annotations relevant to the application
790
788
  */
791
- class MicroscopyService extends core_src/* PubSubService */.hC {
789
+ class MicroscopyService extends core_src/* PubSubService */.Rc {
792
790
  constructor(serviceManager) {
793
791
  super(MicroscopyService_EVENTS);
794
792
  this.serviceManager = void 0;
@@ -1296,6 +1294,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1296
1294
  this.managedViewers.forEach(mv => mv.activateInteractions(interactions));
1297
1295
  this.activeInteractions = interactions;
1298
1296
  }
1297
+ getActiveInteractions() {
1298
+ return this.activeInteractions;
1299
+ }
1299
1300
 
1300
1301
  /**
1301
1302
  * Triggers the relabelling process for the given RoiAnnotation instance, by
@@ -1304,21 +1305,16 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1304
1305
  * @param {RoiAnnotation} roiAnnotation The instance to be relabelled
1305
1306
  * @param {boolean} newAnnotation Whether the annotation is newly drawn (so it deletes on cancel).
1306
1307
  */
1307
- triggerRelabel(roiAnnotation) {
1308
- let newAnnotation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1309
- let onRelabel = arguments.length > 2 ? arguments[2] : undefined;
1308
+ triggerRelabel(roiAnnotation, newAnnotation = false, onRelabel) {
1310
1309
  if (!onRelabel) {
1311
- onRelabel = _ref => {
1312
- let {
1310
+ onRelabel = ({
1311
+ label
1312
+ }) => this.managedViewers.forEach(mv => mv.updateROIProperties({
1313
+ uid: roiAnnotation.uid,
1314
+ properties: {
1313
1315
  label
1314
- } = _ref;
1315
- return this.managedViewers.forEach(mv => mv.updateROIProperties({
1316
- uid: roiAnnotation.uid,
1317
- properties: {
1318
- label
1319
- }
1320
- }));
1321
- };
1316
+ }
1317
+ }));
1322
1318
  }
1323
1319
  this._broadcastEvent(MicroscopyService_EVENTS.RELABEL, {
1324
1320
  roiAnnotation,
@@ -1354,21 +1350,21 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1354
1350
  this.managedViewers.forEach(mv => mv.setROIStyle(uid, styleOptions));
1355
1351
  }
1356
1352
  }
1353
+ _class = MicroscopyService;
1357
1354
  MicroscopyService.REGISTRATION = serviceManager => {
1358
1355
  return {
1359
1356
  name: 'microscopyService',
1360
1357
  altName: 'MicroscopyService',
1361
- create: _ref2 => {
1362
- let {
1363
- configuration = {}
1364
- } = _ref2;
1365
- return new MicroscopyService(serviceManager);
1358
+ create: ({
1359
+ configuration = {}
1360
+ }) => {
1361
+ return new _class(serviceManager);
1366
1362
  }
1367
1363
  };
1368
1364
  };
1369
1365
 
1370
1366
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
1371
- var dcmjs_es = __webpack_require__(67540);
1367
+ var dcmjs_es = __webpack_require__(31426);
1372
1368
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/callInputDialog.tsx
1373
1369
 
1374
1370
 
@@ -1382,19 +1378,17 @@ var dcmjs_es = __webpack_require__(67540);
1382
1378
  * @param {func} callback
1383
1379
  * @param {*} isArrowAnnotateInputDialog
1384
1380
  */
1385
- function callInputDialog(_ref) {
1386
- let {
1387
- uiDialogService,
1388
- title = 'Annotation',
1389
- defaultValue = '',
1390
- callback = (value, action) => {}
1391
- } = _ref;
1381
+ function callInputDialog({
1382
+ uiDialogService,
1383
+ title = 'Annotation',
1384
+ defaultValue = '',
1385
+ callback = (value, action) => {}
1386
+ }) {
1392
1387
  const dialogId = 'microscopy-input-dialog';
1393
- const onSubmitHandler = _ref2 => {
1394
- let {
1395
- action,
1396
- value
1397
- } = _ref2;
1388
+ const onSubmitHandler = ({
1389
+ action,
1390
+ value
1391
+ }) => {
1398
1392
  switch (action.id) {
1399
1393
  case 'save':
1400
1394
  callback(value.value, action.id);
@@ -1413,7 +1407,7 @@ function callInputDialog(_ref) {
1413
1407
  centralize: true,
1414
1408
  isDraggable: false,
1415
1409
  showOverlay: true,
1416
- content: src/* Dialog */.Vq,
1410
+ content: src/* Dialog */.lG,
1417
1411
  contentProps: {
1418
1412
  title: title,
1419
1413
  value: {
@@ -1426,19 +1420,18 @@ function callInputDialog(_ref) {
1426
1420
  actions: [{
1427
1421
  id: 'cancel',
1428
1422
  text: 'Cancel',
1429
- type: src/* ButtonEnums.type */.LZ.dt.secondary
1423
+ type: src/* ButtonEnums.type */.Ny.NW.secondary
1430
1424
  }, {
1431
1425
  id: 'save',
1432
1426
  text: 'Save',
1433
- type: src/* ButtonEnums.type */.LZ.dt.primary
1427
+ type: src/* ButtonEnums.type */.Ny.NW.primary
1434
1428
  }],
1435
1429
  onSubmit: onSubmitHandler,
1436
- body: _ref3 => {
1437
- let {
1438
- value,
1439
- setValue
1440
- } = _ref3;
1441
- return /*#__PURE__*/react.createElement(src/* Input */.II, {
1430
+ body: ({
1431
+ value,
1432
+ setValue
1433
+ }) => {
1434
+ return /*#__PURE__*/react.createElement(src/* Input */.pd, {
1442
1435
  label: "Enter your annotation",
1443
1436
  labelClassName: "text-white text-[14px] leading-[1.2]",
1444
1437
  autoFocus: true,
@@ -1485,11 +1478,10 @@ const uid = '2.25.285241207697168520771311899641885187923';
1485
1478
  *
1486
1479
  * @return Comprehensive3DSR dataset
1487
1480
  */
1488
- function constructSR(metadata, _ref, annotations) {
1489
- let {
1490
- SeriesDescription,
1491
- SeriesNumber
1492
- } = _ref;
1481
+ function constructSR(metadata, {
1482
+ SeriesDescription,
1483
+ SeriesNumber
1484
+ }, annotations) {
1493
1485
  // Handle malformed data
1494
1486
  if (!metadata.SpecimenDescriptionSequence) {
1495
1487
  metadata.SpecimenDescriptionSequence = {
@@ -1502,34 +1494,34 @@ function constructSR(metadata, _ref, annotations) {
1502
1494
  } = metadata;
1503
1495
 
1504
1496
  // construct Comprehensive3DSR dataset
1505
- const observationContext = new dcmjs_es["default"].sr.templates.ObservationContext({
1506
- observerPersonContext: new dcmjs_es["default"].sr.templates.ObserverContext({
1507
- observerType: new dcmjs_es["default"].sr.coding.CodedConcept({
1497
+ const observationContext = new dcmjs_es/* default.sr */.Ay.sr.templates.ObservationContext({
1498
+ observerPersonContext: new dcmjs_es/* default.sr */.Ay.sr.templates.ObserverContext({
1499
+ observerType: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1508
1500
  value: '121006',
1509
1501
  schemeDesignator: 'DCM',
1510
1502
  meaning: 'Person'
1511
1503
  }),
1512
- observerIdentifyingAttributes: new dcmjs_es["default"].sr.templates.PersonObserverIdentifyingAttributes({
1504
+ observerIdentifyingAttributes: new dcmjs_es/* default.sr */.Ay.sr.templates.PersonObserverIdentifyingAttributes({
1513
1505
  name: '@ohif/extension-dicom-microscopy'
1514
1506
  })
1515
1507
  }),
1516
- observerDeviceContext: new dcmjs_es["default"].sr.templates.ObserverContext({
1517
- observerType: new dcmjs_es["default"].sr.coding.CodedConcept({
1508
+ observerDeviceContext: new dcmjs_es/* default.sr */.Ay.sr.templates.ObserverContext({
1509
+ observerType: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1518
1510
  value: '121007',
1519
1511
  schemeDesignator: 'DCM',
1520
1512
  meaning: 'Device'
1521
1513
  }),
1522
- observerIdentifyingAttributes: new dcmjs_es["default"].sr.templates.DeviceObserverIdentifyingAttributes({
1514
+ observerIdentifyingAttributes: new dcmjs_es/* default.sr */.Ay.sr.templates.DeviceObserverIdentifyingAttributes({
1523
1515
  uid: DEVICE_OBSERVER_UID
1524
1516
  })
1525
1517
  }),
1526
- subjectContext: new dcmjs_es["default"].sr.templates.SubjectContext({
1527
- subjectClass: new dcmjs_es["default"].sr.coding.CodedConcept({
1518
+ subjectContext: new dcmjs_es/* default.sr */.Ay.sr.templates.SubjectContext({
1519
+ subjectClass: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1528
1520
  value: '121027',
1529
1521
  schemeDesignator: 'DCM',
1530
1522
  meaning: 'Specimen'
1531
1523
  }),
1532
- subjectClassSpecificContext: new dcmjs_es["default"].sr.templates.SubjectContextSpecimen({
1524
+ subjectClassSpecificContext: new dcmjs_es/* default.sr */.Ay.sr.templates.SubjectContextSpecimen({
1533
1525
  uid: SpecimenDescriptionSequence.SpecimenUID,
1534
1526
  identifier: SpecimenDescriptionSequence.SpecimenIdentifier || metadata.SeriesInstanceUID,
1535
1527
  containerIdentifier: metadata.ContainerIdentifier || metadata.SeriesInstanceUID
@@ -1561,14 +1553,14 @@ function constructSR(metadata, _ref, annotations) {
1561
1553
  const ConceptName = Array.isArray(measurement.ConceptNameCodeSequence) ? measurement.ConceptNameCodeSequence[0] : measurement.ConceptNameCodeSequence;
1562
1554
  const MeasuredValue = Array.isArray(measurement.MeasuredValueSequence) ? measurement.MeasuredValueSequence[0] : measurement.MeasuredValueSequence;
1563
1555
  const MeasuredValueUnits = Array.isArray(MeasuredValue.MeasurementUnitsCodeSequence) ? MeasuredValue.MeasurementUnitsCodeSequence[0] : MeasuredValue.MeasurementUnitsCodeSequence;
1564
- return new dcmjs_es["default"].sr.valueTypes.NumContentItem({
1565
- name: new dcmjs_es["default"].sr.coding.CodedConcept({
1556
+ return new dcmjs_es/* default.sr */.Ay.sr.valueTypes.NumContentItem({
1557
+ name: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1566
1558
  meaning: ConceptName.CodeMeaning,
1567
1559
  value: ConceptName.CodeValue,
1568
1560
  schemeDesignator: ConceptName.CodingSchemeDesignator
1569
1561
  }),
1570
1562
  value: MeasuredValue.NumericValue,
1571
- unit: new dcmjs_es["default"].sr.coding.CodedConcept({
1563
+ unit: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1572
1564
  value: MeasuredValueUnits.CodeValue,
1573
1565
  meaning: MeasuredValueUnits.CodeMeaning,
1574
1566
  schemeDesignator: MeasuredValueUnits.CodingSchemeDesignator
@@ -1579,8 +1571,8 @@ function constructSR(metadata, _ref, annotations) {
1579
1571
  /** Avoid incompatibility with dcmjs */
1580
1572
  evaluations = evaluations.map(evaluation => {
1581
1573
  const ConceptName = Array.isArray(evaluation.ConceptNameCodeSequence) ? evaluation.ConceptNameCodeSequence[0] : evaluation.ConceptNameCodeSequence;
1582
- return new dcmjs_es["default"].sr.valueTypes.TextContentItem({
1583
- name: new dcmjs_es["default"].sr.coding.CodedConcept({
1574
+ return new dcmjs_es/* default.sr */.Ay.sr.valueTypes.TextContentItem({
1575
+ name: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1584
1576
  value: ConceptName.CodeValue,
1585
1577
  meaning: ConceptName.CodeMeaning,
1586
1578
  schemeDesignator: ConceptName.CodingSchemeDesignator
@@ -1590,17 +1582,17 @@ function constructSR(metadata, _ref, annotations) {
1590
1582
  });
1591
1583
  });
1592
1584
  const identifier = `ROI #${i + 1}`;
1593
- const group = new dcmjs_es["default"].sr.templates.PlanarROIMeasurementsAndQualitativeEvaluations({
1594
- trackingIdentifier: new dcmjs_es["default"].sr.templates.TrackingIdentifier({
1585
+ const group = new dcmjs_es/* default.sr */.Ay.sr.templates.PlanarROIMeasurementsAndQualitativeEvaluations({
1586
+ trackingIdentifier: new dcmjs_es/* default.sr */.Ay.sr.templates.TrackingIdentifier({
1595
1587
  uid: roi.uid,
1596
1588
  identifier: presentationState ? identifier.concat(`(${JSON.stringify(presentationState)})`) : identifier
1597
1589
  }),
1598
- referencedRegion: new dcmjs_es["default"].sr.contentItems.ImageRegion3D({
1590
+ referencedRegion: new dcmjs_es/* default.sr */.Ay.sr.contentItems.ImageRegion3D({
1599
1591
  graphicType: roi.scoord3d.graphicType,
1600
1592
  graphicData: roi.scoord3d.graphicData,
1601
1593
  frameOfReferenceUID: roi.scoord3d.frameOfReferenceUID
1602
1594
  }),
1603
- findingType: new dcmjs_es["default"].sr.coding.CodedConcept({
1595
+ findingType: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1604
1596
  value: label,
1605
1597
  schemeDesignator: '@ohif/extension-dicom-microscopy',
1606
1598
  meaning: 'FREETEXT'
@@ -1611,23 +1603,23 @@ function constructSR(metadata, _ref, annotations) {
1611
1603
  });
1612
1604
  imagingMeasurements.push(...group);
1613
1605
  }
1614
- const measurementReport = new dcmjs_es["default"].sr.templates.MeasurementReport({
1615
- languageOfContentItemAndDescendants: new dcmjs_es["default"].sr.templates.LanguageOfContentItemAndDescendants({}),
1606
+ const measurementReport = new dcmjs_es/* default.sr */.Ay.sr.templates.MeasurementReport({
1607
+ languageOfContentItemAndDescendants: new dcmjs_es/* default.sr */.Ay.sr.templates.LanguageOfContentItemAndDescendants({}),
1616
1608
  observationContext,
1617
- procedureReported: new dcmjs_es["default"].sr.coding.CodedConcept({
1609
+ procedureReported: new dcmjs_es/* default.sr */.Ay.sr.coding.CodedConcept({
1618
1610
  value: '112703',
1619
1611
  schemeDesignator: 'DCM',
1620
1612
  meaning: 'Whole Slide Imaging'
1621
1613
  }),
1622
1614
  imagingMeasurements
1623
1615
  });
1624
- const dataset = new dcmjs_es["default"].sr.documents.Comprehensive3DSR({
1616
+ const dataset = new dcmjs_es/* default.sr */.Ay.sr.documents.Comprehensive3DSR({
1625
1617
  content: measurementReport[0],
1626
1618
  evidence: [metadata],
1627
- seriesInstanceUID: dcmjs_es["default"].data.DicomMetaDictionary.uid(),
1619
+ seriesInstanceUID: dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary.uid(),
1628
1620
  seriesNumber: SeriesNumber,
1629
1621
  seriesDescription: SeriesDescription || 'Whole slide imaging structured report',
1630
- sopInstanceUID: dcmjs_es["default"].data.DicomMetaDictionary.uid(),
1622
+ sopInstanceUID: dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary.uid(),
1631
1623
  instanceNumber: 1,
1632
1624
  manufacturer: 'dcmjs-org'
1633
1625
  });
@@ -1647,7 +1639,7 @@ function constructSR(metadata, _ref, annotations) {
1647
1639
  vr: 'UI'
1648
1640
  },
1649
1641
  ImplementationClassUID: {
1650
- Value: [dcmjs_es["default"].data.DicomMetaDictionary.uid()],
1642
+ Value: [dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary.uid()],
1651
1643
  vr: 'UI'
1652
1644
  },
1653
1645
  ImplementationVersionName: {
@@ -1685,7 +1677,7 @@ function saveByteArray(buffer, filename) {
1685
1677
  let saving = false;
1686
1678
  const {
1687
1679
  datasetToBuffer
1688
- } = dcmjs_es["default"].data;
1680
+ } = dcmjs_es/* default.data */.Ay.data;
1689
1681
  const formatArea = area => {
1690
1682
  let mult = 1;
1691
1683
  let unit = 'mm';
@@ -1931,10 +1923,9 @@ function MicroscopyPanel(props) {
1931
1923
  *
1932
1924
  * @param param0
1933
1925
  */
1934
- const onMeasurementItemClickHandler = _ref => {
1935
- let {
1936
- uid
1937
- } = _ref;
1926
+ const onMeasurementItemClickHandler = ({
1927
+ uid
1928
+ }) => {
1938
1929
  const roiAnnotation = microscopyService.getAnnotation(uid);
1939
1930
  microscopyService.selectAnnotation(roiAnnotation);
1940
1931
  microscopyService.focusAnnotation(roiAnnotation, props.activeViewportId);
@@ -1944,11 +1935,10 @@ function MicroscopyPanel(props) {
1944
1935
  * Handler for "Edit" action of an annotation item
1945
1936
  * @param param0
1946
1937
  */
1947
- const onMeasurementItemEditHandler = _ref2 => {
1948
- let {
1949
- uid,
1950
- isActive
1951
- } = _ref2;
1938
+ const onMeasurementItemEditHandler = ({
1939
+ uid,
1940
+ isActive
1941
+ }) => {
1952
1942
  props.commandsManager.runCommand('setLabel', {
1953
1943
  uid
1954
1944
  }, 'MICROSCOPY');
@@ -1990,7 +1980,7 @@ function MicroscopyPanel(props) {
1990
1980
  return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
1991
1981
  className: "ohif-scrollbar overflow-y-auto overflow-x-hidden",
1992
1982
  "data-cy": 'measurements-panel'
1993
- }, /*#__PURE__*/react.createElement(src/* MeasurementTable */.wt, {
1983
+ }, /*#__PURE__*/react.createElement(src/* MeasurementTable */.V, {
1994
1984
  title: "Measurements",
1995
1985
  servicesManager: props.servicesManager,
1996
1986
  data: data,
@@ -1998,7 +1988,7 @@ function MicroscopyPanel(props) {
1998
1988
  onEdit: onMeasurementItemEditHandler
1999
1989
  })));
2000
1990
  }
2001
- const connectedMicroscopyPanel = (0,es/* withTranslation */.Zh)(['MicroscopyTable', 'Common'])(MicroscopyPanel);
1991
+ const connectedMicroscopyPanel = (0,es/* withTranslation */.CI)(['MicroscopyTable', 'Common'])(MicroscopyPanel);
2002
1992
  /* harmony default export */ const MicroscopyPanel_MicroscopyPanel = (connectedMicroscopyPanel);
2003
1993
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/getPanelModule.tsx
2004
1994
 
@@ -2010,17 +2000,16 @@ const connectedMicroscopyPanel = (0,es/* withTranslation */.Zh)(['MicroscopyTabl
2010
2000
  // - cancel promises when component is destroyed
2011
2001
  // - show errors in UI for thumbnails if promise fails
2012
2002
 
2013
- function getPanelModule(_ref) {
2014
- let {
2015
- commandsManager,
2016
- extensionManager,
2017
- servicesManager
2018
- } = _ref;
2003
+ function getPanelModule({
2004
+ commandsManager,
2005
+ extensionManager,
2006
+ servicesManager
2007
+ }) {
2019
2008
  const wrappedMeasurementPanel = () => {
2020
2009
  const [{
2021
2010
  activeViewportId,
2022
2011
  viewports
2023
- }] = (0,src/* useViewportGrid */.O_)();
2012
+ }] = (0,src/* useViewportGrid */.ih)();
2024
2013
  return /*#__PURE__*/react.createElement(MicroscopyPanel_MicroscopyPanel, {
2025
2014
  viewports: viewports,
2026
2015
  activeViewportId: activeViewportId,
@@ -2043,12 +2032,11 @@ function getPanelModule(_ref) {
2043
2032
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/getCommandsModule.ts
2044
2033
 
2045
2034
 
2046
- function getCommandsModule(_ref) {
2047
- let {
2048
- servicesManager,
2049
- commandsManager,
2050
- extensionManager
2051
- } = _ref;
2035
+ function getCommandsModule({
2036
+ servicesManager,
2037
+ commandsManager,
2038
+ extensionManager
2039
+ }) {
2052
2040
  const {
2053
2041
  viewportGridService,
2054
2042
  uiDialogService,
@@ -2056,10 +2044,9 @@ function getCommandsModule(_ref) {
2056
2044
  } = servicesManager.services;
2057
2045
  const actions = {
2058
2046
  // Measurement tool commands:
2059
- deleteMeasurement: _ref2 => {
2060
- let {
2061
- uid
2062
- } = _ref2;
2047
+ deleteMeasurement: ({
2048
+ uid
2049
+ }) => {
2063
2050
  if (uid) {
2064
2051
  const roiAnnotation = microscopyService.getAnnotation(uid);
2065
2052
  if (roiAnnotation) {
@@ -2067,10 +2054,9 @@ function getCommandsModule(_ref) {
2067
2054
  }
2068
2055
  }
2069
2056
  },
2070
- setLabel: _ref3 => {
2071
- let {
2072
- uid
2073
- } = _ref3;
2057
+ setLabel: ({
2058
+ uid
2059
+ }) => {
2074
2060
  const roiAnnotation = microscopyService.getAnnotation(uid);
2075
2061
  callInputDialog({
2076
2062
  uiDialogService,
@@ -2086,11 +2072,10 @@ function getCommandsModule(_ref) {
2086
2072
  }
2087
2073
  });
2088
2074
  },
2089
- setToolActive: _ref4 => {
2090
- let {
2091
- toolName,
2092
- toolGroupId = 'MICROSCOPY'
2093
- } = _ref4;
2075
+ setToolActive: ({
2076
+ toolName,
2077
+ toolGroupId = 'MICROSCOPY'
2078
+ }) => {
2094
2079
  const dragPanOnMiddle = ['dragPan', {
2095
2080
  bindings: {
2096
2081
  mouseButtons: ['middle']
@@ -2146,8 +2131,7 @@ function getCommandsModule(_ref) {
2146
2131
 
2147
2132
  // overview
2148
2133
  const {
2149
- activeViewportId,
2150
- viewports
2134
+ activeViewportId
2151
2135
  } = viewportGridService.getState();
2152
2136
  microscopyService.toggleOverviewMap(activeViewportId);
2153
2137
  },
@@ -2157,29 +2141,19 @@ function getCommandsModule(_ref) {
2157
2141
  };
2158
2142
  const definitions = {
2159
2143
  deleteMeasurement: {
2160
- commandFn: actions.deleteMeasurement,
2161
- storeContexts: [],
2162
- options: {}
2144
+ commandFn: actions.deleteMeasurement
2163
2145
  },
2164
2146
  setLabel: {
2165
- commandFn: actions.setLabel,
2166
- storeContexts: [],
2167
- options: {}
2147
+ commandFn: actions.setLabel
2168
2148
  },
2169
2149
  setToolActive: {
2170
- commandFn: actions.setToolActive,
2171
- storeContexts: [],
2172
- options: {}
2150
+ commandFn: actions.setToolActive
2173
2151
  },
2174
2152
  toggleOverlays: {
2175
- commandFn: actions.toggleOverlays,
2176
- storeContexts: [],
2177
- options: {}
2153
+ commandFn: actions.toggleOverlays
2178
2154
  },
2179
2155
  toggleAnnotations: {
2180
- commandFn: actions.toggleAnnotations,
2181
- storeContexts: [],
2182
- options: {}
2156
+ commandFn: actions.toggleAnnotations
2183
2157
  }
2184
2158
  };
2185
2159
  return {
@@ -2192,7 +2166,7 @@ function getCommandsModule(_ref) {
2192
2166
 
2193
2167
  const {
2194
2168
  utils
2195
- } = core_src["default"];
2169
+ } = core_src/* default */.Ay;
2196
2170
  const SOP_CLASS_UIDS = {
2197
2171
  VL_WHOLE_SLIDE_MICROSCOPY_IMAGE_STORAGE: '1.2.840.10008.5.1.4.1.1.77.1.6'
2198
2172
  };
@@ -2284,11 +2258,10 @@ function _getDisplaySetsFromSeries(instances, servicesManager, extensionManager)
2284
2258
  };
2285
2259
  return [displaySet];
2286
2260
  }
2287
- function getDicomMicroscopySopClassHandler(_ref) {
2288
- let {
2289
- servicesManager,
2290
- extensionManager
2291
- } = _ref;
2261
+ function getDicomMicroscopySopClassHandler({
2262
+ servicesManager,
2263
+ extensionManager
2264
+ }) {
2292
2265
  const getDisplaySetsFromSeries = instances => {
2293
2266
  return _getDisplaySetsFromSeries(instances, servicesManager, extensionManager);
2294
2267
  };
@@ -2311,7 +2284,6 @@ const DCM_CODE_VALUES = {
2311
2284
  LONG_AXIS: 'G-A185',
2312
2285
  ELLIPSE_AREA: 'G-D7FE' // TODO: Remove this
2313
2286
  };
2314
-
2315
2287
  /* harmony default export */ const dcmCodeValues = (DCM_CODE_VALUES);
2316
2288
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/toArray.js
2317
2289
  function toArray(item) {
@@ -2321,7 +2293,7 @@ function toArray(item) {
2321
2293
 
2322
2294
 
2323
2295
 
2324
- const MeasurementReport = dcmjs_es["default"].adapters.DICOMMicroscopyViewer.MeasurementReport;
2296
+ const MeasurementReport = dcmjs_es/* default.adapters */.Ay.adapters.DICOMMicroscopyViewer.MeasurementReport;
2325
2297
 
2326
2298
  // Define as async so that it returns a promise, expected by the ViewportGrid
2327
2299
  async function loadSR(microscopyService, microscopySRDisplaySet, referencedDisplaySet) {
@@ -2358,7 +2330,7 @@ async function loadSR(microscopyService, microscopySRDisplaySet, referencedDispl
2358
2330
  async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) {
2359
2331
  const toolState = MeasurementReport.generateToolState(naturalizedDataset);
2360
2332
  const tools = Object.getOwnPropertyNames(toolState);
2361
- const DICOMMicroscopyViewer = await __webpack_require__.e(/* import() | dicom-microscopy-viewer */ 18).then(__webpack_require__.t.bind(__webpack_require__, 42613, 23));
2333
+ const DICOMMicroscopyViewer = await __webpack_require__.e(/* import() | dicom-microscopy-viewer */ 525).then(__webpack_require__.t.bind(__webpack_require__, 95226, 23));
2362
2334
  const measurementGroupContentItems = _getMeasurementGroups(naturalizedDataset);
2363
2335
  const rois = [];
2364
2336
  const labels = [];
@@ -2492,7 +2464,7 @@ function getSourceDisplaySet(allDisplaySets, microscopySRDisplaySet) {
2492
2464
 
2493
2465
  const {
2494
2466
  utils: DicomMicroscopySRSopClassHandler_utils
2495
- } = core_src["default"];
2467
+ } = core_src/* default */.Ay;
2496
2468
  const DicomMicroscopySRSopClassHandler_SOP_CLASS_UIDS = {
2497
2469
  COMPREHENSIVE_3D_SR: '1.2.840.10008.5.1.4.1.1.88.34'
2498
2470
  };
@@ -2573,11 +2545,10 @@ function DicomMicroscopySRSopClassHandler_getDisplaySetsFromSeries(instances, se
2573
2545
  };
2574
2546
  return [displaySet];
2575
2547
  }
2576
- function getDicomMicroscopySRSopClassHandler(_ref) {
2577
- let {
2578
- servicesManager,
2579
- extensionManager
2580
- } = _ref;
2548
+ function getDicomMicroscopySRSopClassHandler({
2549
+ servicesManager,
2550
+ extensionManager
2551
+ }) {
2581
2552
  const getDisplaySetsFromSeries = instances => {
2582
2553
  return DicomMicroscopySRSopClassHandler_getDisplaySetsFromSeries(instances, servicesManager, extensionManager);
2583
2554
  };
@@ -2598,7 +2569,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2598
2569
 
2599
2570
 
2600
2571
  const Component = /*#__PURE__*/react.lazy(() => {
2601
- return Promise.all(/* import() */[__webpack_require__.e(743), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(23), __webpack_require__.e(342), __webpack_require__.e(250)]).then(__webpack_require__.bind(__webpack_require__, 76516));
2572
+ return Promise.all(/* import() */[__webpack_require__.e(504), __webpack_require__.e(191), __webpack_require__.e(644), __webpack_require__.e(931), __webpack_require__.e(90), __webpack_require__.e(544)]).then(__webpack_require__.bind(__webpack_require__, 17919));
2602
2573
  });
2603
2574
  const MicroscopyViewport = props => {
2604
2575
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -2609,19 +2580,15 @@ const MicroscopyViewport = props => {
2609
2580
  /**
2610
2581
  * You can remove any of the following modules if you don't need them.
2611
2582
  */
2612
- /* harmony default export */ const dicom_microscopy_src = ({
2583
+ const extension = {
2613
2584
  /**
2614
2585
  * Only required property. Should be a unique value across all extensions.
2615
2586
  * You ID can be anything you want, but it should be unique.
2616
2587
  */
2617
2588
  id: id,
2618
- async preRegistration(_ref) {
2619
- let {
2620
- servicesManager,
2621
- commandsManager,
2622
- configuration = {},
2623
- appConfig
2624
- } = _ref;
2589
+ async preRegistration({
2590
+ servicesManager
2591
+ }) {
2625
2592
  servicesManager.registerService(MicroscopyService.REGISTRATION(servicesManager));
2626
2593
  },
2627
2594
  /**
@@ -2630,12 +2597,11 @@ const MicroscopyViewport = props => {
2630
2597
  * {name, component} object. Example of a viewport module is the CornerstoneViewport
2631
2598
  * that is provided by the Cornerstone extension in OHIF.
2632
2599
  */
2633
- getViewportModule(_ref2) {
2634
- let {
2635
- servicesManager,
2636
- extensionManager,
2637
- commandsManager
2638
- } = _ref2;
2600
+ getViewportModule({
2601
+ servicesManager,
2602
+ extensionManager,
2603
+ commandsManager
2604
+ }) {
2639
2605
  /**
2640
2606
  *
2641
2607
  * @param props {*}
@@ -2651,11 +2617,20 @@ const MicroscopyViewport = props => {
2651
2617
  const {
2652
2618
  viewportOptions
2653
2619
  } = props;
2654
- const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.O_)();
2620
+ const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.ih)();
2655
2621
  const {
2656
2622
  activeViewportId
2657
2623
  } = viewportGrid;
2624
+
2625
+ // a unique identifier based on the contents of displaySets.
2626
+ // since we changed our rendering pipeline and if there is no
2627
+ // element size change nor viewportId change we won't re-render
2628
+ // we need a way to force re-rendering when displaySets change.
2629
+ const displaySetsKey = (0,react.useMemo)(() => {
2630
+ return props.displaySets.map(ds => ds.displaySetInstanceUID).join('-');
2631
+ }, [props.displaySets]);
2658
2632
  return /*#__PURE__*/react.createElement(MicroscopyViewport, _extends({
2633
+ key: displaySetsKey,
2659
2634
  servicesManager: servicesManager,
2660
2635
  extensionManager: extensionManager,
2661
2636
  commandsManager: commandsManager,
@@ -2671,18 +2646,50 @@ const MicroscopyViewport = props => {
2671
2646
  component: ExtendedMicroscopyViewport
2672
2647
  }];
2673
2648
  },
2649
+ getToolbarModule({
2650
+ servicesManager
2651
+ }) {
2652
+ return [{
2653
+ name: 'evaluate.microscopyTool',
2654
+ evaluate: ({
2655
+ button
2656
+ }) => {
2657
+ const {
2658
+ microscopyService
2659
+ } = servicesManager.services;
2660
+ const activeInteractions = microscopyService.getActiveInteractions();
2661
+ const isPrimaryActive = activeInteractions.find(interactions => {
2662
+ const sameMouseButton = interactions[1].bindings.mouseButtons.includes('left');
2663
+ if (!sameMouseButton) {
2664
+ return false;
2665
+ }
2666
+ const notDraw = interactions[0] !== 'draw';
2667
+
2668
+ // there seems to be a custom logic for draw tool for some reason
2669
+ return notDraw ? interactions[0] === button.id : interactions[1].geometryType === button.id;
2670
+ });
2671
+ return {
2672
+ disabled: false,
2673
+ className: isPrimaryActive ? '!text-black bg-primary-light' : '!text-common-bright hover:!bg-primary-dark hover:!text-primary-light',
2674
+ // Todo: isActive right now is used for nested buttons where the primary
2675
+ // button needs to be fully rounded (vs partial rounded) when active
2676
+ // otherwise it does not have any other use
2677
+ isActive: isPrimaryActive
2678
+ };
2679
+ }
2680
+ }];
2681
+ },
2674
2682
  /**
2675
2683
  * SopClassHandlerModule should provide a list of sop class handlers that will be
2676
2684
  * available in OHIF for Modes to consume and use to create displaySets from Series.
2677
2685
  * Each sop class handler is defined by a { name, sopClassUids, getDisplaySetsFromSeries}.
2678
2686
  * Examples include the default sop class handler provided by the default extension
2679
2687
  */
2680
- getSopClassHandlerModule(_ref3) {
2681
- let {
2682
- servicesManager,
2683
- commandsManager,
2684
- extensionManager
2685
- } = _ref3;
2688
+ getSopClassHandlerModule({
2689
+ servicesManager,
2690
+ commandsManager,
2691
+ extensionManager
2692
+ }) {
2686
2693
  return [getDicomMicroscopySopClassHandler({
2687
2694
  servicesManager,
2688
2695
  extensionManager
@@ -2693,14 +2700,8 @@ const MicroscopyViewport = props => {
2693
2700
  },
2694
2701
  getPanelModule: getPanelModule,
2695
2702
  getCommandsModule: getCommandsModule
2696
- });
2697
-
2698
- /***/ }),
2699
-
2700
- /***/ 78753:
2701
- /***/ (() => {
2702
-
2703
- /* (ignored) */
2703
+ };
2704
+ /* harmony default export */ const dicom_microscopy_src = (extension);
2704
2705
 
2705
2706
  /***/ })
2706
2707