@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.
- package/dist/{121.bundle.787f5a848ed632a4d5fc.js → 121.bundle.47f05840a5b3cdf75543.js} +4 -1
- package/dist/{183.bundle.72bf18ad23ee6624986d.js → 183.bundle.a3e238998be71c4b2af8.js} +64 -48
- package/dist/{206.bundle.f957e0d1cdff66dbac69.js → 206.bundle.fcaa081a0d1f68095c31.js} +45 -20
- package/dist/{217.bundle.be1cc412f8e26be87d21.js → 217.bundle.d44bbaa50b6fa563fe15.js} +116 -69
- package/dist/{295.bundle.6f734abf8fa85b1a310d.js → 295.bundle.5ace95771ced62bdcab8.js} +4 -1
- package/dist/{325.bundle.84909a08305556e9f924.js → 325.bundle.fd8e0c18db4708d03a91.js} +4 -8
- package/dist/{335.bundle.c39d4aefe33aecab958f.js → 335.bundle.8400aa5a88697a6b9d53.js} +2 -2
- package/dist/{41.bundle.7c943bb857ed37831905.js → 41.bundle.0905b258a90a7c6437bb.js} +174 -104
- package/dist/{422.bundle.bd6529c536f59807fbee.js → 422.bundle.c6fd037b075dd54f1ba7.js} +9 -25
- package/dist/{433.bundle.4c77c1fe8fc90ac14218.js → 433.bundle.e0018820758f5a86fa7f.js} +61 -7
- package/dist/{448.bundle.deedeff5744e77510734.js → 448.bundle.5e6da31477887bf53016.js} +6 -12
- package/dist/{487.bundle.7890ca42826941ebcd60.js → 487.bundle.89d973049defb3ba6cb7.js} +3 -2
- package/dist/{530.bundle.7c94543955552475c56a.js → 530.bundle.207b38c15c4c01e4db0e.js} +14 -2
- package/dist/{574.bundle.be075ac52fb52b442a8b.js → 574.bundle.d648fea691d6709bf2b4.js} +14 -3
- package/dist/{633.bundle.c1658e76f104cbd14cab.js → 633.bundle.acab89baaa06a299d679.js} +48 -33
- package/dist/{540.bundle.079d43a6717e95c24392.js → 669.bundle.b17e8a621e38d92c653f.js} +95 -87
- package/dist/{699.bundle.4f01772e7ce6637de339.js → 699.bundle.9367d7ef9f7615b2e733.js} +41 -37
- package/dist/{724.bundle.e5794460c391ee9cba2c.js → 724.bundle.55f9f49816de931af91a.js} +1 -1
- package/dist/{862.bundle.c0ee6e1d4d97e1353213.js → 862.bundle.d32ab08e64806b2e964d.js} +4 -1
- package/dist/{94.bundle.c452d9b0645277c2cf4e.js → 94.bundle.f5f2479c214180d05d42.js} +7 -13
- package/dist/app.bundle.css +1 -1
- package/dist/{app.bundle.6c090a2d6d3ccc97a81d.js → app.bundle.ed937512f7d19d61c411.js} +188 -64
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.63011312c3c79e717ea9.js → polySeg.bundle.f1a6ece1396dc1385155.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{164.bundle.d4598e491783753a8b6b.js → 164.bundle.fadc7c5d634402c73b5f.js} +0 -0
- /package/dist/{188.bundle.b80554ec7df7dcd435a5.js → 188.bundle.51dc4b37920f45594393.js} +0 -0
- /package/dist/{594.bundle.0b1165661dd638820082.js → 594.bundle.84076375b127b9c7f673.js} +0 -0
- /package/dist/{889.bundle.7858e4b7ca1a2b12b64f.js → 889.bundle.8ef8b723d0163d5d135c.js} +0 -0
- /package/dist/{905.bundle.170908fe660fc6b40649.js → 905.bundle.8a96e1a75b7cfe5ec093.js} +0 -0
- /package/dist/{907.bundle.dee4e30420caf07caea6.js → 907.bundle.5c88ed911bed18582da4.js} +0 -0
- /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([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[669],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
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 */
|
|
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?.
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
372
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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();
|