@ohif/app 3.10.0-beta.13 → 3.10.0-beta.14
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/{1185.bundle.2e92e5f4460a9ba10ac6.js → 1185.bundle.dfea82aca1b41717a236.js} +2 -2
- package/dist/{4636.bundle.3b2a32d7e1499673983d.js → 4636.bundle.67e7c3842e2fe9d8d475.js} +22 -21
- package/dist/{5252.bundle.a8eb753e715482b7d8c5.js → 5252.bundle.acd3d334f510ca6bf8b1.js} +73 -8
- package/dist/{9909.bundle.a87c9d96eefff9b0961b.js → 5437.bundle.58dc7aca17d2b9a93cdd.js} +320 -72
- package/dist/{5630.bundle.01be2c806e4047751682.js → 5630.bundle.f8e6cddcccddcf90e913.js} +2 -2
- package/dist/{5717.bundle.bf2665759535e60ad014.js → 5717.bundle.6dc063e00c1681da2323.js} +308 -343
- package/dist/{573.bundle.9929319cc662537c28b2.js → 573.bundle.ab494962db11282c3582.js} +6 -2
- package/dist/{8104.bundle.0e10e63ad1240be255cf.js → 8104.bundle.550697397baf3850e3b8.js} +236 -335
- package/dist/{8558.bundle.48fd7faa64b5c4e25cf0.js → 8558.bundle.d2ba0f8f0e81c4463e3f.js} +1 -0
- package/dist/{app.bundle.fc6b15c24f9cd6d8176a.js → app.bundle.fd0317d8b597fa315b60.js} +129 -51
- package/dist/{histogram-worker.bundle.b11d1dcfe28cef619c79.js → histogram-worker.bundle.0cad670e32968856226a.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.9ad8fc1a503a6a55e34f.js → polySeg.bundle.c25e1b1462313a54b518.js} +1 -1
- package/dist/{suv-peak-worker.bundle.29cb580249bfaaff9ac1.js → suv-peak-worker.bundle.01ff0314fd03a9d16246.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{1266.bundle.2662dd7ecc7cdc5c9ec7.js → 1266.bundle.585e4a14ddd57535d8a8.js} +0 -0
- /package/dist/{1374.bundle.e62f7a2b3b0d9f238ad3.js → 1374.bundle.2a73bcdf42649cd677bd.js} +0 -0
- /package/dist/{213.bundle.ce3936a2ba72cc0f4f84.js → 213.bundle.7d895db235096c460ca5.js} +0 -0
- /package/dist/{2424.bundle.d267285b9ec2dcceedb8.js → 2424.bundle.c49cfb4d85808d79f635.js} +0 -0
- /package/dist/{2825.bundle.f9f50b8ea4a6ab87ad54.js → 2825.bundle.2de099edfd591b3013b0.js} +0 -0
- /package/dist/{3198.bundle.76e9454c9bcc112ceb9a.js → 3198.bundle.21908c96cc2e2468ea09.js} +0 -0
- /package/dist/{3200.bundle.4567e1ad29d1803e1b65.js → 3200.bundle.dacbed471b125cfe04e5.js} +0 -0
- /package/dist/{3970.bundle.05e7ea412a431ca2cfdb.js → 3970.bundle.89564e2e9cceec2b5a69.js} +0 -0
- /package/dist/{4834.bundle.7ad185b931edf0ed29df.js → 4834.bundle.3e631b1746f4d4659d80.js} +0 -0
- /package/dist/{5139.bundle.fd98ea42bca0b622b69a.js → 5139.bundle.69fba87e9d3b0716ebf0.js} +0 -0
- /package/dist/{5247.bundle.f2639b7d0f21d21ab9fe.js → 5247.bundle.eb47780faaec44094c23.js} +0 -0
- /package/dist/{5687.bundle.80baffdf7e2dee76c212.js → 5687.bundle.44b5c5ae6df08900adf9.js} +0 -0
- /package/dist/{717.bundle.1a7043c3db6b3640c0e9.js → 717.bundle.278798308e9d2a5d097b.js} +0 -0
- /package/dist/{7197.bundle.54461a631c49c719613a.js → 7197.bundle.9c812da287d70e87b1a4.js} +0 -0
- /package/dist/{7955.bundle.7e62bd7f53e04856f455.js → 7955.bundle.426beef17fb63cfd81b3.js} +0 -0
- /package/dist/{8008.bundle.044a35074b88f072db6b.js → 8008.bundle.be9044875ce6d1c7bf03.js} +0 -0
- /package/dist/{8228.bundle.564c39d1256540b7228e.js → 8228.bundle.e6ddb2108c0b26be6188.js} +0 -0
- /package/dist/{8259.bundle.a9c46ba95884c56f3e72.js → 8259.bundle.d2e2bd5b7a31280827a9.js} +0 -0
- /package/dist/{9551.bundle.1b3e84b22ec04a16fb11.js → 9551.bundle.b77ff67cf3ed3ba8e896.js} +0 -0
- /package/dist/{9611.bundle.a958c468d6ca6e91c091.js → 9611.bundle.f94bb52dc93909acada7.js} +0 -0
- /package/dist/{9862.bundle.05613a9c8b36ffeb9962.js → 9862.bundle.ad6694938d4524cb19d1.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
1
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[5437],{
|
|
2
2
|
|
|
3
3
|
/***/ 97181:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1959,14 +1959,17 @@ function wheelListener(evt) {
|
|
|
1959
1959
|
|
|
1960
1960
|
/***/ }),
|
|
1961
1961
|
|
|
1962
|
-
/***/
|
|
1962
|
+
/***/ 97:
|
|
1963
1963
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1964
1964
|
|
|
1965
1965
|
"use strict";
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
/*
|
|
1966
|
+
|
|
1967
|
+
// EXPORTS
|
|
1968
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
1969
|
+
c: () => (/* binding */ resetAnnotationManager)
|
|
1970
|
+
});
|
|
1971
|
+
|
|
1972
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/utilities/defineProperties.js
|
|
1970
1973
|
const checkAndDefineTextBoxProperty = (annotation) => {
|
|
1971
1974
|
if (!annotation.data) {
|
|
1972
1975
|
annotation.data = {};
|
|
@@ -1990,6 +1993,37 @@ const checkAndDefineCachedStatsProperty = (annotation) => {
|
|
|
1990
1993
|
};
|
|
1991
1994
|
|
|
1992
1995
|
|
|
1996
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationLocking.js
|
|
1997
|
+
var annotationLocking = __webpack_require__(2076);
|
|
1998
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationVisibility.js
|
|
1999
|
+
var annotationVisibility = __webpack_require__(29601);
|
|
2000
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js
|
|
2001
|
+
var FrameOfReferenceSpecificAnnotationManager = __webpack_require__(67013);
|
|
2002
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
2003
|
+
var annotationState = __webpack_require__(82056);
|
|
2004
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/resetAnnotationManager.js
|
|
2005
|
+
|
|
2006
|
+
|
|
2007
|
+
|
|
2008
|
+
|
|
2009
|
+
|
|
2010
|
+
const defaultManager = FrameOfReferenceSpecificAnnotationManager/* defaultFrameOfReferenceSpecificAnnotationManager */.H;
|
|
2011
|
+
const preprocessingFn = (annotation) => {
|
|
2012
|
+
annotation = checkAndDefineTextBoxProperty(annotation);
|
|
2013
|
+
annotation = checkAndDefineCachedStatsProperty(annotation);
|
|
2014
|
+
const uid = annotation.annotationUID;
|
|
2015
|
+
const isLocked = (0,annotationLocking.checkAndSetAnnotationLocked)(uid);
|
|
2016
|
+
annotation.isLocked = isLocked;
|
|
2017
|
+
const isVisible = (0,annotationVisibility.checkAndSetAnnotationVisibility)(uid);
|
|
2018
|
+
annotation.isVisible = isVisible;
|
|
2019
|
+
return annotation;
|
|
2020
|
+
};
|
|
2021
|
+
defaultManager.setPreprocessingFn(preprocessingFn);
|
|
2022
|
+
(0,annotationState.setAnnotationManager)(defaultManager);
|
|
2023
|
+
function resetAnnotationManager() {
|
|
2024
|
+
(0,annotationState.setAnnotationManager)(defaultManager);
|
|
2025
|
+
}
|
|
2026
|
+
|
|
1993
2027
|
|
|
1994
2028
|
/***/ }),
|
|
1995
2029
|
|
|
@@ -2007,6 +2041,8 @@ const checkAndDefineCachedStatsProperty = (annotation) => {
|
|
|
2007
2041
|
/* harmony import */ var _annotation_annotationLocking__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2076);
|
|
2008
2042
|
/* harmony import */ var _annotation_annotationSelection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17343);
|
|
2009
2043
|
/* harmony import */ var _annotation_annotationState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82056);
|
|
2044
|
+
/* harmony import */ var _annotation_resetAnnotationManager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97);
|
|
2045
|
+
|
|
2010
2046
|
|
|
2011
2047
|
|
|
2012
2048
|
|
|
@@ -2096,7 +2132,7 @@ function triggerSegmentationRepresentationModified(viewportId, segmentationId, t
|
|
|
2096
2132
|
type,
|
|
2097
2133
|
viewportId,
|
|
2098
2134
|
};
|
|
2099
|
-
(0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.triggerEvent)(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget, _enums__WEBPACK_IMPORTED_MODULE_1__.Events.
|
|
2135
|
+
(0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.triggerEvent)(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget, _enums__WEBPACK_IMPORTED_MODULE_1__.Events.SEGMENTATION_REPRESENTATION_MODIFIED, eventDetail);
|
|
2100
2136
|
}
|
|
2101
2137
|
|
|
2102
2138
|
|
|
@@ -2157,23 +2193,6 @@ function getNextColorLUTIndex() {
|
|
|
2157
2193
|
}
|
|
2158
2194
|
|
|
2159
2195
|
|
|
2160
|
-
/***/ }),
|
|
2161
|
-
|
|
2162
|
-
/***/ 33283:
|
|
2163
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2164
|
-
|
|
2165
|
-
"use strict";
|
|
2166
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2167
|
-
/* harmony export */ T: () => (/* binding */ getSegmentation)
|
|
2168
|
-
/* harmony export */ });
|
|
2169
|
-
/* harmony import */ var _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59475);
|
|
2170
|
-
|
|
2171
|
-
function getSegmentation(segmentationId) {
|
|
2172
|
-
const segmentationStateManager = _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_0__/* .defaultSegmentationStateManager */ ._6;
|
|
2173
|
-
return segmentationStateManager.getSegmentation(segmentationId);
|
|
2174
|
-
}
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
2196
|
/***/ }),
|
|
2178
2197
|
|
|
2179
2198
|
/***/ 21:
|
|
@@ -5684,8 +5703,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
5684
5703
|
|
|
5685
5704
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js
|
|
5686
5705
|
var esm = __webpack_require__(81985);
|
|
5687
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getSegmentation.js
|
|
5688
|
-
var getSegmentation = __webpack_require__(33283);
|
|
5689
5706
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
|
|
5690
5707
|
var enums = __webpack_require__(99737);
|
|
5691
5708
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
@@ -5754,48 +5771,18 @@ class ContourBaseTool extends AnnotationTool/* default */.A {
|
|
|
5754
5771
|
return renderStatus;
|
|
5755
5772
|
}
|
|
5756
5773
|
createAnnotation(evt) {
|
|
5757
|
-
const
|
|
5758
|
-
|
|
5759
|
-
|
|
5760
|
-
|
|
5761
|
-
|
|
5762
|
-
const camera = viewport.getCamera();
|
|
5763
|
-
const { viewPlaneNormal, viewUp, position: cameraPosition } = camera;
|
|
5764
|
-
const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
|
|
5765
|
-
const viewReference = viewport.getViewReference({ points: [worldPos] });
|
|
5766
|
-
return {
|
|
5767
|
-
highlighted: true,
|
|
5768
|
-
invalidated: true,
|
|
5769
|
-
metadata: {
|
|
5770
|
-
toolName: this.getToolName(),
|
|
5771
|
-
...viewReference,
|
|
5772
|
-
referencedImageId,
|
|
5773
|
-
viewUp,
|
|
5774
|
-
cameraPosition,
|
|
5775
|
-
},
|
|
5776
|
-
data: {
|
|
5777
|
-
handles: {
|
|
5778
|
-
points: [],
|
|
5779
|
-
activeHandleIndex: null,
|
|
5780
|
-
textBox: {
|
|
5781
|
-
hasMoved: false,
|
|
5782
|
-
worldPosition: [0, 0, 0],
|
|
5783
|
-
worldBoundingBox: {
|
|
5784
|
-
topLeft: [0, 0, 0],
|
|
5785
|
-
topRight: [0, 0, 0],
|
|
5786
|
-
bottomLeft: [0, 0, 0],
|
|
5787
|
-
bottomRight: [0, 0, 0],
|
|
5788
|
-
},
|
|
5789
|
-
},
|
|
5790
|
-
},
|
|
5791
|
-
contour: {
|
|
5792
|
-
polyline: [],
|
|
5793
|
-
closed: false,
|
|
5794
|
-
},
|
|
5774
|
+
const annotation = super.createAnnotation(evt);
|
|
5775
|
+
Object.assign(annotation.data, {
|
|
5776
|
+
contour: {
|
|
5777
|
+
polyline: [],
|
|
5778
|
+
closed: false,
|
|
5795
5779
|
},
|
|
5780
|
+
});
|
|
5781
|
+
Object.assign(annotation, {
|
|
5796
5782
|
interpolationUID: '',
|
|
5797
5783
|
autoGenerated: false,
|
|
5798
|
-
};
|
|
5784
|
+
});
|
|
5785
|
+
return annotation;
|
|
5799
5786
|
}
|
|
5800
5787
|
addAnnotation(annotation, element) {
|
|
5801
5788
|
return (0,annotationState.addAnnotation)(annotation, element);
|
|
@@ -5897,7 +5884,6 @@ var internalGetHiddenSegmentIndices = __webpack_require__(47098);
|
|
|
5897
5884
|
|
|
5898
5885
|
|
|
5899
5886
|
|
|
5900
|
-
|
|
5901
5887
|
class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
5902
5888
|
constructor(toolProps, defaultToolProps) {
|
|
5903
5889
|
super(toolProps, defaultToolProps);
|
|
@@ -6322,7 +6308,7 @@ async function addLabelmapToElement(element, labelMapData, segmentationId) {
|
|
|
6322
6308
|
representationUID: `${segmentationId}-${_enums__WEBPACK_IMPORTED_MODULE_4__.SegmentationRepresentations.Labelmap}`,
|
|
6323
6309
|
},
|
|
6324
6310
|
];
|
|
6325
|
-
|
|
6311
|
+
(0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.addImageSlicesToViewports)(renderingEngine, stackInputs, [viewportId]);
|
|
6326
6312
|
}
|
|
6327
6313
|
(0,_stateManagement_segmentation_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_3__.triggerSegmentationDataModified)(segmentationId);
|
|
6328
6314
|
}
|
|
@@ -6578,6 +6564,247 @@ const distancePointToContour = (viewport, annotation, coords) => {
|
|
|
6578
6564
|
};
|
|
6579
6565
|
|
|
6580
6566
|
|
|
6567
|
+
/***/ }),
|
|
6568
|
+
|
|
6569
|
+
/***/ 23631:
|
|
6570
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6571
|
+
|
|
6572
|
+
"use strict";
|
|
6573
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
6574
|
+
/* harmony export */ A: () => (/* binding */ LabelmapBaseTool)
|
|
6575
|
+
/* harmony export */ });
|
|
6576
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
|
|
6577
|
+
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85817);
|
|
6578
|
+
/* harmony import */ var _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18682);
|
|
6579
|
+
/* harmony import */ var _stateManagement_segmentation_getActiveSegmentation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67165);
|
|
6580
|
+
/* harmony import */ var _stateManagement_segmentation_segmentLocking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26795);
|
|
6581
|
+
/* harmony import */ var _stateManagement_segmentation_getSegmentation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33283);
|
|
6582
|
+
/* harmony import */ var _utilities_annotationHydration__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64485);
|
|
6583
|
+
/* harmony import */ var _stateManagement_segmentation_getCurrentLabelmapImageIdForViewport__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(97577);
|
|
6584
|
+
/* harmony import */ var _stateManagement_segmentation_getStackSegmentationImageIdsForViewport__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(71309);
|
|
6585
|
+
/* harmony import */ var _stateManagement_segmentation_config_segmentationColor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(93733);
|
|
6586
|
+
/* harmony import */ var _stateManagement_segmentation_getActiveSegmentIndex__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(60740);
|
|
6587
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(99737);
|
|
6588
|
+
|
|
6589
|
+
|
|
6590
|
+
|
|
6591
|
+
|
|
6592
|
+
|
|
6593
|
+
|
|
6594
|
+
|
|
6595
|
+
|
|
6596
|
+
|
|
6597
|
+
|
|
6598
|
+
|
|
6599
|
+
|
|
6600
|
+
class LabelmapBaseTool extends _base__WEBPACK_IMPORTED_MODULE_1__/* .BaseTool */ .oS {
|
|
6601
|
+
constructor(toolProps, defaultToolProps) {
|
|
6602
|
+
super(toolProps, defaultToolProps);
|
|
6603
|
+
this._previewData = {
|
|
6604
|
+
preview: null,
|
|
6605
|
+
element: null,
|
|
6606
|
+
timerStart: 0,
|
|
6607
|
+
timer: null,
|
|
6608
|
+
startPoint: [NaN, NaN],
|
|
6609
|
+
isDrag: false,
|
|
6610
|
+
};
|
|
6611
|
+
}
|
|
6612
|
+
createMemo(segmentId, segmentationVoxelManager, preview) {
|
|
6613
|
+
console.warn('LabelmapBaseTool.createMemo not implemented yet');
|
|
6614
|
+
}
|
|
6615
|
+
createEditData(element) {
|
|
6616
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
6617
|
+
const { viewport } = enabledElement;
|
|
6618
|
+
const activeSegmentation = (0,_stateManagement_segmentation_getActiveSegmentation__WEBPACK_IMPORTED_MODULE_3__/* .getActiveSegmentation */ .T)(viewport.id);
|
|
6619
|
+
if (!activeSegmentation) {
|
|
6620
|
+
const event = new CustomEvent(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.Enums.Events.ERROR_EVENT, {
|
|
6621
|
+
detail: {
|
|
6622
|
+
type: 'Segmentation',
|
|
6623
|
+
message: 'No active segmentation detected, create a segmentation representation before using the brush tool',
|
|
6624
|
+
},
|
|
6625
|
+
cancelable: true,
|
|
6626
|
+
});
|
|
6627
|
+
_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.dispatchEvent(event);
|
|
6628
|
+
return null;
|
|
6629
|
+
}
|
|
6630
|
+
const { segmentationId } = activeSegmentation;
|
|
6631
|
+
const segmentsLocked = (0,_stateManagement_segmentation_segmentLocking__WEBPACK_IMPORTED_MODULE_4__.getLockedSegmentIndices)(segmentationId);
|
|
6632
|
+
const { representationData } = (0,_stateManagement_segmentation_getSegmentation__WEBPACK_IMPORTED_MODULE_5__/* .getSegmentation */ .T)(segmentationId);
|
|
6633
|
+
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
6634
|
+
const { volumeId } = representationData[_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Labelmap];
|
|
6635
|
+
const actors = viewport.getActors();
|
|
6636
|
+
const isStackViewport = viewport instanceof _utilities_annotationHydration__WEBPACK_IMPORTED_MODULE_6__/* .getClosestImageIdForStackViewport */ .x;
|
|
6637
|
+
if (isStackViewport) {
|
|
6638
|
+
const event = new CustomEvent(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.Enums.Events.ERROR_EVENT, {
|
|
6639
|
+
detail: {
|
|
6640
|
+
type: 'Segmentation',
|
|
6641
|
+
message: 'Cannot perform brush operation on the selected viewport',
|
|
6642
|
+
},
|
|
6643
|
+
cancelable: true,
|
|
6644
|
+
});
|
|
6645
|
+
_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.dispatchEvent(event);
|
|
6646
|
+
return null;
|
|
6647
|
+
}
|
|
6648
|
+
const volumes = actors.map((actorEntry) => _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(actorEntry.referencedId));
|
|
6649
|
+
const segmentationVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
|
|
6650
|
+
const referencedVolumeIdToThreshold = volumes.find((volume) => _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isEqual(volume.dimensions, segmentationVolume.dimensions))?.volumeId || volumes[0]?.volumeId;
|
|
6651
|
+
return {
|
|
6652
|
+
volumeId,
|
|
6653
|
+
referencedVolumeId: this.configuration.thresholdVolumeId ?? referencedVolumeIdToThreshold,
|
|
6654
|
+
segmentsLocked,
|
|
6655
|
+
};
|
|
6656
|
+
}
|
|
6657
|
+
else {
|
|
6658
|
+
const segmentationImageId = (0,_stateManagement_segmentation_getCurrentLabelmapImageIdForViewport__WEBPACK_IMPORTED_MODULE_7__/* .getCurrentLabelmapImageIdForViewport */ .v)(viewport.id, segmentationId);
|
|
6659
|
+
if (!segmentationImageId) {
|
|
6660
|
+
return;
|
|
6661
|
+
}
|
|
6662
|
+
if (this.configuration.activeStrategy.includes('SPHERE')) {
|
|
6663
|
+
const referencedImageIds = viewport.getImageIds();
|
|
6664
|
+
const isValidVolumeForSphere = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isValidVolume(referencedImageIds);
|
|
6665
|
+
if (!isValidVolumeForSphere) {
|
|
6666
|
+
throw new Error('Volume is not reconstructable for sphere manipulation');
|
|
6667
|
+
}
|
|
6668
|
+
const volumeId = `${segmentationId}_${viewport.id}`;
|
|
6669
|
+
const volume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
|
|
6670
|
+
if (volume) {
|
|
6671
|
+
return {
|
|
6672
|
+
imageId: segmentationImageId,
|
|
6673
|
+
segmentsLocked,
|
|
6674
|
+
override: {
|
|
6675
|
+
voxelManager: volume.voxelManager,
|
|
6676
|
+
imageData: volume.imageData,
|
|
6677
|
+
},
|
|
6678
|
+
};
|
|
6679
|
+
}
|
|
6680
|
+
else {
|
|
6681
|
+
const labelmapImageIds = (0,_stateManagement_segmentation_getStackSegmentationImageIdsForViewport__WEBPACK_IMPORTED_MODULE_8__/* .getStackSegmentationImageIdsForViewport */ .B)(viewport.id, segmentationId);
|
|
6682
|
+
if (!labelmapImageIds || labelmapImageIds.length === 1) {
|
|
6683
|
+
return {
|
|
6684
|
+
imageId: segmentationImageId,
|
|
6685
|
+
segmentsLocked,
|
|
6686
|
+
};
|
|
6687
|
+
}
|
|
6688
|
+
const volume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.volumeLoader.createAndCacheVolumeFromImagesSync(volumeId, labelmapImageIds);
|
|
6689
|
+
return {
|
|
6690
|
+
imageId: segmentationImageId,
|
|
6691
|
+
segmentsLocked,
|
|
6692
|
+
override: {
|
|
6693
|
+
voxelManager: volume.voxelManager,
|
|
6694
|
+
imageData: volume.imageData,
|
|
6695
|
+
},
|
|
6696
|
+
};
|
|
6697
|
+
}
|
|
6698
|
+
}
|
|
6699
|
+
else {
|
|
6700
|
+
return {
|
|
6701
|
+
imageId: segmentationImageId,
|
|
6702
|
+
segmentsLocked,
|
|
6703
|
+
};
|
|
6704
|
+
}
|
|
6705
|
+
}
|
|
6706
|
+
}
|
|
6707
|
+
createHoverData(element, centerCanvas) {
|
|
6708
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
6709
|
+
const { viewport } = enabledElement;
|
|
6710
|
+
const camera = viewport.getCamera();
|
|
6711
|
+
const { viewPlaneNormal, viewUp } = camera;
|
|
6712
|
+
const viewportIdsToRender = [viewport.id];
|
|
6713
|
+
const { segmentIndex, segmentationId, segmentColor } = this.getActiveSegmentationData(viewport) || {};
|
|
6714
|
+
const brushCursor = {
|
|
6715
|
+
metadata: {
|
|
6716
|
+
viewPlaneNormal: [...viewPlaneNormal],
|
|
6717
|
+
viewUp: [...viewUp],
|
|
6718
|
+
FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
|
|
6719
|
+
referencedImageId: '',
|
|
6720
|
+
toolName: this.getToolName(),
|
|
6721
|
+
segmentColor,
|
|
6722
|
+
},
|
|
6723
|
+
data: {},
|
|
6724
|
+
};
|
|
6725
|
+
return {
|
|
6726
|
+
brushCursor,
|
|
6727
|
+
centerCanvas,
|
|
6728
|
+
segmentIndex,
|
|
6729
|
+
viewport,
|
|
6730
|
+
segmentationId,
|
|
6731
|
+
segmentColor,
|
|
6732
|
+
viewportIdsToRender,
|
|
6733
|
+
};
|
|
6734
|
+
}
|
|
6735
|
+
getActiveSegmentationData(viewport) {
|
|
6736
|
+
const viewportId = viewport.id;
|
|
6737
|
+
const activeRepresentation = (0,_stateManagement_segmentation_getActiveSegmentation__WEBPACK_IMPORTED_MODULE_3__/* .getActiveSegmentation */ .T)(viewportId);
|
|
6738
|
+
if (!activeRepresentation) {
|
|
6739
|
+
return;
|
|
6740
|
+
}
|
|
6741
|
+
const { segmentationId } = activeRepresentation;
|
|
6742
|
+
const segmentIndex = (0,_stateManagement_segmentation_getActiveSegmentIndex__WEBPACK_IMPORTED_MODULE_10__/* .getActiveSegmentIndex */ .Q)(segmentationId);
|
|
6743
|
+
if (!segmentIndex) {
|
|
6744
|
+
return;
|
|
6745
|
+
}
|
|
6746
|
+
const segmentColor = (0,_stateManagement_segmentation_config_segmentationColor__WEBPACK_IMPORTED_MODULE_9__.getSegmentIndexColor)(viewportId, segmentationId, segmentIndex);
|
|
6747
|
+
return {
|
|
6748
|
+
segmentIndex,
|
|
6749
|
+
segmentationId,
|
|
6750
|
+
segmentColor,
|
|
6751
|
+
};
|
|
6752
|
+
}
|
|
6753
|
+
getOperationData(element) {
|
|
6754
|
+
const editData = this._editData || this.createEditData(element);
|
|
6755
|
+
const { segmentIndex, segmentationId, brushCursor } = this._hoverData || this.createHoverData(element);
|
|
6756
|
+
const { data, metadata = {} } = brushCursor || {};
|
|
6757
|
+
const { viewPlaneNormal, viewUp } = metadata;
|
|
6758
|
+
const operationData = {
|
|
6759
|
+
...editData,
|
|
6760
|
+
points: data?.handles?.points,
|
|
6761
|
+
segmentIndex,
|
|
6762
|
+
previewColors: this.configuration.preview?.enabled || this._previewData.preview
|
|
6763
|
+
? this.configuration.preview.previewColors
|
|
6764
|
+
: null,
|
|
6765
|
+
viewPlaneNormal,
|
|
6766
|
+
toolGroupId: this.toolGroupId,
|
|
6767
|
+
segmentationId,
|
|
6768
|
+
viewUp,
|
|
6769
|
+
strategySpecificConfiguration: this.configuration.strategySpecificConfiguration,
|
|
6770
|
+
preview: this._previewData?.preview,
|
|
6771
|
+
};
|
|
6772
|
+
return operationData;
|
|
6773
|
+
}
|
|
6774
|
+
addPreview(element = this._previewData.element, options) {
|
|
6775
|
+
const acceptReject = options?.acceptReject;
|
|
6776
|
+
if (acceptReject === true) {
|
|
6777
|
+
this.acceptPreview(element);
|
|
6778
|
+
}
|
|
6779
|
+
else if (acceptReject === false) {
|
|
6780
|
+
this.rejectPreview(element);
|
|
6781
|
+
}
|
|
6782
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
6783
|
+
this._previewData.preview = this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_11__.StrategyCallbacks.AddPreview);
|
|
6784
|
+
this._previewData.isDrag = true;
|
|
6785
|
+
return this._previewData.preview;
|
|
6786
|
+
}
|
|
6787
|
+
rejectPreview(element = this._previewData.element) {
|
|
6788
|
+
if (!element || !this._previewData.preview) {
|
|
6789
|
+
return;
|
|
6790
|
+
}
|
|
6791
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
6792
|
+
this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_11__.StrategyCallbacks.RejectPreview);
|
|
6793
|
+
this._previewData.preview = null;
|
|
6794
|
+
this._previewData.isDrag = false;
|
|
6795
|
+
}
|
|
6796
|
+
acceptPreview(element = this._previewData.element) {
|
|
6797
|
+
if (!element) {
|
|
6798
|
+
return;
|
|
6799
|
+
}
|
|
6800
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
6801
|
+
this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_11__.StrategyCallbacks.AcceptPreview);
|
|
6802
|
+
this._previewData.isDrag = false;
|
|
6803
|
+
this._previewData.preview = null;
|
|
6804
|
+
}
|
|
6805
|
+
}
|
|
6806
|
+
|
|
6807
|
+
|
|
6581
6808
|
/***/ }),
|
|
6582
6809
|
|
|
6583
6810
|
/***/ 55887:
|
|
@@ -6611,6 +6838,7 @@ class BrushStrategy {
|
|
|
6611
6838
|
[_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.INTERNAL_setValue]: addSingletonMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.INTERNAL_setValue),
|
|
6612
6839
|
[_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.Preview]: addSingletonMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.Preview, false),
|
|
6613
6840
|
[_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.ComputeInnerCircleRadius]: addListMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.ComputeInnerCircleRadius),
|
|
6841
|
+
[_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.AddPreview]: addListMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.AddPreview),
|
|
6614
6842
|
[_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.GetStatistics]: addSingletonMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.GetStatistics),
|
|
6615
6843
|
compositions: null,
|
|
6616
6844
|
}; }
|
|
@@ -6652,6 +6880,13 @@ class BrushStrategy {
|
|
|
6652
6880
|
}
|
|
6653
6881
|
this._onInteractionStart.forEach((func) => func.call(this, initializedData));
|
|
6654
6882
|
};
|
|
6883
|
+
this.addPreview = (enabledElement, operationData) => {
|
|
6884
|
+
const initializedData = this.initialize(enabledElement, operationData, _enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.AddPreview);
|
|
6885
|
+
if (!initializedData) {
|
|
6886
|
+
return;
|
|
6887
|
+
}
|
|
6888
|
+
return initializedData.preview || initializedData;
|
|
6889
|
+
};
|
|
6655
6890
|
this.configurationName = name;
|
|
6656
6891
|
this.compositions = initializers;
|
|
6657
6892
|
initializers.forEach((initializer) => {
|
|
@@ -6764,13 +6999,25 @@ var StrategyCallbacks = __webpack_require__(84093);
|
|
|
6764
6999
|
}
|
|
6765
7000
|
},
|
|
6766
7001
|
[StrategyCallbacks/* default */.A.OnInteractionStart]: (operationData) => {
|
|
6767
|
-
const { segmentIndex, previewSegmentIndex, segmentationVoxelManager, centerIJK, strategySpecificConfiguration,
|
|
7002
|
+
const { segmentIndex, previewSegmentIndex, segmentationVoxelManager, centerIJK, strategySpecificConfiguration, viewPlaneNormal, segmentationImageData, preview, } = operationData;
|
|
6768
7003
|
if (!strategySpecificConfiguration?.useCenterSegmentIndex) {
|
|
6769
7004
|
return;
|
|
6770
7005
|
}
|
|
6771
7006
|
delete strategySpecificConfiguration.centerSegmentIndex;
|
|
6772
7007
|
let hasSegmentIndex = false;
|
|
6773
7008
|
let hasPreviewIndex = false;
|
|
7009
|
+
const nestedBounds = [
|
|
7010
|
+
...segmentationVoxelManager.getBoundsIJK(),
|
|
7011
|
+
];
|
|
7012
|
+
if (Math.abs(viewPlaneNormal[0]) > 0.8) {
|
|
7013
|
+
nestedBounds[0] = [centerIJK[0], centerIJK[0]];
|
|
7014
|
+
}
|
|
7015
|
+
else if (Math.abs(viewPlaneNormal[1]) > 0.8) {
|
|
7016
|
+
nestedBounds[1] = [centerIJK[1], centerIJK[1]];
|
|
7017
|
+
}
|
|
7018
|
+
else if (Math.abs(viewPlaneNormal[2]) > 0.8) {
|
|
7019
|
+
nestedBounds[2] = [centerIJK[2], centerIJK[2]];
|
|
7020
|
+
}
|
|
6774
7021
|
const callback = ({ value }) => {
|
|
6775
7022
|
hasSegmentIndex ||= value === segmentIndex;
|
|
6776
7023
|
hasPreviewIndex ||= value === previewSegmentIndex;
|
|
@@ -6778,6 +7025,7 @@ var StrategyCallbacks = __webpack_require__(84093);
|
|
|
6778
7025
|
segmentationVoxelManager.forEach(callback, {
|
|
6779
7026
|
imageData: segmentationImageData,
|
|
6780
7027
|
isInObject: operationData.isInObject,
|
|
7028
|
+
boundsIJK: nestedBounds,
|
|
6781
7029
|
});
|
|
6782
7030
|
if (!hasSegmentIndex && !hasPreviewIndex) {
|
|
6783
7031
|
return;
|
|
@@ -7630,7 +7878,7 @@ const sphereComposition = {
|
|
|
7630
7878
|
};
|
|
7631
7879
|
const SPHERE_STRATEGY = new _BrushStrategy__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A('Sphere', _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.regionFill, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.setValue, sphereComposition, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.determineSegmentIndex, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.preview, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.labelmapStatistics);
|
|
7632
7880
|
const fillInsideSphere = SPHERE_STRATEGY.strategyFunction;
|
|
7633
|
-
const SPHERE_THRESHOLD_STRATEGY = new _BrushStrategy__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A('SphereThreshold', ...SPHERE_STRATEGY.compositions, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.dynamicThreshold, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.threshold
|
|
7881
|
+
const SPHERE_THRESHOLD_STRATEGY = new _BrushStrategy__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A('SphereThreshold', ...SPHERE_STRATEGY.compositions, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.dynamicThreshold, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.threshold);
|
|
7634
7882
|
const SPHERE_THRESHOLD_STRATEGY_ISLAND = new _BrushStrategy__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A('SphereThreshold', ...SPHERE_STRATEGY.compositions, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.dynamicThreshold, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.threshold, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.islandRemoval);
|
|
7635
7883
|
const thresholdInsideSphere = SPHERE_THRESHOLD_STRATEGY.strategyFunction;
|
|
7636
7884
|
const thresholdInsideSphereIsland = SPHERE_THRESHOLD_STRATEGY_ISLAND.strategyFunction;
|
|
@@ -7650,7 +7898,7 @@ function fillOutsideSphere() {
|
|
|
7650
7898
|
/* harmony export */ S: () => (/* binding */ getStrategyData)
|
|
7651
7899
|
/* harmony export */ });
|
|
7652
7900
|
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
|
|
7653
|
-
/* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
7901
|
+
/* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83243);
|
|
7654
7902
|
/* harmony import */ var _stateManagement_segmentation_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27108);
|
|
7655
7903
|
|
|
7656
7904
|
|
|
@@ -15280,8 +15528,8 @@ var invalidateBrushCursor = __webpack_require__(35706);
|
|
|
15280
15528
|
var getUniqueSegmentIndices = __webpack_require__(25758);
|
|
15281
15529
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
|
|
15282
15530
|
var enums = __webpack_require__(99737);
|
|
15283
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js +
|
|
15284
|
-
var segmentationState = __webpack_require__(
|
|
15531
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 1 modules
|
|
15532
|
+
var segmentationState = __webpack_require__(83243);
|
|
15285
15533
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/index.js
|
|
15286
15534
|
var stateManagement = __webpack_require__(6802);
|
|
15287
15535
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/polyline/index.js
|
|
@@ -3078,8 +3078,8 @@ function ViewerHeader({
|
|
|
3078
3078
|
hotkeyDefinitions,
|
|
3079
3079
|
hotkeyDefaults
|
|
3080
3080
|
} = hotkeysManager;
|
|
3081
|
-
const versionNumber = "3.10.0-beta.
|
|
3082
|
-
const commitHash = "
|
|
3081
|
+
const versionNumber = "3.10.0-beta.14";
|
|
3082
|
+
const commitHash = "bca20223513c15720b4538533c0f6d38b839e045";
|
|
3083
3083
|
const menuOptions = [{
|
|
3084
3084
|
title: t('Header:About'),
|
|
3085
3085
|
icon: 'info',
|