@ohif/app 3.8.0-beta.80 → 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 (33) hide show
  1. package/dist/{121.bundle.787f5a848ed632a4d5fc.js → 121.bundle.47f05840a5b3cdf75543.js} +4 -1
  2. package/dist/{183.bundle.72bf18ad23ee6624986d.js → 183.bundle.a3e238998be71c4b2af8.js} +64 -48
  3. package/dist/{206.bundle.f957e0d1cdff66dbac69.js → 206.bundle.fcaa081a0d1f68095c31.js} +45 -20
  4. package/dist/{217.bundle.be1cc412f8e26be87d21.js → 217.bundle.d44bbaa50b6fa563fe15.js} +116 -69
  5. package/dist/{295.bundle.6f734abf8fa85b1a310d.js → 295.bundle.5ace95771ced62bdcab8.js} +4 -1
  6. package/dist/{325.bundle.84909a08305556e9f924.js → 325.bundle.fd8e0c18db4708d03a91.js} +4 -8
  7. package/dist/{335.bundle.c39d4aefe33aecab958f.js → 335.bundle.8400aa5a88697a6b9d53.js} +2 -2
  8. package/dist/{41.bundle.7c943bb857ed37831905.js → 41.bundle.0905b258a90a7c6437bb.js} +174 -104
  9. package/dist/{422.bundle.bd6529c536f59807fbee.js → 422.bundle.c6fd037b075dd54f1ba7.js} +9 -25
  10. package/dist/{433.bundle.4c77c1fe8fc90ac14218.js → 433.bundle.e0018820758f5a86fa7f.js} +61 -7
  11. package/dist/{448.bundle.deedeff5744e77510734.js → 448.bundle.5e6da31477887bf53016.js} +6 -12
  12. package/dist/{487.bundle.7890ca42826941ebcd60.js → 487.bundle.89d973049defb3ba6cb7.js} +3 -2
  13. package/dist/{530.bundle.7c94543955552475c56a.js → 530.bundle.207b38c15c4c01e4db0e.js} +14 -2
  14. package/dist/{574.bundle.be075ac52fb52b442a8b.js → 574.bundle.d648fea691d6709bf2b4.js} +14 -3
  15. package/dist/{633.bundle.c1658e76f104cbd14cab.js → 633.bundle.acab89baaa06a299d679.js} +48 -33
  16. package/dist/{540.bundle.079d43a6717e95c24392.js → 669.bundle.b17e8a621e38d92c653f.js} +95 -87
  17. package/dist/{699.bundle.4f01772e7ce6637de339.js → 699.bundle.9367d7ef9f7615b2e733.js} +41 -37
  18. package/dist/{724.bundle.e5794460c391ee9cba2c.js → 724.bundle.55f9f49816de931af91a.js} +1 -1
  19. package/dist/{862.bundle.c0ee6e1d4d97e1353213.js → 862.bundle.d32ab08e64806b2e964d.js} +4 -1
  20. package/dist/{94.bundle.c452d9b0645277c2cf4e.js → 94.bundle.f5f2479c214180d05d42.js} +7 -13
  21. package/dist/app.bundle.css +1 -1
  22. package/dist/{app.bundle.6c090a2d6d3ccc97a81d.js → app.bundle.ed937512f7d19d61c411.js} +188 -64
  23. package/dist/index.html +1 -1
  24. package/dist/{polySeg.bundle.63011312c3c79e717ea9.js → polySeg.bundle.f1a6ece1396dc1385155.js} +1 -1
  25. package/dist/sw.js +1 -1
  26. package/package.json +18 -18
  27. /package/dist/{164.bundle.d4598e491783753a8b6b.js → 164.bundle.fadc7c5d634402c73b5f.js} +0 -0
  28. /package/dist/{188.bundle.b80554ec7df7dcd435a5.js → 188.bundle.51dc4b37920f45594393.js} +0 -0
  29. /package/dist/{594.bundle.0b1165661dd638820082.js → 594.bundle.84076375b127b9c7f673.js} +0 -0
  30. /package/dist/{889.bundle.7858e4b7ca1a2b12b64f.js → 889.bundle.8ef8b723d0163d5d135c.js} +0 -0
  31. /package/dist/{905.bundle.170908fe660fc6b40649.js → 905.bundle.8a96e1a75b7cfe5ec093.js} +0 -0
  32. /package/dist/{907.bundle.dee4e30420caf07caea6.js → 907.bundle.5c88ed911bed18582da4.js} +0 -0
  33. /package/dist/{961.bundle.aaaaaba0ec015a3b85d8.js → 961.bundle.f4e52bc76d3044d05372.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[540],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[669],{
3
3
 
4
- /***/ 53540:
4
+ /***/ 61669:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -9,7 +9,7 @@ __webpack_require__.r(__webpack_exports__);
9
9
 
10
10
  // EXPORTS
11
11
  __webpack_require__.d(__webpack_exports__, {
12
- createReferencedImageDisplaySet: () => (/* reexport */ utils_createReferencedImageDisplaySet),
12
+ createReferencedImageDisplaySet: () => (/* reexport */ createReferencedImageDisplaySet/* default */.A),
13
13
  "default": () => (/* binding */ cornerstone_dicom_sr_src),
14
14
  hydrateStructuredReport: () => (/* reexport */ hydrateStructuredReport/* default */.A),
15
15
  srProtocol: () => (/* reexport */ srProtocol)
@@ -82,7 +82,7 @@ class DICOMSRDisplayTool extends dist_esm.AnnotationTool {
82
82
  const activeTrackingUniqueIdentifier = trackingUniqueIdentifiers[activeIndex];
83
83
 
84
84
  // Filter toolData to only render the data for the active SR.
85
- const filteredAnnotations = annotations.filter(annotation => trackingUniqueIdentifiers.includes(annotation.data?.cachedStats?.TrackingUniqueIdentifier));
85
+ const filteredAnnotations = annotations.filter(annotation => trackingUniqueIdentifiers.includes(annotation.data?.TrackingUniqueIdentifier));
86
86
  if (!viewport._actors?.size) {
87
87
  return;
88
88
  }
@@ -98,10 +98,8 @@ class DICOMSRDisplayTool extends dist_esm.AnnotationTool {
98
98
  const annotation = filteredAnnotations[i];
99
99
  const annotationUID = annotation.annotationUID;
100
100
  const {
101
- renderableData
102
- } = annotation.data.cachedStats;
103
- const {
104
- cachedStats
101
+ renderableData,
102
+ TrackingUniqueIdentifier
105
103
  } = annotation.data;
106
104
  const {
107
105
  referencedImageId
@@ -110,7 +108,7 @@ class DICOMSRDisplayTool extends dist_esm.AnnotationTool {
110
108
  const groupStyle = annotationStyle.getToolGroupToolStyles(this.toolGroupId)[this.getToolName()];
111
109
  const lineWidth = this.getStyle('lineWidth', styleSpecifier, annotation);
112
110
  const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
113
- const color = cachedStats.TrackingUniqueIdentifier === activeTrackingUniqueIdentifier ? 'rgb(0, 255, 0)' : this.getStyle('color', styleSpecifier, annotation);
111
+ const color = TrackingUniqueIdentifier === activeTrackingUniqueIdentifier ? 'rgb(0, 255, 0)' : this.getStyle('color', styleSpecifier, annotation);
114
112
  const options = {
115
113
  color,
116
114
  lineDash,
@@ -367,10 +365,9 @@ function addDICOMSRDisplayAnnotation(measurement, imageId, frameNumber) {
367
365
  handles: {
368
366
  textBox: measurement.textBox ?? {}
369
367
  },
370
- cachedStats: {
371
- TrackingUniqueIdentifier: measurementData.TrackingUniqueIdentifier,
372
- renderableData: measurementData.renderableData
373
- },
368
+ cachedStats: {},
369
+ TrackingUniqueIdentifier: measurementData.TrackingUniqueIdentifier,
370
+ renderableData: measurementData.renderableData,
374
371
  frameNumber
375
372
  }
376
373
  };
@@ -1405,9 +1402,90 @@ function init({
1405
1402
  }
1406
1403
  // EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/hydrateStructuredReport.js + 1 modules
1407
1404
  var hydrateStructuredReport = __webpack_require__(77089);
1408
- ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/createReferencedImageDisplaySet.ts
1405
+ // EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/createReferencedImageDisplaySet.ts
1406
+ var createReferencedImageDisplaySet = __webpack_require__(92643);
1407
+ ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/index.tsx
1408
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+ const Component = /*#__PURE__*/react.lazy(() => {
1420
+ return __webpack_require__.e(/* import() */ 530).then(__webpack_require__.bind(__webpack_require__, 58530));
1421
+ });
1422
+ const OHIFCornerstoneSRViewport = props => {
1423
+ return /*#__PURE__*/react.createElement(react.Suspense, {
1424
+ fallback: /*#__PURE__*/react.createElement("div", null, "Loading...")
1425
+ }, /*#__PURE__*/react.createElement(Component, props));
1426
+ };
1409
1427
 
1410
- const createReferencedImageDisplaySet_ImageSet = src.classes.ImageSet;
1428
+ /**
1429
+ *
1430
+ */
1431
+ const dicomSRExtension = {
1432
+ /**
1433
+ * Only required property. Should be a unique value across all extensions.
1434
+ */
1435
+ id: id,
1436
+ onModeEnter: onModeEnter,
1437
+ preRegistration: init,
1438
+ /**
1439
+ *
1440
+ *
1441
+ * @param {object} [configuration={}]
1442
+ * @param {object|array} [configuration.csToolsConfig] - Passed directly to `initCornerstoneTools`
1443
+ */
1444
+ getViewportModule({
1445
+ servicesManager,
1446
+ extensionManager
1447
+ }) {
1448
+ const ExtendedOHIFCornerstoneSRViewport = props => {
1449
+ return /*#__PURE__*/react.createElement(OHIFCornerstoneSRViewport, _extends({
1450
+ servicesManager: servicesManager,
1451
+ extensionManager: extensionManager
1452
+ }, props));
1453
+ };
1454
+ return [{
1455
+ name: 'dicom-sr',
1456
+ component: ExtendedOHIFCornerstoneSRViewport
1457
+ }];
1458
+ },
1459
+ getCommandsModule: src_commandsModule,
1460
+ getSopClassHandlerModule: src_getSopClassHandlerModule,
1461
+ // Include dynamically computed values such as toolNames not known till instantiation
1462
+ getUtilityModule({
1463
+ servicesManager
1464
+ }) {
1465
+ return [{
1466
+ name: 'tools',
1467
+ exports: {
1468
+ toolNames: tools_toolNames
1469
+ }
1470
+ }];
1471
+ }
1472
+ };
1473
+ /* harmony default export */ const cornerstone_dicom_sr_src = (dicomSRExtension);
1474
+
1475
+ // Put static exports here so they can be type checked
1476
+
1477
+
1478
+ /***/ }),
1479
+
1480
+ /***/ 92643:
1481
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1482
+
1483
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1484
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
1485
+ /* harmony export */ });
1486
+ /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55411);
1487
+
1488
+ const ImageSet = _ohif_core__WEBPACK_IMPORTED_MODULE_0__.classes.ImageSet;
1411
1489
  const findInstance = (measurement, displaySetService) => {
1412
1490
  const {
1413
1491
  displaySetInstanceUID,
@@ -1463,7 +1541,7 @@ const createReferencedImageDisplaySet = (displaySetService, displaySet) => {
1463
1541
  this.images.splice(0, this.images.length, ...findReferencedInstances(displaySetService, displaySet));
1464
1542
  this.numImageFrames = this.images.length;
1465
1543
  };
1466
- const imageSet = new createReferencedImageDisplaySet_ImageSet(instances);
1544
+ const imageSet = new ImageSet(instances);
1467
1545
  const instance = instances[0];
1468
1546
  imageSet.setAttributes({
1469
1547
  displaySetInstanceUID: imageSet.uid,
@@ -1489,77 +1567,7 @@ const createReferencedImageDisplaySet = (displaySetService, displaySet) => {
1489
1567
  displaySetService.addDisplaySets(imageSet);
1490
1568
  return imageSet;
1491
1569
  };
1492
- /* harmony default export */ const utils_createReferencedImageDisplaySet = (createReferencedImageDisplaySet);
1493
- ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/index.tsx
1494
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1495
-
1496
-
1497
-
1498
-
1499
-
1500
-
1501
-
1502
-
1503
-
1504
-
1505
- const Component = /*#__PURE__*/react.lazy(() => {
1506
- return __webpack_require__.e(/* import() */ 530).then(__webpack_require__.bind(__webpack_require__, 58530));
1507
- });
1508
- const OHIFCornerstoneSRViewport = props => {
1509
- return /*#__PURE__*/react.createElement(react.Suspense, {
1510
- fallback: /*#__PURE__*/react.createElement("div", null, "Loading...")
1511
- }, /*#__PURE__*/react.createElement(Component, props));
1512
- };
1513
-
1514
- /**
1515
- *
1516
- */
1517
- const dicomSRExtension = {
1518
- /**
1519
- * Only required property. Should be a unique value across all extensions.
1520
- */
1521
- id: id,
1522
- onModeEnter: onModeEnter,
1523
- preRegistration: init,
1524
- /**
1525
- *
1526
- *
1527
- * @param {object} [configuration={}]
1528
- * @param {object|array} [configuration.csToolsConfig] - Passed directly to `initCornerstoneTools`
1529
- */
1530
- getViewportModule({
1531
- servicesManager,
1532
- extensionManager
1533
- }) {
1534
- const ExtendedOHIFCornerstoneSRViewport = props => {
1535
- return /*#__PURE__*/react.createElement(OHIFCornerstoneSRViewport, _extends({
1536
- servicesManager: servicesManager,
1537
- extensionManager: extensionManager
1538
- }, props));
1539
- };
1540
- return [{
1541
- name: 'dicom-sr',
1542
- component: ExtendedOHIFCornerstoneSRViewport
1543
- }];
1544
- },
1545
- getCommandsModule: src_commandsModule,
1546
- getSopClassHandlerModule: src_getSopClassHandlerModule,
1547
- // Include dynamically computed values such as toolNames not known till instantiation
1548
- getUtilityModule({
1549
- servicesManager
1550
- }) {
1551
- return [{
1552
- name: 'tools',
1553
- exports: {
1554
- toolNames: tools_toolNames
1555
- }
1556
- }];
1557
- }
1558
- };
1559
- /* harmony default export */ const cornerstone_dicom_sr_src = (dicomSRExtension);
1560
-
1561
- // Put static exports here so they can be type checked
1562
-
1570
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createReferencedImageDisplaySet);
1563
1571
 
1564
1572
  /***/ }),
1565
1573
 
@@ -32,19 +32,7 @@ const ReferenceLinesListeners = [{
32
32
  const setToolActiveToolbar = {
33
33
  commandName: 'setToolActiveToolbar',
34
34
  commandOptions: {
35
- toolGroupIds: ['default', 'mpr', 'SRToolGroup']
36
- }
37
- };
38
- const toggleEnabledDisabledToolbar = {
39
- commandName: 'toggleEnabledDisabledToolbar',
40
- commandOptions: {
41
- toolGroupIds: ['default', 'mpr', 'SRToolGroup']
42
- }
43
- };
44
- const toggleActiveDisabledToolbar = {
45
- commandName: 'toggleActiveDisabledToolbar',
46
- commandOptions: {
47
- toolGroupIds: ['default', 'mpr', 'SRToolGroup']
35
+ toolGroupIds: ['default', 'mpr', 'SRToolGroup', 'volume3d']
48
36
  }
49
37
  };
50
38
  const toolbarButtons = [{
@@ -167,7 +155,7 @@ const toolbarButtons = [{
167
155
  icon: 'tool-referenceLines',
168
156
  label: 'Reference Lines',
169
157
  tooltip: 'Show Reference Lines',
170
- commands: toggleEnabledDisabledToolbar,
158
+ commands: 'toggleEnabledDisabledToolbar',
171
159
  listeners: {
172
160
  [src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,
173
161
  [src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners
@@ -178,7 +166,7 @@ const toolbarButtons = [{
178
166
  icon: 'toggle-dicom-overlay',
179
167
  label: 'Image Overlay',
180
168
  tooltip: 'Toggle Image Overlay',
181
- commands: toggleEnabledDisabledToolbar,
169
+ commands: 'toggleEnabledDisabledToolbar',
182
170
  evaluate: 'evaluate.cornerstoneTool.toggle'
183
171
  }), createButton({
184
172
  id: 'StackScroll',
@@ -247,8 +235,8 @@ const toolbarButtons = [{
247
235
  icon: 'icon-tool-loupe',
248
236
  label: 'Loupe',
249
237
  tooltip: 'Loupe',
250
- commands: toggleActiveDisabledToolbar,
251
- evaluate: 'evaluate.cornerstoneTool'
238
+ commands: 'toggleActiveDisabledToolbar',
239
+ evaluate: 'evaluate.cornerstoneTool.toggle.ifStrictlyDisabled'
252
240
  }), createButton({
253
241
  id: 'UltrasoundDirectionalTool',
254
242
  icon: 'icon-tool-ultrasound-bidirectional',
@@ -280,9 +268,7 @@ const segmentationButtons_toolbarButtons = [{
280
268
  label: 'Brush',
281
269
  evaluate: {
282
270
  name: 'evaluate.cornerstone.segmentation',
283
- options: {
284
- toolNames: ['CircularBrush', 'SphereBrush']
285
- },
271
+ toolNames: ['CircularBrush', 'SphereBrush'],
286
272
  disabledText: 'Create new segmentation to enable this tool.'
287
273
  },
288
274
  commands: _createSetToolActiveCommands('CircularBrush'),
@@ -320,9 +306,7 @@ const segmentationButtons_toolbarButtons = [{
320
306
  label: 'Eraser',
321
307
  evaluate: {
322
308
  name: 'evaluate.cornerstone.segmentation',
323
- options: {
324
- toolNames: ['CircularEraser', 'SphereEraser']
325
- }
309
+ toolNames: ['CircularEraser', 'SphereEraser']
326
310
  },
327
311
  commands: _createSetToolActiveCommands('CircularEraser'),
328
312
  options: [{
@@ -359,9 +343,7 @@ const segmentationButtons_toolbarButtons = [{
359
343
  label: 'Threshold Tool',
360
344
  evaluate: {
361
345
  name: 'evaluate.cornerstone.segmentation',
362
- options: {
363
- toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush']
364
- }
346
+ toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush']
365
347
  },
366
348
  commands: _createSetToolActiveCommands('ThresholdCircularBrush'),
367
349
  options: [{
@@ -403,8 +385,19 @@ const segmentationButtons_toolbarButtons = [{
403
385
  value: 'ThresholdRange',
404
386
  label: 'Range'
405
387
  }],
406
- commands: {
407
- commandName: 'toggleThresholdRangeAndDynamic'
388
+ commands: ({
389
+ value,
390
+ commandsManager
391
+ }) => {
392
+ if (value === 'ThresholdDynamic') {
393
+ commandsManager.run('setToolActive', {
394
+ toolName: 'ThresholdCircularBrushDynamic'
395
+ });
396
+ } else {
397
+ commandsManager.run('setToolActive', {
398
+ toolName: 'ThresholdCircularBrush'
399
+ });
400
+ }
408
401
  }
409
402
  }, {
410
403
  name: 'ThresholdRange',
@@ -433,9 +426,7 @@ const segmentationButtons_toolbarButtons = [{
433
426
  label: 'Shapes',
434
427
  evaluate: {
435
428
  name: 'evaluate.cornerstone.segmentation',
436
- options: {
437
- toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor']
438
- }
429
+ toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor']
439
430
  },
440
431
  icon: 'icon-tool-shape',
441
432
  commands: _createSetToolActiveCommands('CircleScissor'),
@@ -513,15 +504,28 @@ function createTools(utilityModule) {
513
504
  toolName: 'ThresholdCircularBrush',
514
505
  parentTool: 'Brush',
515
506
  configuration: {
516
- activeStrategy: 'THRESHOLD_INSIDE_CIRCLE',
517
- dynamicRadius: 3
507
+ activeStrategy: 'THRESHOLD_INSIDE_CIRCLE'
518
508
  }
519
509
  }, {
520
510
  toolName: 'ThresholdSphereBrush',
521
511
  parentTool: 'Brush',
522
512
  configuration: {
523
- activeStrategy: 'THRESHOLD_INSIDE_SPHERE',
524
- dynamicRadius: 3
513
+ activeStrategy: 'THRESHOLD_INSIDE_SPHERE'
514
+ }
515
+ }, {
516
+ toolName: 'ThresholdCircularBrushDynamic',
517
+ parentTool: 'Brush',
518
+ configuration: {
519
+ activeStrategy: 'THRESHOLD_INSIDE_CIRCLE',
520
+ preview: {
521
+ enabled: true
522
+ },
523
+ strategySpecificConfiguration: {
524
+ THRESHOLD: {
525
+ isDynamic: true,
526
+ dynamicRadius: 3
527
+ }
528
+ }
525
529
  }
526
530
  }, {
527
531
  toolName: toolNames.CircleScissors
@@ -535,13 +539,13 @@ function createTools(utilityModule) {
535
539
  toolName: toolNames.Magnify
536
540
  }, {
537
541
  toolName: toolNames.SegmentationDisplay
538
- }, {
539
- toolName: toolNames.AdvancedMagnify
540
542
  }, {
541
543
  toolName: toolNames.UltrasoundDirectional
542
544
  }],
543
545
  disabled: [{
544
546
  toolName: toolNames.ReferenceLines
547
+ }, {
548
+ toolName: toolNames.AdvancedMagnify
545
549
  }]
546
550
  };
547
551
  }
@@ -471,7 +471,7 @@ function modeFactory({
471
471
  }) => {
472
472
  const modalities_list = modalities.split('\\');
473
473
  const invalidModalities = ['SM'];
474
- const isValid = modalities_list.includes('CT') && modalities_list.includes('PT') && !invalidModalities.some(modality => modalities_list.includes(modality)) &&
474
+ const isValid = modalities_list.includes('CT') && study.mrn !== 'M1' && modalities_list.includes('PT') && !invalidModalities.some(modality => modalities_list.includes(modality)) &&
475
475
  // This is study is a 4D study with PT and CT and not a 3D study for the tmtv
476
476
  // mode, until we have a better way to identify 4D studies we will use the
477
477
  // StudyInstanceUID to identify the study
@@ -196,7 +196,10 @@ function TrackedCornerstoneViewport(props) {
196
196
  component: Component
197
197
  } = extensionManager.getModuleEntry('@ohif/extension-cornerstone.viewportModule.cornerstone');
198
198
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, _extends({}, props, {
199
- onElementEnabled: onElementEnabled,
199
+ onElementEnabled: evt => {
200
+ props.onElementEnabled?.(evt);
201
+ onElementEnabled(evt);
202
+ },
200
203
  onElementDisabled: onElementDisabled
201
204
  }));
202
205
  };
@@ -438,9 +438,7 @@ const segmentationButtons_toolbarButtons = [{
438
438
  label: 'Brush',
439
439
  evaluate: {
440
440
  name: 'evaluate.cornerstone.segmentation',
441
- options: {
442
- toolNames: ['CircularBrush', 'SphereBrush']
443
- }
441
+ toolNames: ['CircularBrush', 'SphereBrush']
444
442
  },
445
443
  commands: _createSetToolActiveCommands('CircularBrush'),
446
444
  options: [{
@@ -477,9 +475,7 @@ const segmentationButtons_toolbarButtons = [{
477
475
  label: 'Eraser',
478
476
  evaluate: {
479
477
  name: 'evaluate.cornerstone.segmentation',
480
- options: {
481
- toolNames: ['CircularEraser', 'SphereEraser']
482
- }
478
+ toolNames: ['CircularEraser', 'SphereEraser']
483
479
  },
484
480
  commands: _createSetToolActiveCommands('CircularEraser'),
485
481
  options: [{
@@ -516,9 +512,7 @@ const segmentationButtons_toolbarButtons = [{
516
512
  label: 'Eraser',
517
513
  evaluate: {
518
514
  name: 'evaluate.cornerstone.segmentation',
519
- options: {
520
- toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush']
521
- }
515
+ toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush']
522
516
  },
523
517
  commands: _createSetToolActiveCommands('ThresholdCircularBrush'),
524
518
  options: [{
@@ -572,9 +566,7 @@ const segmentationButtons_toolbarButtons = [{
572
566
  label: 'Shapes',
573
567
  evaluate: {
574
568
  name: 'evaluate.cornerstone.segmentation',
575
- options: {
576
- toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor']
577
- }
569
+ toolNames: ['CircleScissor', 'SphereScissor', 'RectangleScissor']
578
570
  },
579
571
  icon: 'icon-tool-shape',
580
572
  commands: _createSetToolActiveCommands('CircleScissor'),
@@ -681,7 +673,9 @@ function modeFactory({
681
673
  } = cornerstoneViewportService.subscribe(cornerstoneViewportService.EVENTS.VIEWPORT_VOLUMES_CHANGED, () => {
682
674
  const viewportId = viewportGridService.getActiveViewportId();
683
675
  const csViewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
684
- cineService.playClip(csViewport.element);
676
+ cineService.playClip(csViewport.element, {
677
+ viewportId
678
+ });
685
679
  // cineService.setIsCineEnabled(true);
686
680
 
687
681
  unsubscribe();