@ohif/app 3.8.0-beta.60 → 3.8.0-beta.62
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/{457.bundle.64785b282dc8c9b64c92.js → 191.bundle.4850ab82949bb6f0eb73.js} +542 -403
- package/dist/{250.bundle.13a1f5d003a00c2b8694.js → 250.bundle.a064577944a0691bc77d.js} +11 -4
- package/dist/{270.bundle.4e3cd0e72bbff21f9596.js → 270.bundle.36c4e95efb89ad8bd8ae.js} +1 -1
- package/dist/{290.bundle.fdf51412462b919e2772.js → 290.bundle.8b4d7dfbc7cfe418a0f1.js} +2 -2
- package/dist/{317.bundle.9d9acdf28d8dfd3ab39e.js → 317.bundle.7ef949a52571bc04e7e1.js} +9 -5
- package/dist/{339.bundle.d514a9189b0bbdedac75.js → 339.bundle.2271a993c53d0728c816.js} +4 -4
- package/dist/342.bundle.a039c24e9f661f3b884d.js +6020 -0
- package/dist/{50.bundle.5f1ddd2697906f8bde6b.js → 50.bundle.a18826e121bdd0c2a707.js} +4 -4
- package/dist/{307.bundle.6e884b1c8766c69560bd.js → 504.bundle.aa165082e2acc5ccf080.js} +167 -119
- package/dist/{544.bundle.3f48123a58d3bdc052f5.js → 544.bundle.3cf20da53f349abd8d67.js} +2 -2
- package/dist/{559.bundle.7426bb86db4352f1c401.js → 559.bundle.42a8edafa1c7df761194.js} +9 -9
- package/dist/{594.bundle.9eb2863c4d3fbe4120c5.js → 594.bundle.6667c5cc14b924d7bee6.js} +9 -2
- package/dist/{68.bundle.7ca79597088a0784c4ee.js → 68.bundle.0420d25b4736f20b15b2.js} +11 -4
- package/dist/{704.bundle.9ecbe7b05ea278ef6ba8.js → 704.bundle.242ba4e0b0be7d1fec94.js} +4 -4
- package/dist/{724.bundle.46d9ce1eb6867cdd81c0.js → 724.bundle.941cd2a3b43a84d5893f.js} +9 -2
- package/dist/{862.bundle.d20d6b2d29fd89bf2f83.js → 862.bundle.e3fe2aae7903cc2ae8df.js} +2 -2
- package/dist/{889.bundle.d77bbd1805d4f0bd0565.js → 889.bundle.6850a0b8c412e3befab5.js} +4 -4
- package/dist/{905.bundle.53a0daccf13d3e134ab9.js → 905.bundle.eb7bdaec4276399e5bef.js} +9 -4
- package/dist/{963.bundle.8110049ad01d956455a2.js → 963.bundle.3daa5c08231526d905fb.js} +5 -5
- package/dist/{214.bundle.7f5beb123035a163bf85.js → 987.bundle.e7c041a6dfb4ddb41813.js} +584 -413
- package/dist/app-config.js +1 -0
- package/dist/{app.bundle.f783ca295d5aa9042c31.js → app.bundle.a78a51e39321426c5460.js} +211 -145
- package/dist/app.bundle.css +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.cffa671e87c4c9110149.js → polySeg.bundle.99be036bab9b7f011b0c.js} +4 -4
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- package/dist/342.bundle.8f20bc9a1fa5fed22d2d.js +0 -51866
- /package/dist/{155.bundle.a089b4e1dd8a13064c21.js → 155.bundle.19e63774cdf16306b5b6.js} +0 -0
- /package/dist/{164.bundle.6f0b21868890158eda40.js → 164.bundle.0b17fced9916487eb49f.js} +0 -0
- /package/dist/{188.bundle.903a17abf035c26e672f.js → 188.bundle.7e085b90e138357e6789.js} +0 -0
- /package/dist/{907.bundle.b1f7dffcc6187de1b7ad.js → 907.bundle.fc8115500a085ab2bbec.js} +0 -0
- /package/dist/{961.bundle.54abd182a494b2e1d8ec.js → 961.bundle.f5d9e73fa771ce7e73f3.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
1
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[987,191],{
|
|
2
2
|
|
|
3
|
-
/***/
|
|
3
|
+
/***/ 50719:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
@@ -24,6 +24,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
24
24
|
getConfiguration: () => (/* reexport */ getConfiguration),
|
|
25
25
|
getEnabledElement: () => (/* reexport */ getEnabledElement),
|
|
26
26
|
getEnabledElementByIds: () => (/* reexport */ getEnabledElementByIds),
|
|
27
|
+
getEnabledElementByViewportId: () => (/* reexport */ getEnabledElementByViewportId),
|
|
27
28
|
getEnabledElements: () => (/* reexport */ getEnabledElements),
|
|
28
29
|
getRenderingEngine: () => (/* reexport */ getRenderingEngine),
|
|
29
30
|
getRenderingEngines: () => (/* reexport */ getRenderingEngine_getRenderingEngines),
|
|
@@ -223,6 +224,7 @@ __webpack_require__.d(utilities_namespaceObject, {
|
|
|
223
224
|
getViewportsWithVolumeId: () => (utilities_getViewportsWithVolumeId),
|
|
224
225
|
getVoiFromSigmoidRGBTransferFunction: () => (getVoiFromSigmoidRGBTransferFunction),
|
|
225
226
|
getVolumeActorCorners: () => (getVolumeActorCorners),
|
|
227
|
+
getVolumeId: () => (getVolumeId),
|
|
226
228
|
getVolumeSliceRangeInfo: () => (utilities_getVolumeSliceRangeInfo),
|
|
227
229
|
getVolumeViewportScrollInfo: () => (utilities_getVolumeViewportScrollInfo),
|
|
228
230
|
getVolumeViewportsContainingSameVolumes: () => (utilities_getVolumeViewportsContainingSameVolumes),
|
|
@@ -26058,6 +26060,7 @@ async function createAndCacheDerivedVolume(referencedVolumeId, options) {
|
|
|
26058
26060
|
scalarData: volumeScalarData,
|
|
26059
26061
|
sizeInBytes: numBytes,
|
|
26060
26062
|
imageIds: [],
|
|
26063
|
+
referencedVolumeId,
|
|
26061
26064
|
});
|
|
26062
26065
|
const volumeLoadObject = {
|
|
26063
26066
|
promise: Promise.resolve(derivedVolume),
|
|
@@ -26213,15 +26216,26 @@ function generateVolumeScalarData(targetBuffer, scalarLength) {
|
|
|
26213
26216
|
return { volumeScalarData, numBytes };
|
|
26214
26217
|
}
|
|
26215
26218
|
|
|
26219
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getVolumeId.js
|
|
26220
|
+
const getVolumeId = (targetId) => {
|
|
26221
|
+
const prefix = 'volumeId:';
|
|
26222
|
+
const str = targetId.includes(prefix)
|
|
26223
|
+
? targetId.substring(prefix.length)
|
|
26224
|
+
: targetId;
|
|
26225
|
+
const index = str.indexOf('?');
|
|
26226
|
+
return index === -1 ? str : str.substring(0, index);
|
|
26227
|
+
};
|
|
26228
|
+
|
|
26216
26229
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js
|
|
26217
26230
|
|
|
26218
26231
|
|
|
26219
26232
|
|
|
26220
26233
|
|
|
26234
|
+
|
|
26221
26235
|
const EPSILON_PART = 1 + epsilon;
|
|
26222
26236
|
const startsWith = (str, starts) => starts === str.substring(0, Math.min(str.length, starts.length));
|
|
26223
26237
|
const isPrimaryVolume = (volume) => !!getVolumeLoaderSchemes().find((scheme) => startsWith(volume.volumeId, scheme));
|
|
26224
|
-
function getTargetVolumeAndSpacingInNormalDir(viewport, camera,
|
|
26238
|
+
function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetId, useSlabThickness = false) {
|
|
26225
26239
|
const { viewPlaneNormal } = camera;
|
|
26226
26240
|
const volumeActors = viewport.getActors();
|
|
26227
26241
|
if (!volumeActors || !volumeActors.length) {
|
|
@@ -26237,8 +26251,9 @@ function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId,
|
|
|
26237
26251
|
return esm_cache_cache.getVolume(actorUID);
|
|
26238
26252
|
})
|
|
26239
26253
|
.filter((iv) => !!iv);
|
|
26240
|
-
if (
|
|
26241
|
-
const
|
|
26254
|
+
if (targetId) {
|
|
26255
|
+
const targetVolumeId = getVolumeId(targetId);
|
|
26256
|
+
const imageVolumeIndex = imageVolumes.findIndex((iv) => targetVolumeId.includes(iv.volumeId));
|
|
26242
26257
|
const imageVolume = imageVolumes[imageVolumeIndex];
|
|
26243
26258
|
const { uid: actorUID } = volumeActors[imageVolumeIndex];
|
|
26244
26259
|
const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness);
|
|
@@ -29367,6 +29382,16 @@ function getEnabledElementByIds(viewportId, renderingEngineId) {
|
|
|
29367
29382
|
FrameOfReferenceUID,
|
|
29368
29383
|
};
|
|
29369
29384
|
}
|
|
29385
|
+
function getEnabledElementByViewportId(viewportId) {
|
|
29386
|
+
const renderingEngines = getRenderingEngine_getRenderingEngines();
|
|
29387
|
+
for (let i = 0; i < renderingEngines.length; i++) {
|
|
29388
|
+
const renderingEngine = renderingEngines[i];
|
|
29389
|
+
const viewport = renderingEngine.getViewport(viewportId);
|
|
29390
|
+
if (viewport) {
|
|
29391
|
+
return getEnabledElementByIds(viewportId, renderingEngine.id);
|
|
29392
|
+
}
|
|
29393
|
+
}
|
|
29394
|
+
}
|
|
29370
29395
|
function getEnabledElements() {
|
|
29371
29396
|
const enabledElements = [];
|
|
29372
29397
|
const renderingEngines = getRenderingEngine_getRenderingEngines();
|
|
@@ -45861,7 +45886,8 @@ class Viewport {
|
|
|
45861
45886
|
}
|
|
45862
45887
|
const { viewPlaneNormal } = viewRef;
|
|
45863
45888
|
const camera = this.getCamera();
|
|
45864
|
-
if (
|
|
45889
|
+
if (viewPlaneNormal &&
|
|
45890
|
+
!isEqual(viewPlaneNormal, camera.viewPlaneNormal) &&
|
|
45865
45891
|
!isEqual(esm/* vec3.negate */.eR.negate(camera.viewPlaneNormal, camera.viewPlaneNormal), viewPlaneNormal)) {
|
|
45866
45892
|
return options?.asVolume === true;
|
|
45867
45893
|
}
|
|
@@ -46764,7 +46790,8 @@ class BaseVolumeViewport extends RenderingEngine_Viewport {
|
|
|
46764
46790
|
}
|
|
46765
46791
|
sliceIndex ??= this.getCurrentImageIdIndex();
|
|
46766
46792
|
const { viewPlaneNormal, focalPoint } = this.getCamera();
|
|
46767
|
-
|
|
46793
|
+
const querySeparator = volumeId.indexOf('?') > -1 ? '&' : '?';
|
|
46794
|
+
return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}&focalPoint=${focalPoint.join(',')}`;
|
|
46768
46795
|
}
|
|
46769
46796
|
}
|
|
46770
46797
|
/* harmony default export */ const RenderingEngine_BaseVolumeViewport = (BaseVolumeViewport);
|
|
@@ -47588,6 +47615,7 @@ function planeDistanceToPoint(plane, point, signed = false) {
|
|
|
47588
47615
|
|
|
47589
47616
|
|
|
47590
47617
|
|
|
47618
|
+
|
|
47591
47619
|
|
|
47592
47620
|
|
|
47593
47621
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/VolumeViewport.js
|
|
@@ -47615,7 +47643,11 @@ class VolumeViewport extends RenderingEngine_BaseVolumeViewport {
|
|
|
47615
47643
|
};
|
|
47616
47644
|
this.getCurrentImageIdIndex = (volumeId) => {
|
|
47617
47645
|
const { viewPlaneNormal, focalPoint } = this.getCamera();
|
|
47618
|
-
const
|
|
47646
|
+
const imageData = this.getImageData(volumeId);
|
|
47647
|
+
if (!imageData) {
|
|
47648
|
+
return;
|
|
47649
|
+
}
|
|
47650
|
+
const { origin, direction, spacing } = imageData;
|
|
47619
47651
|
const spacingInNormal = getSpacingInNormalDirection({ direction, spacing }, viewPlaneNormal);
|
|
47620
47652
|
const sub = esm/* vec3.create */.eR.create();
|
|
47621
47653
|
esm/* vec3.sub */.eR.sub(sub, focalPoint, origin);
|
|
@@ -61050,8 +61082,8 @@ function getDefinedCursors(context, symbol) {
|
|
|
61050
61082
|
const standardCursorNames = STANDARD_CURSORS.values();
|
|
61051
61083
|
|
|
61052
61084
|
|
|
61053
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
61054
|
-
var esm = __webpack_require__(
|
|
61085
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
61086
|
+
var esm = __webpack_require__(50719);
|
|
61055
61087
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/cursors/ImageMouseCursor.js
|
|
61056
61088
|
|
|
61057
61089
|
|
|
@@ -61647,7 +61679,7 @@ function setNewAttributesIfValid(attributes, svgNode) {
|
|
|
61647
61679
|
|
|
61648
61680
|
function drawCircle(svgDrawingHelper, annotationUID, circleUID, center, radius, options = {}, dataId = '') {
|
|
61649
61681
|
const { color, fill, width, lineWidth, lineDash, fillOpacity, strokeOpacity, } = Object.assign({
|
|
61650
|
-
color: '
|
|
61682
|
+
color: 'rgb(0, 255, 0)',
|
|
61651
61683
|
fill: 'transparent',
|
|
61652
61684
|
width: '2',
|
|
61653
61685
|
lineDash: undefined,
|
|
@@ -61691,7 +61723,7 @@ function drawCircle(svgDrawingHelper, annotationUID, circleUID, center, radius,
|
|
|
61691
61723
|
|
|
61692
61724
|
function drawEllipseByCoordinates_drawEllipseByCoordinates(svgDrawingHelper, annotationUID, ellipseUID, canvasCoordinates, options = {}, dataId = '') {
|
|
61693
61725
|
const { color, width, lineWidth, lineDash } = Object.assign({
|
|
61694
|
-
color: '
|
|
61726
|
+
color: 'rgb(0, 255, 0)',
|
|
61695
61727
|
width: '2',
|
|
61696
61728
|
lineWidth: undefined,
|
|
61697
61729
|
lineDash: undefined,
|
|
@@ -61750,7 +61782,7 @@ function drawEllipse(svgDrawingHelper, annotationUID, ellipseUID, corner1, corne
|
|
|
61750
61782
|
|
|
61751
61783
|
function drawHandle(svgDrawingHelper, annotationUID, handleGroupUID, handle, options = {}, uniqueIndex) {
|
|
61752
61784
|
const { color, handleRadius, width, lineWidth, fill, type, opacity } = Object.assign({
|
|
61753
|
-
color: '
|
|
61785
|
+
color: 'rgb(0, 255, 0)',
|
|
61754
61786
|
handleRadius: '6',
|
|
61755
61787
|
width: '2',
|
|
61756
61788
|
lineWidth: undefined,
|
|
@@ -61824,7 +61856,7 @@ function drawLine(svgDrawingHelper, annotationUID, lineUID, start, end, options
|
|
|
61824
61856
|
return;
|
|
61825
61857
|
}
|
|
61826
61858
|
const { color, width, lineWidth, lineDash, shadow } = Object.assign({
|
|
61827
|
-
color: '
|
|
61859
|
+
color: 'rgb(0, 255, 0)',
|
|
61828
61860
|
width: '2',
|
|
61829
61861
|
lineWidth: undefined,
|
|
61830
61862
|
lineDash: undefined,
|
|
@@ -61869,7 +61901,7 @@ function drawPolyline(svgDrawingHelper, annotationUID, polylineUID, points, opti
|
|
|
61869
61901
|
if (points.length < 2) {
|
|
61870
61902
|
return;
|
|
61871
61903
|
}
|
|
61872
|
-
const { color = '
|
|
61904
|
+
const { color = 'rgb(0, 255, 0)', width = 10, fillColor = 'none', fillOpacity = 0, lineWidth, lineDash, closePath = false, } = options;
|
|
61873
61905
|
const strokeWidth = lineWidth || width;
|
|
61874
61906
|
const svgns = 'http://www.w3.org/2000/svg';
|
|
61875
61907
|
const svgNodeHash = drawingSvg_getHash(annotationUID, 'polyline', polylineUID);
|
|
@@ -61908,7 +61940,7 @@ function drawPolyline(svgDrawingHelper, annotationUID, polylineUID, points, opti
|
|
|
61908
61940
|
function drawPath(svgDrawingHelper, annotationUID, pathUID, points, options) {
|
|
61909
61941
|
const hasSubArrays = points.length && points[0].length && Array.isArray(points[0][0]);
|
|
61910
61942
|
const pointsArrays = hasSubArrays ? points : [points];
|
|
61911
|
-
const { color = '
|
|
61943
|
+
const { color = 'rgb(0, 255, 0)', width = 10, fillColor = 'none', fillOpacity = 0, lineWidth, lineDash, closePath = false, } = options;
|
|
61912
61944
|
const strokeWidth = lineWidth || width;
|
|
61913
61945
|
const svgns = 'http://www.w3.org/2000/svg';
|
|
61914
61946
|
const svgNodeHash = drawingSvg_getHash(annotationUID, 'path', pathUID);
|
|
@@ -62126,7 +62158,7 @@ function drawLinkedTextBox(svgDrawingHelper, annotationUID, textBoxUID, textLine
|
|
|
62126
62158
|
|
|
62127
62159
|
function drawRect(svgDrawingHelper, annotationUID, rectangleUID, start, end, options = {}, dataId = '') {
|
|
62128
62160
|
const { color, width: _width, lineWidth, lineDash, } = Object.assign({
|
|
62129
|
-
color: '
|
|
62161
|
+
color: 'rgb(0, 255, 0)',
|
|
62130
62162
|
width: '2',
|
|
62131
62163
|
lineWidth: undefined,
|
|
62132
62164
|
lineDash: undefined,
|
|
@@ -62169,7 +62201,7 @@ function drawArrow(svgDrawingHelper, annotationUID, arrowUID, start, end, option
|
|
|
62169
62201
|
return;
|
|
62170
62202
|
}
|
|
62171
62203
|
const { color, width, lineWidth, lineDash } = Object.assign({
|
|
62172
|
-
color: '
|
|
62204
|
+
color: 'rgb(0, 255, 0)',
|
|
62173
62205
|
width: '2',
|
|
62174
62206
|
lineWidth: undefined,
|
|
62175
62207
|
lineDash: undefined,
|
|
@@ -62214,7 +62246,7 @@ function drawArrow(svgDrawingHelper, annotationUID, arrowUID, start, end, option
|
|
|
62214
62246
|
|
|
62215
62247
|
function drawRedactionRect(svgDrawingHelper, annotationUID, rectangleUID, start, end, options = {}) {
|
|
62216
62248
|
const { color, width: _width, lineWidth, lineDash, } = Object.assign({
|
|
62217
|
-
color: '
|
|
62249
|
+
color: 'rgb(0, 255, 0)',
|
|
62218
62250
|
width: '2',
|
|
62219
62251
|
lineWidth: undefined,
|
|
62220
62252
|
lineDash: undefined,
|
|
@@ -62377,6 +62409,7 @@ var StrategyCallbacks;
|
|
|
62377
62409
|
StrategyCallbacks["CreateIsInThreshold"] = "createIsInThreshold";
|
|
62378
62410
|
StrategyCallbacks["Initialize"] = "initialize";
|
|
62379
62411
|
StrategyCallbacks["INTERNAL_setValue"] = "setValue";
|
|
62412
|
+
StrategyCallbacks["ComputeInnerCircleRadius"] = "computeInnerCircleRadius";
|
|
62380
62413
|
})(StrategyCallbacks || (StrategyCallbacks = {}));
|
|
62381
62414
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StrategyCallbacks);
|
|
62382
62415
|
|
|
@@ -62506,8 +62539,8 @@ var WorkerTypes_ChangeTypes;
|
|
|
62506
62539
|
|
|
62507
62540
|
// UNUSED EXPORTS: annotationInterpolationEventDispatcher, cameraModifiedEventDispatcher, imageRenderedEventDispatcher, imageSpacingCalibratedEventDispatcher, keyboardToolEventDispatcher, mouseToolEventDispatcher, touchToolEventDispatcher
|
|
62508
62541
|
|
|
62509
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
62510
|
-
var esm = __webpack_require__(
|
|
62542
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
62543
|
+
var esm = __webpack_require__(50719);
|
|
62511
62544
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/triggerAnnotationRender.js
|
|
62512
62545
|
var triggerAnnotationRender = __webpack_require__(6805);
|
|
62513
62546
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventDispatchers/imageRenderedEventDispatcher.js
|
|
@@ -62699,7 +62732,263 @@ const annotationInterpolationEventDispatcher_disable = function () {
|
|
|
62699
62732
|
|
|
62700
62733
|
/***/ }),
|
|
62701
62734
|
|
|
62702
|
-
/***/
|
|
62735
|
+
/***/ 90202:
|
|
62736
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
62737
|
+
|
|
62738
|
+
"use strict";
|
|
62739
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
62740
|
+
/* harmony export */ r: () => (/* binding */ createPolylineHole)
|
|
62741
|
+
/* harmony export */ });
|
|
62742
|
+
/* unused harmony export default */
|
|
62743
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
62744
|
+
/* harmony import */ var _utilities_getViewportsForAnnotation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65903);
|
|
62745
|
+
/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21013);
|
|
62746
|
+
/* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90252);
|
|
62747
|
+
/* harmony import */ var _stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(38296);
|
|
62748
|
+
/* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75908);
|
|
62749
|
+
/* harmony import */ var _utilities_contourSegmentation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15916);
|
|
62750
|
+
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(61738);
|
|
62751
|
+
/* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(94152);
|
|
62752
|
+
/* harmony import */ var _types_ContourAnnotation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(96950);
|
|
62753
|
+
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(54177);
|
|
62754
|
+
|
|
62755
|
+
|
|
62756
|
+
|
|
62757
|
+
|
|
62758
|
+
|
|
62759
|
+
|
|
62760
|
+
|
|
62761
|
+
|
|
62762
|
+
|
|
62763
|
+
|
|
62764
|
+
|
|
62765
|
+
const DEFAULT_CONTOUR_SEG_TOOLNAME = 'PlanarFreehandContourSegmentationTool';
|
|
62766
|
+
async function contourSegmentationCompletedListener(evt) {
|
|
62767
|
+
const sourceAnnotation = evt.detail
|
|
62768
|
+
.annotation;
|
|
62769
|
+
if (!contourSegUtils.isContourSegmentationAnnotation(sourceAnnotation)) {
|
|
62770
|
+
return;
|
|
62771
|
+
}
|
|
62772
|
+
const viewport = getViewport(sourceAnnotation);
|
|
62773
|
+
const contourSegmentationAnnotations = getValidContourSegmentationAnnotations(viewport, sourceAnnotation);
|
|
62774
|
+
if (!contourSegmentationAnnotations.length) {
|
|
62775
|
+
return;
|
|
62776
|
+
}
|
|
62777
|
+
const sourcePolyline = convertContourPolylineToCanvasSpace(sourceAnnotation.data.contour.polyline, viewport);
|
|
62778
|
+
const targetAnnotationInfo = findIntersectingContour(viewport, sourcePolyline, contourSegmentationAnnotations);
|
|
62779
|
+
if (!targetAnnotationInfo) {
|
|
62780
|
+
return;
|
|
62781
|
+
}
|
|
62782
|
+
const { targetAnnotation, targetPolyline, isContourHole } = targetAnnotationInfo;
|
|
62783
|
+
if (isContourHole) {
|
|
62784
|
+
const { contourHoleProcessingEnabled = false } = evt.detail;
|
|
62785
|
+
if (!contourHoleProcessingEnabled) {
|
|
62786
|
+
return;
|
|
62787
|
+
}
|
|
62788
|
+
createPolylineHole(viewport, targetAnnotation, sourceAnnotation);
|
|
62789
|
+
}
|
|
62790
|
+
else {
|
|
62791
|
+
combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnnotation, sourcePolyline);
|
|
62792
|
+
}
|
|
62793
|
+
}
|
|
62794
|
+
function isFreehandContourSegToolRegisteredForViewport(viewport, silent = false) {
|
|
62795
|
+
const { toolName } = PlanarFreehandContourSegmentationTool;
|
|
62796
|
+
const toolGroup = ToolGroupManager.getToolGroupForViewport(viewport.id, viewport.renderingEngineId);
|
|
62797
|
+
let errorMessage;
|
|
62798
|
+
if (!toolGroup.hasTool(toolName)) {
|
|
62799
|
+
errorMessage = `Tool ${toolName} not added to ${toolGroup.id} toolGroup`;
|
|
62800
|
+
}
|
|
62801
|
+
else if (!toolGroup.getToolOptions(toolName)) {
|
|
62802
|
+
errorMessage = `Tool ${toolName} must be in active/passive state`;
|
|
62803
|
+
}
|
|
62804
|
+
if (errorMessage && !silent) {
|
|
62805
|
+
console.warn(errorMessage);
|
|
62806
|
+
}
|
|
62807
|
+
return !errorMessage;
|
|
62808
|
+
}
|
|
62809
|
+
function getViewport(annotation) {
|
|
62810
|
+
const viewports = getViewportsForAnnotation(annotation);
|
|
62811
|
+
const viewportWithToolRegistered = viewports.find((viewport) => isFreehandContourSegToolRegisteredForViewport(viewport, true));
|
|
62812
|
+
return viewportWithToolRegistered ?? viewports[0];
|
|
62813
|
+
}
|
|
62814
|
+
function convertContourPolylineToCanvasSpace(polyline, viewport) {
|
|
62815
|
+
const numPoints = polyline.length;
|
|
62816
|
+
const projectedPolyline = new Array(numPoints);
|
|
62817
|
+
for (let i = 0; i < numPoints; i++) {
|
|
62818
|
+
projectedPolyline[i] = viewport.worldToCanvas(polyline[i]);
|
|
62819
|
+
}
|
|
62820
|
+
return projectedPolyline;
|
|
62821
|
+
}
|
|
62822
|
+
function getValidContourSegmentationAnnotations(viewport, sourceAnnotation) {
|
|
62823
|
+
const { annotationUID: sourceAnnotationUID } = sourceAnnotation;
|
|
62824
|
+
const allAnnotations = getAllAnnotations();
|
|
62825
|
+
return allAnnotations.filter((targetAnnotation) => targetAnnotation.annotationUID &&
|
|
62826
|
+
targetAnnotation.annotationUID !== sourceAnnotationUID &&
|
|
62827
|
+
contourSegUtils.isContourSegmentationAnnotation(targetAnnotation) &&
|
|
62828
|
+
contourSegUtils.areSameSegment(targetAnnotation, sourceAnnotation) &&
|
|
62829
|
+
viewport.isReferenceViewable(targetAnnotation.metadata));
|
|
62830
|
+
}
|
|
62831
|
+
function findIntersectingContour(viewport, sourcePolyline, contourSegmentationAnnotations) {
|
|
62832
|
+
const sourceAABB = math.polyline.getAABB(sourcePolyline);
|
|
62833
|
+
for (let i = 0; i < contourSegmentationAnnotations.length; i++) {
|
|
62834
|
+
const targetAnnotation = contourSegmentationAnnotations[i];
|
|
62835
|
+
const targetPolyline = convertContourPolylineToCanvasSpace(targetAnnotation.data.contour.polyline, viewport);
|
|
62836
|
+
const targetAABB = math.polyline.getAABB(targetPolyline);
|
|
62837
|
+
const aabbIntersect = math.aabb.intersectAABB(sourceAABB, targetAABB);
|
|
62838
|
+
const lineSegmentsIntersect = aabbIntersect &&
|
|
62839
|
+
math.polyline.intersectPolyline(sourcePolyline, targetPolyline);
|
|
62840
|
+
const isContourHole = aabbIntersect &&
|
|
62841
|
+
!lineSegmentsIntersect &&
|
|
62842
|
+
math.polyline.containsPoints(targetPolyline, sourcePolyline);
|
|
62843
|
+
if (lineSegmentsIntersect || isContourHole) {
|
|
62844
|
+
return { targetAnnotation, targetPolyline, isContourHole };
|
|
62845
|
+
}
|
|
62846
|
+
}
|
|
62847
|
+
}
|
|
62848
|
+
function createPolylineHole(viewport, targetAnnotation, holeAnnotation) {
|
|
62849
|
+
const { windingDirection: targetWindingDirection } = targetAnnotation.data.contour;
|
|
62850
|
+
const { windingDirection: holeWindingDirection } = holeAnnotation.data.contour;
|
|
62851
|
+
if (targetWindingDirection === holeWindingDirection) {
|
|
62852
|
+
holeAnnotation.data.contour.polyline.reverse();
|
|
62853
|
+
holeAnnotation.data.contour.windingDirection = targetWindingDirection * -1;
|
|
62854
|
+
}
|
|
62855
|
+
(0,_stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_4__.addChildAnnotation)(targetAnnotation, holeAnnotation);
|
|
62856
|
+
_utilities_contourSegmentation__WEBPACK_IMPORTED_MODULE_6__.removeContourSegmentationAnnotation(holeAnnotation);
|
|
62857
|
+
const { element } = viewport;
|
|
62858
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
62859
|
+
const { renderingEngine } = enabledElement;
|
|
62860
|
+
const updatedToolNames = new Set([
|
|
62861
|
+
DEFAULT_CONTOUR_SEG_TOOLNAME,
|
|
62862
|
+
targetAnnotation.metadata.toolName,
|
|
62863
|
+
holeAnnotation.metadata.toolName,
|
|
62864
|
+
]);
|
|
62865
|
+
for (const toolName of updatedToolNames.values()) {
|
|
62866
|
+
const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_3__.getViewportIdsWithToolToRender)(element, toolName);
|
|
62867
|
+
(0,_utilities__WEBPACK_IMPORTED_MODULE_2__.triggerAnnotationRenderForViewportIds)(renderingEngine, viewportIdsToRender);
|
|
62868
|
+
}
|
|
62869
|
+
}
|
|
62870
|
+
function getContourHolesData(viewport, annotation) {
|
|
62871
|
+
return getChildAnnotations(annotation).map((holeAnnotation) => {
|
|
62872
|
+
const polyline = convertContourPolylineToCanvasSpace(holeAnnotation.data.contour.polyline, viewport);
|
|
62873
|
+
return { annotation: holeAnnotation, polyline };
|
|
62874
|
+
});
|
|
62875
|
+
}
|
|
62876
|
+
function combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnnotation, sourcePolyline) {
|
|
62877
|
+
if (!cstHasTool(PlanarFreehandContourSegmentationTool)) {
|
|
62878
|
+
console.warn(`${PlanarFreehandContourSegmentationTool.toolName} is not registered in cornerstone`);
|
|
62879
|
+
return;
|
|
62880
|
+
}
|
|
62881
|
+
if (!isFreehandContourSegToolRegisteredForViewport(viewport)) {
|
|
62882
|
+
return;
|
|
62883
|
+
}
|
|
62884
|
+
const sourceStartPoint = sourcePolyline[0];
|
|
62885
|
+
const mergePolylines = math.polyline.containsPoint(targetPolyline, sourceStartPoint);
|
|
62886
|
+
const contourHolesData = getContourHolesData(viewport, targetAnnotation);
|
|
62887
|
+
const unassignedContourHolesSet = new Set(contourHolesData);
|
|
62888
|
+
const reassignedContourHolesMap = new Map();
|
|
62889
|
+
const assignHoleToPolyline = (parentPolyline, holeData) => {
|
|
62890
|
+
let holes = reassignedContourHolesMap.get(parentPolyline);
|
|
62891
|
+
if (!holes) {
|
|
62892
|
+
holes = [];
|
|
62893
|
+
reassignedContourHolesMap.set(parentPolyline, holes);
|
|
62894
|
+
}
|
|
62895
|
+
holes.push(holeData);
|
|
62896
|
+
unassignedContourHolesSet.delete(holeData);
|
|
62897
|
+
};
|
|
62898
|
+
const newPolylines = [];
|
|
62899
|
+
if (mergePolylines) {
|
|
62900
|
+
const mergedPolyline = math.polyline.mergePolylines(targetPolyline, sourcePolyline);
|
|
62901
|
+
newPolylines.push(mergedPolyline);
|
|
62902
|
+
Array.from(unassignedContourHolesSet.keys()).forEach((holeData) => assignHoleToPolyline(mergedPolyline, holeData));
|
|
62903
|
+
}
|
|
62904
|
+
else {
|
|
62905
|
+
const subtractedPolylines = math.polyline.subtractPolylines(targetPolyline, sourcePolyline);
|
|
62906
|
+
subtractedPolylines.forEach((newPolyline) => {
|
|
62907
|
+
newPolylines.push(newPolyline);
|
|
62908
|
+
Array.from(unassignedContourHolesSet.keys()).forEach((holeData) => {
|
|
62909
|
+
const containsHole = math.polyline.containsPoints(newPolyline, holeData.polyline);
|
|
62910
|
+
if (containsHole) {
|
|
62911
|
+
assignHoleToPolyline(newPolyline, holeData);
|
|
62912
|
+
unassignedContourHolesSet.delete(holeData);
|
|
62913
|
+
}
|
|
62914
|
+
});
|
|
62915
|
+
});
|
|
62916
|
+
}
|
|
62917
|
+
Array.from(reassignedContourHolesMap.values()).forEach((contourHolesDataArray) => contourHolesDataArray.forEach((contourHoleData) => clearParentAnnotation(contourHoleData.annotation)));
|
|
62918
|
+
const { element } = viewport;
|
|
62919
|
+
const enabledElement = getEnabledElement(element);
|
|
62920
|
+
const { metadata, data } = targetAnnotation;
|
|
62921
|
+
const { handles, segmentation } = data;
|
|
62922
|
+
const { textBox } = handles;
|
|
62923
|
+
removeAnnotation(sourceAnnotation.annotationUID);
|
|
62924
|
+
removeAnnotation(targetAnnotation.annotationUID);
|
|
62925
|
+
for (let i = 0; i < newPolylines.length; i++) {
|
|
62926
|
+
const polyline = newPolylines[i];
|
|
62927
|
+
const startPoint = viewport.canvasToWorld(polyline[0]);
|
|
62928
|
+
const endPoint = viewport.canvasToWorld(polyline[polyline.length - 1]);
|
|
62929
|
+
const newAnnotation = {
|
|
62930
|
+
metadata: {
|
|
62931
|
+
...metadata,
|
|
62932
|
+
toolName: DEFAULT_CONTOUR_SEG_TOOLNAME,
|
|
62933
|
+
originalToolName: metadata.originalToolName || metadata.toolName,
|
|
62934
|
+
},
|
|
62935
|
+
data: {
|
|
62936
|
+
cachedStats: {},
|
|
62937
|
+
handles: {
|
|
62938
|
+
points: [startPoint, endPoint],
|
|
62939
|
+
textBox: textBox ? { ...textBox } : undefined,
|
|
62940
|
+
},
|
|
62941
|
+
contour: {
|
|
62942
|
+
polyline: [],
|
|
62943
|
+
closed: true,
|
|
62944
|
+
},
|
|
62945
|
+
spline: targetAnnotation.data.spline,
|
|
62946
|
+
segmentation: {
|
|
62947
|
+
...segmentation,
|
|
62948
|
+
},
|
|
62949
|
+
},
|
|
62950
|
+
annotationUID: csUtils.uuidv4(),
|
|
62951
|
+
highlighted: true,
|
|
62952
|
+
invalidated: true,
|
|
62953
|
+
isLocked: false,
|
|
62954
|
+
isVisible: undefined,
|
|
62955
|
+
interpolationUID: targetAnnotation.interpolationUID,
|
|
62956
|
+
interpolationCompleted: targetAnnotation.interpolationCompleted,
|
|
62957
|
+
};
|
|
62958
|
+
contourUtils.updateContourPolyline(newAnnotation, {
|
|
62959
|
+
points: polyline,
|
|
62960
|
+
closed: true,
|
|
62961
|
+
targetWindingDirection: ContourWindingDirection.Clockwise,
|
|
62962
|
+
}, viewport);
|
|
62963
|
+
addAnnotation(newAnnotation, element);
|
|
62964
|
+
contourSegUtils.addContourSegmentationAnnotation(newAnnotation);
|
|
62965
|
+
triggerAnnotationModified(newAnnotation, viewport.element);
|
|
62966
|
+
reassignedContourHolesMap
|
|
62967
|
+
.get(polyline)
|
|
62968
|
+
?.forEach((holeData) => addChildAnnotation(newAnnotation, holeData.annotation));
|
|
62969
|
+
}
|
|
62970
|
+
updateViewports(enabledElement, targetAnnotation, sourceAnnotation);
|
|
62971
|
+
}
|
|
62972
|
+
function updateViewports(enabledElement, targetAnnotation, sourceAnnotation) {
|
|
62973
|
+
const { viewport } = enabledElement;
|
|
62974
|
+
const { element } = viewport;
|
|
62975
|
+
const { renderingEngine } = enabledElement;
|
|
62976
|
+
const updatedTtoolNames = new Set([
|
|
62977
|
+
DEFAULT_CONTOUR_SEG_TOOLNAME,
|
|
62978
|
+
targetAnnotation.metadata.toolName,
|
|
62979
|
+
sourceAnnotation.metadata.toolName,
|
|
62980
|
+
]);
|
|
62981
|
+
for (const toolName of updatedTtoolNames.values()) {
|
|
62982
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, toolName);
|
|
62983
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
62984
|
+
}
|
|
62985
|
+
return new Promise((resolve) => window.requestAnimationFrame(resolve));
|
|
62986
|
+
}
|
|
62987
|
+
|
|
62988
|
+
|
|
62989
|
+
/***/ }),
|
|
62990
|
+
|
|
62991
|
+
/***/ 60878:
|
|
62703
62992
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
62704
62993
|
|
|
62705
62994
|
"use strict";
|
|
@@ -62798,10 +63087,10 @@ const segmentationRepresentationModifiedListener = function (evt) {
|
|
|
62798
63087
|
var enums_SegmentationRepresentations = __webpack_require__(83946);
|
|
62799
63088
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 2 modules
|
|
62800
63089
|
var segmentationState = __webpack_require__(30322);
|
|
62801
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
62802
|
-
var esm = __webpack_require__(
|
|
63090
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
63091
|
+
var esm = __webpack_require__(50719);
|
|
62803
63092
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/ToolGroupManager/index.js
|
|
62804
|
-
var
|
|
63093
|
+
var ToolGroupManager = __webpack_require__(52610);
|
|
62805
63094
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js
|
|
62806
63095
|
|
|
62807
63096
|
|
|
@@ -62954,7 +63243,7 @@ function _imageChangeEventListener(evt) {
|
|
|
62954
63243
|
const eventData = evt.detail;
|
|
62955
63244
|
const { viewportId, renderingEngineId } = eventData;
|
|
62956
63245
|
const { viewport } = (0,esm.getEnabledElementByIds)(viewportId, renderingEngineId);
|
|
62957
|
-
const toolGroup = (0,
|
|
63246
|
+
const toolGroup = (0,ToolGroupManager.getToolGroupForViewport)(viewportId, renderingEngineId);
|
|
62958
63247
|
if (!toolGroup) {
|
|
62959
63248
|
return;
|
|
62960
63249
|
}
|
|
@@ -63079,259 +63368,8 @@ function _imageChangeEventListener(evt) {
|
|
|
63079
63368
|
|
|
63080
63369
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/index.js + 3 modules
|
|
63081
63370
|
var contourSegmentation = __webpack_require__(15916);
|
|
63082
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/
|
|
63083
|
-
var
|
|
63084
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/index.js + 25 modules
|
|
63085
|
-
var utilities = __webpack_require__(21013);
|
|
63086
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/viewportFilters/index.js + 4 modules
|
|
63087
|
-
var viewportFilters = __webpack_require__(90252);
|
|
63088
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
63089
|
-
var annotationState = __webpack_require__(38296);
|
|
63090
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/index.js + 9 modules
|
|
63091
|
-
var contours = __webpack_require__(75908);
|
|
63092
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/index.js + 4 modules
|
|
63093
|
-
var store = __webpack_require__(61738);
|
|
63094
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/index.js + 42 modules
|
|
63095
|
-
var tools = __webpack_require__(94152);
|
|
63096
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/types/ContourAnnotation.js
|
|
63097
|
-
var ContourAnnotation = __webpack_require__(96950);
|
|
63098
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/helpers/state.js
|
|
63099
|
-
var state = __webpack_require__(54177);
|
|
63100
|
-
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js
|
|
63101
|
-
|
|
63102
|
-
|
|
63103
|
-
|
|
63104
|
-
|
|
63105
|
-
|
|
63106
|
-
|
|
63107
|
-
|
|
63108
|
-
|
|
63109
|
-
|
|
63110
|
-
|
|
63111
|
-
|
|
63112
|
-
const DEFAULT_CONTOUR_SEG_TOOLNAME = 'PlanarFreehandContourSegmentationTool';
|
|
63113
|
-
async function contourSegmentationCompletedListener(evt) {
|
|
63114
|
-
const sourceAnnotation = evt.detail
|
|
63115
|
-
.annotation;
|
|
63116
|
-
if (!contourSegUtils.isContourSegmentationAnnotation(sourceAnnotation)) {
|
|
63117
|
-
return;
|
|
63118
|
-
}
|
|
63119
|
-
const viewport = getViewport(sourceAnnotation);
|
|
63120
|
-
const contourSegmentationAnnotations = getValidContourSegmentationAnnotations(viewport, sourceAnnotation);
|
|
63121
|
-
if (!contourSegmentationAnnotations.length) {
|
|
63122
|
-
return;
|
|
63123
|
-
}
|
|
63124
|
-
const sourcePolyline = convertContourPolylineToCanvasSpace(sourceAnnotation.data.contour.polyline, viewport);
|
|
63125
|
-
const targetAnnotationInfo = findIntersectingContour(viewport, sourcePolyline, contourSegmentationAnnotations);
|
|
63126
|
-
if (!targetAnnotationInfo) {
|
|
63127
|
-
return;
|
|
63128
|
-
}
|
|
63129
|
-
const { targetAnnotation, targetPolyline, isContourHole } = targetAnnotationInfo;
|
|
63130
|
-
if (isContourHole) {
|
|
63131
|
-
const { contourHoleProcessingEnabled = false } = evt.detail;
|
|
63132
|
-
if (!contourHoleProcessingEnabled) {
|
|
63133
|
-
return;
|
|
63134
|
-
}
|
|
63135
|
-
createPolylineHole(viewport, targetAnnotation, sourceAnnotation);
|
|
63136
|
-
}
|
|
63137
|
-
else {
|
|
63138
|
-
combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnnotation, sourcePolyline);
|
|
63139
|
-
}
|
|
63140
|
-
}
|
|
63141
|
-
function isFreehandContourSegToolRegisteredForViewport(viewport, silent = false) {
|
|
63142
|
-
const { toolName } = PlanarFreehandContourSegmentationTool;
|
|
63143
|
-
const toolGroup = ToolGroupManager.getToolGroupForViewport(viewport.id, viewport.renderingEngineId);
|
|
63144
|
-
let errorMessage;
|
|
63145
|
-
if (!toolGroup.hasTool(toolName)) {
|
|
63146
|
-
errorMessage = `Tool ${toolName} not added to ${toolGroup.id} toolGroup`;
|
|
63147
|
-
}
|
|
63148
|
-
else if (!toolGroup.getToolOptions(toolName)) {
|
|
63149
|
-
errorMessage = `Tool ${toolName} must be in active/passive state`;
|
|
63150
|
-
}
|
|
63151
|
-
if (errorMessage && !silent) {
|
|
63152
|
-
console.warn(errorMessage);
|
|
63153
|
-
}
|
|
63154
|
-
return !errorMessage;
|
|
63155
|
-
}
|
|
63156
|
-
function getViewport(annotation) {
|
|
63157
|
-
const viewports = getViewportsForAnnotation(annotation);
|
|
63158
|
-
const viewportWithToolRegistered = viewports.find((viewport) => isFreehandContourSegToolRegisteredForViewport(viewport, true));
|
|
63159
|
-
return viewportWithToolRegistered ?? viewports[0];
|
|
63160
|
-
}
|
|
63161
|
-
function convertContourPolylineToCanvasSpace(polyline, viewport) {
|
|
63162
|
-
const numPoints = polyline.length;
|
|
63163
|
-
const projectedPolyline = new Array(numPoints);
|
|
63164
|
-
for (let i = 0; i < numPoints; i++) {
|
|
63165
|
-
projectedPolyline[i] = viewport.worldToCanvas(polyline[i]);
|
|
63166
|
-
}
|
|
63167
|
-
return projectedPolyline;
|
|
63168
|
-
}
|
|
63169
|
-
function getValidContourSegmentationAnnotations(viewport, sourceAnnotation) {
|
|
63170
|
-
const { annotationUID: sourceAnnotationUID } = sourceAnnotation;
|
|
63171
|
-
const allAnnotations = getAllAnnotations();
|
|
63172
|
-
return allAnnotations.filter((targetAnnotation) => targetAnnotation.annotationUID &&
|
|
63173
|
-
targetAnnotation.annotationUID !== sourceAnnotationUID &&
|
|
63174
|
-
contourSegUtils.isContourSegmentationAnnotation(targetAnnotation) &&
|
|
63175
|
-
contourSegUtils.areSameSegment(targetAnnotation, sourceAnnotation) &&
|
|
63176
|
-
viewport.isReferenceViewable(targetAnnotation.metadata));
|
|
63177
|
-
}
|
|
63178
|
-
function findIntersectingContour(viewport, sourcePolyline, contourSegmentationAnnotations) {
|
|
63179
|
-
const sourceAABB = math.polyline.getAABB(sourcePolyline);
|
|
63180
|
-
for (let i = 0; i < contourSegmentationAnnotations.length; i++) {
|
|
63181
|
-
const targetAnnotation = contourSegmentationAnnotations[i];
|
|
63182
|
-
const targetPolyline = convertContourPolylineToCanvasSpace(targetAnnotation.data.contour.polyline, viewport);
|
|
63183
|
-
const targetAABB = math.polyline.getAABB(targetPolyline);
|
|
63184
|
-
const aabbIntersect = math.aabb.intersectAABB(sourceAABB, targetAABB);
|
|
63185
|
-
const lineSegmentsIntersect = aabbIntersect &&
|
|
63186
|
-
math.polyline.intersectPolyline(sourcePolyline, targetPolyline);
|
|
63187
|
-
const isContourHole = aabbIntersect &&
|
|
63188
|
-
!lineSegmentsIntersect &&
|
|
63189
|
-
math.polyline.containsPoints(targetPolyline, sourcePolyline);
|
|
63190
|
-
if (lineSegmentsIntersect || isContourHole) {
|
|
63191
|
-
return { targetAnnotation, targetPolyline, isContourHole };
|
|
63192
|
-
}
|
|
63193
|
-
}
|
|
63194
|
-
}
|
|
63195
|
-
function createPolylineHole(viewport, targetAnnotation, holeAnnotation) {
|
|
63196
|
-
const { windingDirection: targetWindingDirection } = targetAnnotation.data.contour;
|
|
63197
|
-
const { windingDirection: holeWindingDirection } = holeAnnotation.data.contour;
|
|
63198
|
-
if (targetWindingDirection === holeWindingDirection) {
|
|
63199
|
-
holeAnnotation.data.contour.polyline.reverse();
|
|
63200
|
-
holeAnnotation.data.contour.windingDirection = targetWindingDirection * -1;
|
|
63201
|
-
}
|
|
63202
|
-
addChildAnnotation(targetAnnotation, holeAnnotation);
|
|
63203
|
-
contourSegUtils.removeContourSegmentationAnnotation(holeAnnotation);
|
|
63204
|
-
const { element } = viewport;
|
|
63205
|
-
const enabledElement = getEnabledElement(element);
|
|
63206
|
-
const { renderingEngine } = enabledElement;
|
|
63207
|
-
const updatedToolNames = new Set([
|
|
63208
|
-
DEFAULT_CONTOUR_SEG_TOOLNAME,
|
|
63209
|
-
targetAnnotation.metadata.toolName,
|
|
63210
|
-
holeAnnotation.metadata.toolName,
|
|
63211
|
-
]);
|
|
63212
|
-
for (const toolName of updatedToolNames.values()) {
|
|
63213
|
-
const viewportIdsToRender = getViewportIdsWithToolToRender(element, toolName);
|
|
63214
|
-
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
63215
|
-
}
|
|
63216
|
-
}
|
|
63217
|
-
function getContourHolesData(viewport, annotation) {
|
|
63218
|
-
return getChildAnnotations(annotation).map((holeAnnotation) => {
|
|
63219
|
-
const polyline = convertContourPolylineToCanvasSpace(holeAnnotation.data.contour.polyline, viewport);
|
|
63220
|
-
return { annotation: holeAnnotation, polyline };
|
|
63221
|
-
});
|
|
63222
|
-
}
|
|
63223
|
-
function combinePolylines(viewport, targetAnnotation, targetPolyline, sourceAnnotation, sourcePolyline) {
|
|
63224
|
-
if (!cstHasTool(PlanarFreehandContourSegmentationTool)) {
|
|
63225
|
-
console.warn(`${PlanarFreehandContourSegmentationTool.toolName} is not registered in cornerstone`);
|
|
63226
|
-
return;
|
|
63227
|
-
}
|
|
63228
|
-
if (!isFreehandContourSegToolRegisteredForViewport(viewport)) {
|
|
63229
|
-
return;
|
|
63230
|
-
}
|
|
63231
|
-
const sourceStartPoint = sourcePolyline[0];
|
|
63232
|
-
const mergePolylines = math.polyline.containsPoint(targetPolyline, sourceStartPoint);
|
|
63233
|
-
const contourHolesData = getContourHolesData(viewport, targetAnnotation);
|
|
63234
|
-
const unassignedContourHolesSet = new Set(contourHolesData);
|
|
63235
|
-
const reassignedContourHolesMap = new Map();
|
|
63236
|
-
const assignHoleToPolyline = (parentPolyline, holeData) => {
|
|
63237
|
-
let holes = reassignedContourHolesMap.get(parentPolyline);
|
|
63238
|
-
if (!holes) {
|
|
63239
|
-
holes = [];
|
|
63240
|
-
reassignedContourHolesMap.set(parentPolyline, holes);
|
|
63241
|
-
}
|
|
63242
|
-
holes.push(holeData);
|
|
63243
|
-
unassignedContourHolesSet.delete(holeData);
|
|
63244
|
-
};
|
|
63245
|
-
const newPolylines = [];
|
|
63246
|
-
if (mergePolylines) {
|
|
63247
|
-
const mergedPolyline = math.polyline.mergePolylines(targetPolyline, sourcePolyline);
|
|
63248
|
-
newPolylines.push(mergedPolyline);
|
|
63249
|
-
Array.from(unassignedContourHolesSet.keys()).forEach((holeData) => assignHoleToPolyline(mergedPolyline, holeData));
|
|
63250
|
-
}
|
|
63251
|
-
else {
|
|
63252
|
-
const subtractedPolylines = math.polyline.subtractPolylines(targetPolyline, sourcePolyline);
|
|
63253
|
-
subtractedPolylines.forEach((newPolyline) => {
|
|
63254
|
-
newPolylines.push(newPolyline);
|
|
63255
|
-
Array.from(unassignedContourHolesSet.keys()).forEach((holeData) => {
|
|
63256
|
-
const containsHole = math.polyline.containsPoints(newPolyline, holeData.polyline);
|
|
63257
|
-
if (containsHole) {
|
|
63258
|
-
assignHoleToPolyline(newPolyline, holeData);
|
|
63259
|
-
unassignedContourHolesSet.delete(holeData);
|
|
63260
|
-
}
|
|
63261
|
-
});
|
|
63262
|
-
});
|
|
63263
|
-
}
|
|
63264
|
-
Array.from(reassignedContourHolesMap.values()).forEach((contourHolesDataArray) => contourHolesDataArray.forEach((contourHoleData) => clearParentAnnotation(contourHoleData.annotation)));
|
|
63265
|
-
const { element } = viewport;
|
|
63266
|
-
const enabledElement = getEnabledElement(element);
|
|
63267
|
-
const { metadata, data } = targetAnnotation;
|
|
63268
|
-
const { handles, segmentation } = data;
|
|
63269
|
-
const { textBox } = handles;
|
|
63270
|
-
removeAnnotation(sourceAnnotation.annotationUID);
|
|
63271
|
-
removeAnnotation(targetAnnotation.annotationUID);
|
|
63272
|
-
for (let i = 0; i < newPolylines.length; i++) {
|
|
63273
|
-
const polyline = newPolylines[i];
|
|
63274
|
-
const startPoint = viewport.canvasToWorld(polyline[0]);
|
|
63275
|
-
const endPoint = viewport.canvasToWorld(polyline[polyline.length - 1]);
|
|
63276
|
-
const newAnnotation = {
|
|
63277
|
-
metadata: {
|
|
63278
|
-
...metadata,
|
|
63279
|
-
toolName: DEFAULT_CONTOUR_SEG_TOOLNAME,
|
|
63280
|
-
originalToolName: metadata.originalToolName || metadata.toolName,
|
|
63281
|
-
},
|
|
63282
|
-
data: {
|
|
63283
|
-
cachedStats: {},
|
|
63284
|
-
handles: {
|
|
63285
|
-
points: [startPoint, endPoint],
|
|
63286
|
-
textBox: textBox ? { ...textBox } : undefined,
|
|
63287
|
-
},
|
|
63288
|
-
contour: {
|
|
63289
|
-
polyline: [],
|
|
63290
|
-
closed: true,
|
|
63291
|
-
},
|
|
63292
|
-
spline: targetAnnotation.data.spline,
|
|
63293
|
-
segmentation: {
|
|
63294
|
-
...segmentation,
|
|
63295
|
-
},
|
|
63296
|
-
},
|
|
63297
|
-
annotationUID: csUtils.uuidv4(),
|
|
63298
|
-
highlighted: true,
|
|
63299
|
-
invalidated: true,
|
|
63300
|
-
isLocked: false,
|
|
63301
|
-
isVisible: undefined,
|
|
63302
|
-
interpolationUID: targetAnnotation.interpolationUID,
|
|
63303
|
-
interpolationCompleted: targetAnnotation.interpolationCompleted,
|
|
63304
|
-
};
|
|
63305
|
-
contourUtils.updateContourPolyline(newAnnotation, {
|
|
63306
|
-
points: polyline,
|
|
63307
|
-
closed: true,
|
|
63308
|
-
targetWindingDirection: ContourWindingDirection.Clockwise,
|
|
63309
|
-
}, viewport);
|
|
63310
|
-
addAnnotation(newAnnotation, element);
|
|
63311
|
-
contourSegUtils.addContourSegmentationAnnotation(newAnnotation);
|
|
63312
|
-
triggerAnnotationModified(newAnnotation, viewport.element);
|
|
63313
|
-
reassignedContourHolesMap
|
|
63314
|
-
.get(polyline)
|
|
63315
|
-
?.forEach((holeData) => addChildAnnotation(newAnnotation, holeData.annotation));
|
|
63316
|
-
}
|
|
63317
|
-
updateViewports(enabledElement, targetAnnotation, sourceAnnotation);
|
|
63318
|
-
}
|
|
63319
|
-
function updateViewports(enabledElement, targetAnnotation, sourceAnnotation) {
|
|
63320
|
-
const { viewport } = enabledElement;
|
|
63321
|
-
const { element } = viewport;
|
|
63322
|
-
const { renderingEngine } = enabledElement;
|
|
63323
|
-
const updatedTtoolNames = new Set([
|
|
63324
|
-
DEFAULT_CONTOUR_SEG_TOOLNAME,
|
|
63325
|
-
targetAnnotation.metadata.toolName,
|
|
63326
|
-
sourceAnnotation.metadata.toolName,
|
|
63327
|
-
]);
|
|
63328
|
-
for (const toolName of updatedTtoolNames.values()) {
|
|
63329
|
-
const viewportIdsToRender = getViewportIdsWithToolToRender(element, toolName);
|
|
63330
|
-
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
63331
|
-
}
|
|
63332
|
-
return new Promise((resolve) => window.requestAnimationFrame(resolve));
|
|
63333
|
-
}
|
|
63334
|
-
|
|
63371
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js
|
|
63372
|
+
var contourSegmentation_contourSegmentationCompleted = __webpack_require__(90202);
|
|
63335
63373
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationRemoved.js
|
|
63336
63374
|
|
|
63337
63375
|
function contourSegmentationRemovedListener(evt) {
|
|
@@ -63353,6 +63391,8 @@ function annotationCompletedListener(evt) {
|
|
|
63353
63391
|
}
|
|
63354
63392
|
}
|
|
63355
63393
|
|
|
63394
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/index.js + 25 modules
|
|
63395
|
+
var utilities = __webpack_require__(21013);
|
|
63356
63396
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/annotations/annotationSelectionListener.js
|
|
63357
63397
|
|
|
63358
63398
|
|
|
@@ -63411,7 +63451,7 @@ function annotationRemovedListener(evt) {
|
|
|
63411
63451
|
|
|
63412
63452
|
/***/ }),
|
|
63413
63453
|
|
|
63414
|
-
/***/
|
|
63454
|
+
/***/ 20767:
|
|
63415
63455
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
63416
63456
|
|
|
63417
63457
|
"use strict";
|
|
@@ -63423,8 +63463,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
63423
63463
|
|
|
63424
63464
|
// UNUSED EXPORTS: AdvancedMagnifyTool, AngleTool, AnnotationDisplayTool, AnnotationTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CONSTANTS, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, Enums, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarFreehandContourSegmentationTool, PlanarFreehandROITool, PlanarRotateTool, ProbeTool, RectangleROIStartEndThresholdTool, RectangleROIThresholdTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SegmentSelectTool, SegmentationDisplayTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, Synchronizer, SynchronizerManager, ToolGroupManager, TrackballRotateTool, Types, UltrasoundDirectionalTool, VideoRedactionTool, VolumeRotateMouseWheelTool, WindowLevelTool, ZoomTool, addTool, annotation, cancelActiveManipulations, cursors, destroy, drawing, init, removeTool, state, synchronizers, utilities
|
|
63425
63465
|
|
|
63426
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
63427
|
-
var esm = __webpack_require__(
|
|
63466
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
63467
|
+
var esm = __webpack_require__(50719);
|
|
63428
63468
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
63429
63469
|
var annotationState = __webpack_require__(38296);
|
|
63430
63470
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 2 modules
|
|
@@ -63435,8 +63475,8 @@ var enums = __webpack_require__(84901);
|
|
|
63435
63475
|
var store = __webpack_require__(61738);
|
|
63436
63476
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/state.js
|
|
63437
63477
|
var state = __webpack_require__(55588);
|
|
63438
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/index.js +
|
|
63439
|
-
var eventListeners = __webpack_require__(
|
|
63478
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/index.js + 17 modules
|
|
63479
|
+
var eventListeners = __webpack_require__(60878);
|
|
63440
63480
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventDispatchers/index.js + 7 modules
|
|
63441
63481
|
var eventDispatchers = __webpack_require__(44926);
|
|
63442
63482
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/ToolGroupManager/index.js
|
|
@@ -63543,9 +63583,9 @@ function createCameraPositionSynchronizer(synchronizerName) {
|
|
|
63543
63583
|
|
|
63544
63584
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/synchronizers/callbacks/voiSyncCallback.js
|
|
63545
63585
|
|
|
63546
|
-
function voiSyncCallback_voiSyncCallback(synchronizerInstance, sourceViewport, targetViewport,
|
|
63547
|
-
const eventDetail =
|
|
63548
|
-
const { volumeId, range, invertStateChanged, invert } = eventDetail;
|
|
63586
|
+
function voiSyncCallback_voiSyncCallback(synchronizerInstance, sourceViewport, targetViewport, modifiedEvent, options) {
|
|
63587
|
+
const eventDetail = modifiedEvent.detail;
|
|
63588
|
+
const { volumeId, range, invertStateChanged, invert, colormap } = eventDetail;
|
|
63549
63589
|
const renderingEngine = getRenderingEngine(targetViewport.renderingEngineId);
|
|
63550
63590
|
if (!renderingEngine) {
|
|
63551
63591
|
throw new Error(`Rendering Engine does not exist: ${targetViewport.renderingEngineId}`);
|
|
@@ -63557,8 +63597,17 @@ function voiSyncCallback_voiSyncCallback(synchronizerInstance, sourceViewport, t
|
|
|
63557
63597
|
if (options?.syncInvertState && invertStateChanged) {
|
|
63558
63598
|
tProperties.invert = invert;
|
|
63559
63599
|
}
|
|
63600
|
+
if (options?.syncColormap && colormap) {
|
|
63601
|
+
tProperties.colormap = colormap;
|
|
63602
|
+
}
|
|
63560
63603
|
if (tViewport instanceof BaseVolumeViewport) {
|
|
63561
|
-
tViewport.
|
|
63604
|
+
const isFusion = tViewport._actors && tViewport._actors.size > 1;
|
|
63605
|
+
if (isFusion) {
|
|
63606
|
+
tViewport.setProperties(tProperties, volumeId);
|
|
63607
|
+
}
|
|
63608
|
+
else {
|
|
63609
|
+
tViewport.setProperties(tProperties);
|
|
63610
|
+
}
|
|
63562
63611
|
}
|
|
63563
63612
|
else if (tViewport instanceof StackViewport) {
|
|
63564
63613
|
tViewport.setProperties(tProperties);
|
|
@@ -63574,7 +63623,10 @@ function voiSyncCallback_voiSyncCallback(synchronizerInstance, sourceViewport, t
|
|
|
63574
63623
|
|
|
63575
63624
|
|
|
63576
63625
|
function createVOISynchronizer(synchronizerName, options = { syncInvertState: true }) {
|
|
63577
|
-
const VOISynchronizer = createSynchronizer(synchronizerName, Enums.Events.VOI_MODIFIED, voiSyncCallback,
|
|
63626
|
+
const VOISynchronizer = createSynchronizer(synchronizerName, Enums.Events.VOI_MODIFIED, voiSyncCallback, {
|
|
63627
|
+
auxiliaryEventNames: [Enums.Events.COLORMAP_MODIFIED],
|
|
63628
|
+
...options,
|
|
63629
|
+
});
|
|
63578
63630
|
return VOISynchronizer;
|
|
63579
63631
|
}
|
|
63580
63632
|
|
|
@@ -63704,11 +63756,39 @@ function createImageSliceSynchronizer_createImageSliceSynchronizer(synchronizerN
|
|
|
63704
63756
|
return stackImageSynchronizer;
|
|
63705
63757
|
}
|
|
63706
63758
|
|
|
63759
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.js
|
|
63760
|
+
|
|
63761
|
+
function slabThicknessSyncCallback_slabThicknessSyncCallback(_synchronizerInstance, sourceViewport, targetViewport) {
|
|
63762
|
+
const renderingEngine = getRenderingEngine(targetViewport.renderingEngineId);
|
|
63763
|
+
if (!renderingEngine) {
|
|
63764
|
+
throw new Error(`No RenderingEngine for Id: ${targetViewport.renderingEngineId}`);
|
|
63765
|
+
}
|
|
63766
|
+
const tViewport = renderingEngine.getViewport(targetViewport.viewportId);
|
|
63767
|
+
const sViewport = renderingEngine.getViewport(sourceViewport.viewportId);
|
|
63768
|
+
const slabThickness = sViewport.getSlabThickness?.();
|
|
63769
|
+
if (!slabThickness) {
|
|
63770
|
+
return;
|
|
63771
|
+
}
|
|
63772
|
+
tViewport.setSlabThickness?.(slabThickness);
|
|
63773
|
+
tViewport.render();
|
|
63774
|
+
}
|
|
63775
|
+
|
|
63776
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.js
|
|
63777
|
+
|
|
63778
|
+
|
|
63779
|
+
|
|
63780
|
+
const { CAMERA_MODIFIED: createSlabThicknessSynchronizer_CAMERA_MODIFIED } = esm.Enums.Events;
|
|
63781
|
+
function createPresentationViewSynchronizer(synchronizerName) {
|
|
63782
|
+
const presentationView = createSynchronizer(synchronizerName, createSlabThicknessSynchronizer_CAMERA_MODIFIED, slabThicknessSyncCallback);
|
|
63783
|
+
return presentationView;
|
|
63784
|
+
}
|
|
63785
|
+
|
|
63707
63786
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/synchronizers/index.js
|
|
63708
63787
|
|
|
63709
63788
|
|
|
63710
63789
|
|
|
63711
63790
|
|
|
63791
|
+
|
|
63712
63792
|
const createStackImageSynchronizer = (/* unused pure expression or super */ null && (createImageSliceSynchronizer));
|
|
63713
63793
|
|
|
63714
63794
|
|
|
@@ -64237,7 +64317,7 @@ VideoRedactionTool.toolName = 'VideoRedaction';
|
|
|
64237
64317
|
/* harmony export */ });
|
|
64238
64318
|
/* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(48463);
|
|
64239
64319
|
/* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_0__);
|
|
64240
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
64320
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50719);
|
|
64241
64321
|
/* harmony import */ var _annotationLocking__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48428);
|
|
64242
64322
|
/* harmony import */ var _annotationVisibility__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21009);
|
|
64243
64323
|
|
|
@@ -64444,7 +64524,7 @@ const defaultFrameOfReferenceSpecificAnnotationManager = new FrameOfReferenceSpe
|
|
|
64444
64524
|
/* harmony export */ isAnnotationLocked: () => (/* binding */ isAnnotationLocked)
|
|
64445
64525
|
/* harmony export */ });
|
|
64446
64526
|
/* unused harmony exports setAnnotationLocked, getAnnotationsLocked, getAnnotationsLockedCount, unlockAllAnnotations */
|
|
64447
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
64527
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
64448
64528
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
64449
64529
|
|
|
64450
64530
|
|
|
@@ -64547,7 +64627,7 @@ function getIsLocked() {
|
|
|
64547
64627
|
/* harmony export */ setAnnotationSelected: () => (/* binding */ setAnnotationSelected)
|
|
64548
64628
|
/* harmony export */ });
|
|
64549
64629
|
/* unused harmony exports getAnnotationsSelected, getAnnotationsSelectedByToolName, getAnnotationsSelectedCount */
|
|
64550
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
64630
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
64551
64631
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
64552
64632
|
/* harmony import */ var _annotationState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38296);
|
|
64553
64633
|
|
|
@@ -64591,7 +64671,7 @@ function getAnnotationsSelected() {
|
|
|
64591
64671
|
function getAnnotationsSelectedByToolName(toolName) {
|
|
64592
64672
|
return getAnnotationsSelected().filter((annotationUID) => {
|
|
64593
64673
|
const annotation = getAnnotation(annotationUID);
|
|
64594
|
-
return annotation
|
|
64674
|
+
return annotation?.metadata?.toolName === toolName;
|
|
64595
64675
|
});
|
|
64596
64676
|
}
|
|
64597
64677
|
function isAnnotationSelected(annotationUID) {
|
|
@@ -64647,7 +64727,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64647
64727
|
/* harmony export */ resetAnnotationManager: () => (/* binding */ resetAnnotationManager),
|
|
64648
64728
|
/* harmony export */ setAnnotationManager: () => (/* binding */ setAnnotationManager)
|
|
64649
64729
|
/* harmony export */ });
|
|
64650
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
64730
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
64651
64731
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
64652
64732
|
/* harmony import */ var _FrameOfReferenceSpecificAnnotationManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22581);
|
|
64653
64733
|
/* harmony import */ var _helpers_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54177);
|
|
@@ -64776,7 +64856,7 @@ function invalidateAnnotation(annotation) {
|
|
|
64776
64856
|
/* harmony export */ isAnnotationVisible: () => (/* binding */ isAnnotationVisible)
|
|
64777
64857
|
/* harmony export */ });
|
|
64778
64858
|
/* unused harmony exports setAnnotationVisibility, showAllAnnotations */
|
|
64779
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
64859
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
64780
64860
|
/* harmony import */ var _annotationState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38296);
|
|
64781
64861
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84901);
|
|
64782
64862
|
/* harmony import */ var _annotationSelection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42351);
|
|
@@ -65122,7 +65202,7 @@ var ToolStyle = __webpack_require__(31862);
|
|
|
65122
65202
|
/* harmony export */ _3: () => (/* binding */ triggerAnnotationAddedForFOR),
|
|
65123
65203
|
/* harmony export */ dZ: () => (/* binding */ triggerAnnotationCompleted)
|
|
65124
65204
|
/* harmony export */ });
|
|
65125
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
65205
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
65126
65206
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
65127
65207
|
/* harmony import */ var _store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52610);
|
|
65128
65208
|
|
|
@@ -65225,8 +65305,8 @@ var annotationState = __webpack_require__(38296);
|
|
|
65225
65305
|
var annotationVisibility = __webpack_require__(21009);
|
|
65226
65306
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js
|
|
65227
65307
|
var FrameOfReferenceSpecificAnnotationManager = __webpack_require__(22581);
|
|
65228
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
65229
|
-
var esm = __webpack_require__(
|
|
65308
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
65309
|
+
var esm = __webpack_require__(50719);
|
|
65230
65310
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/Events.js
|
|
65231
65311
|
var enums_Events = __webpack_require__(28117);
|
|
65232
65312
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/AnnotationGroup.js
|
|
@@ -65451,7 +65531,7 @@ function getSegmentVisibility(toolGroupId, segmentationRepresentationUID, segmen
|
|
|
65451
65531
|
/* harmony export */ jU: () => (/* binding */ getSurfaceActorUID)
|
|
65452
65532
|
/* harmony export */ });
|
|
65453
65533
|
/* unused harmony exports generateCacheId, updatePolyDataCache */
|
|
65454
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
65534
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
65455
65535
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
65456
65536
|
/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21013);
|
|
65457
65537
|
/* harmony import */ var _polySeg_registerPolySegWorker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65807);
|
|
@@ -65717,8 +65797,8 @@ function addSegmentations(segmentationInputArray) {
|
|
|
65717
65797
|
|
|
65718
65798
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/ToolGroupManager/index.js
|
|
65719
65799
|
var ToolGroupManager = __webpack_require__(52610);
|
|
65720
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
65721
|
-
var esm = __webpack_require__(
|
|
65800
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
65801
|
+
var esm = __webpack_require__(50719);
|
|
65722
65802
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/config/segmentationConfig.js
|
|
65723
65803
|
|
|
65724
65804
|
function getGlobalConfig() {
|
|
@@ -67123,7 +67203,7 @@ async function canConvertFromTo(fromRepresentationType, toRepresentationType) {
|
|
|
67123
67203
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
67124
67204
|
/* harmony export */ b: () => (/* binding */ registerPolySegWorker)
|
|
67125
67205
|
/* harmony export */ });
|
|
67126
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
67206
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
67127
67207
|
|
|
67128
67208
|
let registered = false;
|
|
67129
67209
|
function registerPolySegWorker() {
|
|
@@ -67231,8 +67311,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
67231
67311
|
// EXTERNAL MODULE: ../../../node_modules/lodash.clonedeep/index.js
|
|
67232
67312
|
var lodash_clonedeep = __webpack_require__(48463);
|
|
67233
67313
|
var lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep);
|
|
67234
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
67235
|
-
var esm = __webpack_require__(
|
|
67314
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
67315
|
+
var esm = __webpack_require__(50719);
|
|
67236
67316
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 3 modules
|
|
67237
67317
|
var enums = __webpack_require__(84901);
|
|
67238
67318
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/displayTools/Contour/contourConfig.js
|
|
@@ -67674,7 +67754,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
67674
67754
|
/* harmony export */ triggerSegmentationRepresentationModified: () => (/* binding */ triggerSegmentationRepresentationModified),
|
|
67675
67755
|
/* harmony export */ triggerSegmentationRepresentationRemoved: () => (/* binding */ triggerSegmentationRepresentationRemoved)
|
|
67676
67756
|
/* harmony export */ });
|
|
67677
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
67757
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
67678
67758
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
67679
67759
|
/* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30322);
|
|
67680
67760
|
/* harmony import */ var _utilities_segmentation_getUniqueSegmentIndices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(94510);
|
|
@@ -67746,7 +67826,7 @@ function triggerSegmentationDataModified(segmentationId, modifiedSlicesToUse) {
|
|
|
67746
67826
|
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
|
|
67747
67827
|
|
|
67748
67828
|
"use strict";
|
|
67749
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
67829
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
67750
67830
|
|
|
67751
67831
|
class Synchronizer {
|
|
67752
67832
|
constructor(synchronizerId, eventName, eventHandler, options) {
|
|
@@ -67787,6 +67867,9 @@ class Synchronizer {
|
|
|
67787
67867
|
setOptions(viewportId, options = {}) {
|
|
67788
67868
|
this._viewportOptions[viewportId] = options;
|
|
67789
67869
|
}
|
|
67870
|
+
setEnabled(enabled) {
|
|
67871
|
+
this._enabled = enabled;
|
|
67872
|
+
}
|
|
67790
67873
|
getOptions(viewportId) {
|
|
67791
67874
|
return this._viewportOptions[viewportId];
|
|
67792
67875
|
}
|
|
@@ -68065,7 +68148,7 @@ function destroySynchronizer(synchronizerId) {
|
|
|
68065
68148
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68066
68149
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68067
68150
|
/* harmony export */ });
|
|
68068
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
68151
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
68069
68152
|
/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61738);
|
|
68070
68153
|
|
|
68071
68154
|
|
|
@@ -68171,8 +68254,8 @@ function removeTool(ToolClass) {
|
|
|
68171
68254
|
}
|
|
68172
68255
|
/* harmony default export */ const store_addTool = ((/* unused pure expression or super */ null && (addTool)));
|
|
68173
68256
|
|
|
68174
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/index.js +
|
|
68175
|
-
var eventListeners = __webpack_require__(
|
|
68257
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/index.js + 17 modules
|
|
68258
|
+
var eventListeners = __webpack_require__(60878);
|
|
68176
68259
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventDispatchers/index.js + 7 modules
|
|
68177
68260
|
var eventDispatchers = __webpack_require__(44926);
|
|
68178
68261
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/triggerAnnotationRender.js
|
|
@@ -68246,8 +68329,8 @@ function _appendChild(newNode, referenceNode) {
|
|
|
68246
68329
|
referenceNode.querySelector('div.viewport-element').appendChild(newNode);
|
|
68247
68330
|
}
|
|
68248
68331
|
|
|
68249
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
68250
|
-
var esm = __webpack_require__(
|
|
68332
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
68333
|
+
var esm = __webpack_require__(50719);
|
|
68251
68334
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/filterToolsWithAnnotationsForElement.js
|
|
68252
68335
|
var store_filterToolsWithAnnotationsForElement = __webpack_require__(9933);
|
|
68253
68336
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/getToolsWithModesForElement.js
|
|
@@ -68445,7 +68528,7 @@ function resetSvgNodeCache() {
|
|
|
68445
68528
|
|
|
68446
68529
|
"use strict";
|
|
68447
68530
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83636);
|
|
68448
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
68531
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50719);
|
|
68449
68532
|
/* harmony import */ var _utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24592);
|
|
68450
68533
|
/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21013);
|
|
68451
68534
|
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96214);
|
|
@@ -69195,9 +69278,9 @@ BidirectionalTool.toolName = 'Bidirectional';
|
|
|
69195
69278
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
69196
69279
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
69197
69280
|
/* harmony export */ });
|
|
69198
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
69281
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
69199
69282
|
/* harmony import */ var _stateManagement_segmentation_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87682);
|
|
69200
|
-
/* harmony import */ var _PlanarFreehandROITool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
69283
|
+
/* harmony import */ var _PlanarFreehandROITool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78279);
|
|
69201
69284
|
|
|
69202
69285
|
|
|
69203
69286
|
|
|
@@ -69239,7 +69322,7 @@ PlanarFreehandContourSegmentationTool.toolName =
|
|
|
69239
69322
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
69240
69323
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
69241
69324
|
/* harmony export */ });
|
|
69242
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
69325
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
69243
69326
|
/* harmony import */ var _BaseTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22338);
|
|
69244
69327
|
/* harmony import */ var _stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38296);
|
|
69245
69328
|
/* harmony import */ var _utilities_triggerAnnotationRender__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6805);
|
|
@@ -69299,7 +69382,7 @@ class AnnotationDisplayTool extends _BaseTool__WEBPACK_IMPORTED_MODULE_1__/* ["d
|
|
|
69299
69382
|
referencedImageId = targetId.split('videoId:')[1];
|
|
69300
69383
|
}
|
|
69301
69384
|
else {
|
|
69302
|
-
const volumeId =
|
|
69385
|
+
const volumeId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getVolumeId(targetId);
|
|
69303
69386
|
const imageVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
|
|
69304
69387
|
referencedImageId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getClosestImageId(imageVolume, worldPos, viewPlaneNormal);
|
|
69305
69388
|
}
|
|
@@ -69322,7 +69405,7 @@ AnnotationDisplayTool.toolName = 'AnnotationDisplayTool';
|
|
|
69322
69405
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
69323
69406
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
69324
69407
|
/* harmony export */ });
|
|
69325
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
69408
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
69326
69409
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83636);
|
|
69327
69410
|
/* harmony import */ var _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28062);
|
|
69328
69411
|
/* harmony import */ var _stateManagement_annotation_annotationLocking__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48428);
|
|
@@ -69464,7 +69547,7 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
|
|
|
69464
69547
|
}
|
|
69465
69548
|
isSuvScaled(viewport, targetId, imageId) {
|
|
69466
69549
|
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
69467
|
-
const volumeId =
|
|
69550
|
+
const volumeId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getVolumeId(targetId);
|
|
69468
69551
|
const volume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
|
|
69469
69552
|
return volume.scaling?.PT !== undefined;
|
|
69470
69553
|
}
|
|
@@ -69519,7 +69602,7 @@ AnnotationTool.toolName = 'AnnotationTool';
|
|
|
69519
69602
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
69520
69603
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
69521
69604
|
/* harmony export */ });
|
|
69522
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
69605
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
69523
69606
|
/* harmony import */ var _enums_ToolModes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12468);
|
|
69524
69607
|
|
|
69525
69608
|
|
|
@@ -69585,7 +69668,7 @@ class BaseTool {
|
|
|
69585
69668
|
return viewports[0].getImageData();
|
|
69586
69669
|
}
|
|
69587
69670
|
else if (targetId.startsWith('volumeId:')) {
|
|
69588
|
-
const volumeId =
|
|
69671
|
+
const volumeId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getVolumeId(targetId);
|
|
69589
69672
|
const viewports = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getViewportsWithVolumeId(volumeId, renderingEngine.id);
|
|
69590
69673
|
if (!viewports || !viewports.length) {
|
|
69591
69674
|
return;
|
|
@@ -69726,7 +69809,7 @@ function isValidLabelmapConfig(config) {
|
|
|
69726
69809
|
/* unused harmony exports render, removeSegmentationRepresentation */
|
|
69727
69810
|
/* harmony import */ var _kitware_vtk_js_Common_DataModel_PiecewiseFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29853);
|
|
69728
69811
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_ColorTransferFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37452);
|
|
69729
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
69812
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50719);
|
|
69730
69813
|
/* harmony import */ var _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83946);
|
|
69731
69814
|
/* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30322);
|
|
69732
69815
|
/* harmony import */ var _store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(52610);
|
|
@@ -70005,7 +70088,7 @@ async function _addLabelmapToViewport(viewport, labelmapData, segmentationRepres
|
|
|
70005
70088
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
70006
70089
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
70007
70090
|
/* harmony export */ });
|
|
70008
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
70091
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
70009
70092
|
/* harmony import */ var _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83946);
|
|
70010
70093
|
/* harmony import */ var _stateManagement_segmentation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63421);
|
|
70011
70094
|
/* harmony import */ var _stateManagement_segmentation_config_segmentationVisibility__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23308);
|
|
@@ -70140,8 +70223,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
70140
70223
|
|
|
70141
70224
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/index.js
|
|
70142
70225
|
var base = __webpack_require__(96214);
|
|
70143
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
70144
|
-
var esm = __webpack_require__(
|
|
70226
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
70227
|
+
var esm = __webpack_require__(50719);
|
|
70145
70228
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/PanTool.js
|
|
70146
70229
|
|
|
70147
70230
|
|
|
@@ -70339,7 +70422,7 @@ class WindowLevelTool extends base/* BaseTool */.oS {
|
|
|
70339
70422
|
const properties = viewport.getProperties();
|
|
70340
70423
|
if (viewport instanceof esm.VolumeViewport) {
|
|
70341
70424
|
const targetId = this.getTargetId(viewport);
|
|
70342
|
-
volumeId =
|
|
70425
|
+
volumeId = esm.utilities.getVolumeId(targetId);
|
|
70343
70426
|
viewportsContainingVolumeUID = esm.utilities.getViewportsWithVolumeId(volumeId, renderingEngine.id);
|
|
70344
70427
|
({ lower, upper } = properties.voiRange);
|
|
70345
70428
|
const volume = esm.cache.getVolume(volumeId);
|
|
@@ -70625,7 +70708,7 @@ class StackScrollMouseWheelTool extends base/* BaseTool */.oS {
|
|
|
70625
70708
|
const { viewport } = (0,esm.getEnabledElement)(element);
|
|
70626
70709
|
const delta = direction * (invert ? -1 : 1);
|
|
70627
70710
|
const targetId = this.getTargetId(viewport);
|
|
70628
|
-
const volumeId =
|
|
70711
|
+
const volumeId = esm.utilities.getVolumeId(targetId);
|
|
70629
70712
|
(0,utilities_scroll/* default */.A)(viewport, {
|
|
70630
70713
|
delta,
|
|
70631
70714
|
debounceLoading: this.configuration.debounceIfNotLoaded,
|
|
@@ -70886,6 +70969,7 @@ var ToolGroupManager = __webpack_require__(52610);
|
|
|
70886
70969
|
|
|
70887
70970
|
|
|
70888
70971
|
|
|
70972
|
+
|
|
70889
70973
|
class MIPJumpToClickTool extends base/* BaseTool */.oS {
|
|
70890
70974
|
constructor(toolProps = {}, defaultToolProps = {
|
|
70891
70975
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
@@ -70903,7 +70987,7 @@ class MIPJumpToClickTool extends base/* BaseTool */.oS {
|
|
|
70903
70987
|
if (!targetId.startsWith('volumeId')) {
|
|
70904
70988
|
throw new Error(`MIPJumpToClickTool: targetId is not a volumeId, you should only use MIPJumpToClickTool with a volumeId as the targetId`);
|
|
70905
70989
|
}
|
|
70906
|
-
const volumeId =
|
|
70990
|
+
const volumeId = esm.utilities.getVolumeId(targetId);
|
|
70907
70991
|
let maxIntensity = -Infinity;
|
|
70908
70992
|
const maxFn = (intensity, point) => {
|
|
70909
70993
|
if (intensity > maxIntensity) {
|
|
@@ -71062,6 +71146,20 @@ class CrosshairsTool extends base/* AnnotationTool */.EC {
|
|
|
71062
71146
|
const viewports = (0,ToolGroupManager.getToolGroup)(this.toolGroupId).viewportsInfo;
|
|
71063
71147
|
return viewports;
|
|
71064
71148
|
};
|
|
71149
|
+
this.resetCrosshairs = () => {
|
|
71150
|
+
const viewportsInfo = this._getViewportsInfo();
|
|
71151
|
+
viewportsInfo.forEach(({ viewportId, renderingEngineId }) => {
|
|
71152
|
+
const enabledElement = (0,esm.getEnabledElementByIds)(viewportId, renderingEngineId);
|
|
71153
|
+
const { viewport } = enabledElement;
|
|
71154
|
+
const { element } = viewport;
|
|
71155
|
+
let annotations = this._getAnnotations(enabledElement);
|
|
71156
|
+
annotations = this.filterInteractableAnnotationsForElement(element, annotations);
|
|
71157
|
+
if (annotations.length) {
|
|
71158
|
+
(0,annotationState.removeAnnotation)(annotations[0].annotationUID);
|
|
71159
|
+
}
|
|
71160
|
+
});
|
|
71161
|
+
this.computeToolCenter(viewportsInfo);
|
|
71162
|
+
};
|
|
71065
71163
|
this.computeToolCenter = (viewportsInfo) => {
|
|
71066
71164
|
if (!viewportsInfo.length || viewportsInfo.length === 1) {
|
|
71067
71165
|
throw new Error('For crosshairs to operate, at least two viewports must be given.');
|
|
@@ -73012,6 +73110,7 @@ var AnnotationDisplayTool = __webpack_require__(28062);
|
|
|
73012
73110
|
|
|
73013
73111
|
|
|
73014
73112
|
|
|
73113
|
+
|
|
73015
73114
|
const { EPSILON: ReferenceLinesTool_EPSILON } = esm.CONSTANTS;
|
|
73016
73115
|
class ReferenceLines extends AnnotationDisplayTool/* default */.A {
|
|
73017
73116
|
constructor(toolProps = {}, defaultToolProps = {
|
|
@@ -73032,7 +73131,7 @@ class ReferenceLines extends AnnotationDisplayTool/* default */.A {
|
|
|
73032
73131
|
let viewports = renderingEngine.getViewports();
|
|
73033
73132
|
viewports = (0,viewportFilters.filterViewportsWithToolEnabled)(viewports, this.getToolName());
|
|
73034
73133
|
const sourceViewport = renderingEngine.getViewport(this.configuration.sourceViewportId);
|
|
73035
|
-
if (!sourceViewport
|
|
73134
|
+
if (!sourceViewport?.getImageData()) {
|
|
73036
73135
|
return;
|
|
73037
73136
|
}
|
|
73038
73137
|
const { element } = sourceViewport;
|
|
@@ -73065,7 +73164,7 @@ class ReferenceLines extends AnnotationDisplayTool/* default */.A {
|
|
|
73065
73164
|
sourceViewportCanvasCornersInWorld;
|
|
73066
73165
|
}
|
|
73067
73166
|
this.editData = {
|
|
73068
|
-
sourceViewport,
|
|
73167
|
+
sourceViewportId: sourceViewport.id,
|
|
73069
73168
|
renderingEngine,
|
|
73070
73169
|
annotation,
|
|
73071
73170
|
};
|
|
@@ -73076,13 +73175,17 @@ class ReferenceLines extends AnnotationDisplayTool/* default */.A {
|
|
|
73076
73175
|
this.onSetToolEnabled = () => {
|
|
73077
73176
|
this._init();
|
|
73078
73177
|
};
|
|
73178
|
+
this.onSetToolConfiguration = () => {
|
|
73179
|
+
this._init();
|
|
73180
|
+
};
|
|
73079
73181
|
this.onCameraModified = (evt) => {
|
|
73080
73182
|
this._init();
|
|
73081
73183
|
};
|
|
73082
73184
|
this.renderAnnotation = (enabledElement, svgDrawingHelper) => {
|
|
73083
73185
|
const { viewport: targetViewport } = enabledElement;
|
|
73084
|
-
const { annotation,
|
|
73186
|
+
const { annotation, sourceViewportId } = this.editData;
|
|
73085
73187
|
let renderStatus = false;
|
|
73188
|
+
const { viewport: sourceViewport } = (0,esm.getEnabledElementByViewportId)(sourceViewportId) || {};
|
|
73086
73189
|
if (!sourceViewport) {
|
|
73087
73190
|
return renderStatus;
|
|
73088
73191
|
}
|
|
@@ -75722,10 +75825,10 @@ class RectangleROITool extends base/* AnnotationTool */.EC {
|
|
|
75722
75825
|
cachedStats[targetId] = {
|
|
75723
75826
|
Modality: metadata.Modality,
|
|
75724
75827
|
area,
|
|
75725
|
-
mean: stats
|
|
75726
|
-
stdDev: stats
|
|
75727
|
-
max: stats
|
|
75728
|
-
statsArray: stats,
|
|
75828
|
+
mean: stats.mean?.value,
|
|
75829
|
+
stdDev: stats.stdDev?.value,
|
|
75830
|
+
max: stats.max?.value,
|
|
75831
|
+
statsArray: stats.array,
|
|
75729
75832
|
pointsInShape: pointsInShape,
|
|
75730
75833
|
areaUnit: (0,getCalibratedUnits/* getCalibratedAreaUnits */.Ss)(null, image),
|
|
75731
75834
|
modalityUnit,
|
|
@@ -76375,11 +76478,11 @@ class EllipticalROITool extends base/* AnnotationTool */.EC {
|
|
|
76375
76478
|
cachedStats[targetId] = {
|
|
76376
76479
|
Modality: metadata.Modality,
|
|
76377
76480
|
area,
|
|
76378
|
-
mean: stats
|
|
76379
|
-
max: stats
|
|
76380
|
-
stdDev: stats
|
|
76381
|
-
statsArray: stats,
|
|
76382
|
-
pointsInShape
|
|
76481
|
+
mean: stats.mean?.value,
|
|
76482
|
+
max: stats.max?.value,
|
|
76483
|
+
stdDev: stats.stdDev?.value,
|
|
76484
|
+
statsArray: stats.array,
|
|
76485
|
+
pointsInShape,
|
|
76383
76486
|
isEmptyArea,
|
|
76384
76487
|
areaUnit: (0,getCalibratedUnits/* getCalibratedAreaUnits */.Ss)(null, image),
|
|
76385
76488
|
modalityUnit,
|
|
@@ -76976,10 +77079,10 @@ class CircleROITool extends base/* AnnotationTool */.EC {
|
|
|
76976
77079
|
cachedStats[targetId] = {
|
|
76977
77080
|
Modality: metadata.Modality,
|
|
76978
77081
|
area,
|
|
76979
|
-
mean: stats
|
|
76980
|
-
max: stats
|
|
76981
|
-
stdDev: stats
|
|
76982
|
-
statsArray: stats,
|
|
77082
|
+
mean: stats.mean?.value,
|
|
77083
|
+
max: stats.max?.value,
|
|
77084
|
+
stdDev: stats.stdDev?.value,
|
|
77085
|
+
statsArray: stats.array,
|
|
76983
77086
|
pointsInShape: pointsInShape,
|
|
76984
77087
|
isEmptyArea,
|
|
76985
77088
|
areaUnit: (0,getCalibratedUnits/* getCalibratedAreaUnits */.Ss)(null, image),
|
|
@@ -77573,10 +77676,12 @@ class SplineROITool extends ContourSegmentationBaseTool/* default */.A {
|
|
|
77573
77676
|
const splineType = annotation.data.spline.type;
|
|
77574
77677
|
const splineConfig = this._getSplineConfig(splineType);
|
|
77575
77678
|
const spline = annotation.data.spline.instance;
|
|
77576
|
-
const
|
|
77577
|
-
|
|
77578
|
-
|
|
77579
|
-
|
|
77679
|
+
const childAnnotations = (0,annotationState.getChildAnnotations)(annotation);
|
|
77680
|
+
const missingAnnotation = childAnnotations.findIndex((it) => !it);
|
|
77681
|
+
if (missingAnnotation !== -1) {
|
|
77682
|
+
throw new Error(`Can't find annotation for child ${annotation.childAnnotationUIDs.join()}`);
|
|
77683
|
+
}
|
|
77684
|
+
const splineAnnotationsGroup = [annotation, ...childAnnotations].filter((annotation) => this._isSplineROIAnnotation(annotation));
|
|
77580
77685
|
splineAnnotationsGroup.forEach((annotation) => {
|
|
77581
77686
|
const spline = this._updateSplineInstance(element, annotation);
|
|
77582
77687
|
const splinePolylineCanvas = spline.getPolylinePoints();
|
|
@@ -77775,8 +77880,8 @@ class SplineContourSegmentationTool extends annotation_SplineROITool {
|
|
|
77775
77880
|
SplineContourSegmentationTool.toolName = 'SplineContourSegmentationTool';
|
|
77776
77881
|
/* harmony default export */ const annotation_SplineContourSegmentationTool = ((/* unused pure expression or super */ null && (SplineContourSegmentationTool)));
|
|
77777
77882
|
|
|
77778
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/PlanarFreehandROITool.js +
|
|
77779
|
-
var PlanarFreehandROITool = __webpack_require__(
|
|
77883
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/PlanarFreehandROITool.js + 8 modules
|
|
77884
|
+
var PlanarFreehandROITool = __webpack_require__(78279);
|
|
77780
77885
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js
|
|
77781
77886
|
var PlanarFreehandContourSegmentationTool = __webpack_require__(20070);
|
|
77782
77887
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/findHandlePolylineIndex.js
|
|
@@ -79250,6 +79355,9 @@ function AngleTool_defaultGetTextLines(data, targetId) {
|
|
|
79250
79355
|
if (angle === undefined) {
|
|
79251
79356
|
return;
|
|
79252
79357
|
}
|
|
79358
|
+
if (isNaN(angle)) {
|
|
79359
|
+
return [`${angle}`];
|
|
79360
|
+
}
|
|
79253
79361
|
const textLines = [`${(0,utilities.roundNumber)(angle)} ${String.fromCharCode(176)}`];
|
|
79254
79362
|
return textLines;
|
|
79255
79363
|
}
|
|
@@ -81381,7 +81489,7 @@ class RectangleROIThresholdTool extends annotation_RectangleROITool {
|
|
|
81381
81489
|
referencedImageId = targetId.split('imageId:')[1];
|
|
81382
81490
|
}
|
|
81383
81491
|
else {
|
|
81384
|
-
volumeId =
|
|
81492
|
+
volumeId = esm.utilities.getVolumeId(targetId);
|
|
81385
81493
|
const imageVolume = esm.cache.getVolume(volumeId);
|
|
81386
81494
|
referencedImageId = esm.utilities.getClosestImageId(imageVolume, worldPos, viewPlaneNormal);
|
|
81387
81495
|
}
|
|
@@ -81532,7 +81640,7 @@ class RectangleROIStartEndThresholdTool extends annotation_RectangleROITool {
|
|
|
81532
81640
|
}
|
|
81533
81641
|
else {
|
|
81534
81642
|
const targetId = this.getTargetId(viewport);
|
|
81535
|
-
volumeId =
|
|
81643
|
+
volumeId = esm.utilities.getVolumeId(targetId);
|
|
81536
81644
|
imageVolume = esm.cache.getVolume(volumeId);
|
|
81537
81645
|
referencedImageId = esm.utilities.getClosestImageId(imageVolume, worldPos, viewPlaneNormal);
|
|
81538
81646
|
}
|
|
@@ -81771,13 +81879,13 @@ class RectangleROIStartEndThresholdTool extends annotation_RectangleROITool {
|
|
|
81771
81879
|
}
|
|
81772
81880
|
_calculateCachedStatsTool(annotation, enabledElement) {
|
|
81773
81881
|
const data = annotation.data;
|
|
81774
|
-
const {
|
|
81882
|
+
const { viewport } = enabledElement;
|
|
81775
81883
|
const { cachedStats } = data;
|
|
81776
81884
|
const targetId = this.getTargetId(viewport);
|
|
81777
81885
|
const imageVolume = esm.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
81778
81886
|
this._computeProjectionPoints(annotation, imageVolume);
|
|
81779
81887
|
annotation.invalidated = false;
|
|
81780
|
-
(0,state/* triggerAnnotationModified */.XF)(annotation, element);
|
|
81888
|
+
(0,state/* triggerAnnotationModified */.XF)(annotation, viewport.element);
|
|
81781
81889
|
return cachedStats;
|
|
81782
81890
|
}
|
|
81783
81891
|
_getEndSliceIndex(imageVolume, worldPos, spacingInNormal, viewPlaneNormal) {
|
|
@@ -81835,7 +81943,6 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
81835
81943
|
const eventDetail = evt.detail;
|
|
81836
81944
|
const { currentPoints, element } = eventDetail;
|
|
81837
81945
|
const worldPos = currentPoints.world;
|
|
81838
|
-
const canvasPos = currentPoints.canvas;
|
|
81839
81946
|
const enabledElement = (0,esm.getEnabledElement)(element);
|
|
81840
81947
|
const { viewport, renderingEngine } = enabledElement;
|
|
81841
81948
|
this.isDrawing = true;
|
|
@@ -81847,7 +81954,7 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
81847
81954
|
}
|
|
81848
81955
|
else {
|
|
81849
81956
|
const targetId = this.getTargetId(viewport);
|
|
81850
|
-
volumeId =
|
|
81957
|
+
volumeId = esm.utilities.getVolumeId(targetId);
|
|
81851
81958
|
imageVolume = esm.cache.getVolume(volumeId);
|
|
81852
81959
|
referencedImageId = esm.utilities.getClosestImageId(imageVolume, worldPos, viewPlaneNormal);
|
|
81853
81960
|
}
|
|
@@ -82793,7 +82900,7 @@ SegmentSelectTool.toolName = 'SegmentSelectTool';
|
|
|
82793
82900
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
82794
82901
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
82795
82902
|
/* harmony export */ });
|
|
82796
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
82903
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
82797
82904
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83636);
|
|
82798
82905
|
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96214);
|
|
82799
82906
|
/* harmony import */ var _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61604);
|
|
@@ -82834,6 +82941,7 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
|
|
|
82834
82941
|
strategySpecificConfiguration: {
|
|
82835
82942
|
THRESHOLD: {
|
|
82836
82943
|
threshold: [-150, -70],
|
|
82944
|
+
dynamicRadius: 0,
|
|
82837
82945
|
},
|
|
82838
82946
|
},
|
|
82839
82947
|
defaultStrategy: 'FILL_INSIDE_CIRCLE',
|
|
@@ -82847,7 +82955,6 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
|
|
|
82847
82955
|
dragMoveDistance: 4,
|
|
82848
82956
|
dragTimeMs: 500,
|
|
82849
82957
|
},
|
|
82850
|
-
centerRadius: 2,
|
|
82851
82958
|
actions: {
|
|
82852
82959
|
[_enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.AcceptPreview]: {
|
|
82853
82960
|
method: _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.AcceptPreview,
|
|
@@ -83155,6 +83262,14 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
|
|
|
83155
83262
|
leftCursorInWorld,
|
|
83156
83263
|
rightCursorInWorld,
|
|
83157
83264
|
];
|
|
83265
|
+
const activeStrategy = this.configuration.activeStrategy;
|
|
83266
|
+
const strategy = this.configuration.strategies[activeStrategy];
|
|
83267
|
+
if (typeof strategy.computeInnerCircleRadius === 'function') {
|
|
83268
|
+
strategy.computeInnerCircleRadius({
|
|
83269
|
+
configuration: this.configuration,
|
|
83270
|
+
viewport,
|
|
83271
|
+
});
|
|
83272
|
+
}
|
|
83158
83273
|
data.invalidated = false;
|
|
83159
83274
|
}
|
|
83160
83275
|
rejectPreview(element = this._previewData.element) {
|
|
@@ -83223,10 +83338,14 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
|
|
|
83223
83338
|
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_8__.drawCircle)(svgDrawingHelper, annotationUID, circleUID, center, radius, {
|
|
83224
83339
|
color,
|
|
83225
83340
|
});
|
|
83226
|
-
const
|
|
83227
|
-
|
|
83341
|
+
const activeStrategy = this.configuration.activeStrategy;
|
|
83342
|
+
const { dynamicRadiusInCanvas } = this.configuration
|
|
83343
|
+
.strategySpecificConfiguration[activeStrategy] || {
|
|
83344
|
+
dynamicRadiusInCanvas: 0,
|
|
83345
|
+
};
|
|
83346
|
+
if (dynamicRadiusInCanvas) {
|
|
83228
83347
|
const circleUID1 = '1';
|
|
83229
|
-
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_8__.drawCircle)(svgDrawingHelper, annotationUID, circleUID1, center,
|
|
83348
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_8__.drawCircle)(svgDrawingHelper, annotationUID, circleUID1, center, dynamicRadiusInCanvas, {
|
|
83230
83349
|
color,
|
|
83231
83350
|
});
|
|
83232
83351
|
}
|
|
@@ -83245,7 +83364,7 @@ BrushTool.toolName = 'Brush';
|
|
|
83245
83364
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
83246
83365
|
/* harmony export */ r: () => (/* binding */ isVolumeSegmentation)
|
|
83247
83366
|
/* harmony export */ });
|
|
83248
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
83367
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
83249
83368
|
|
|
83250
83369
|
function isVolumeSegmentation(operationData, viewport) {
|
|
83251
83370
|
const { imageIdReferenceMap } = operationData;
|
|
@@ -83309,7 +83428,7 @@ function extend2DBoundingBoxInViewAxis(boundsIJK, numSlicesToProject) {
|
|
|
83309
83428
|
/* harmony export */ C: () => (/* binding */ getBoundingBoxAroundShapeWorld),
|
|
83310
83429
|
/* harmony export */ g: () => (/* binding */ getBoundingBoxAroundShapeIJK)
|
|
83311
83430
|
/* harmony export */ });
|
|
83312
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
83431
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
83313
83432
|
|
|
83314
83433
|
const { EPSILON } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.CONSTANTS;
|
|
83315
83434
|
function calculateBoundingBox(points, dimensions, isWorld = false) {
|
|
@@ -83413,6 +83532,9 @@ function clipToBox(point, box) {
|
|
|
83413
83532
|
/* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30322);
|
|
83414
83533
|
|
|
83415
83534
|
function addContourSegmentationAnnotation(annotation) {
|
|
83535
|
+
if (annotation.parentAnnotationUID) {
|
|
83536
|
+
return;
|
|
83537
|
+
}
|
|
83416
83538
|
if (!annotation.data.segmentation) {
|
|
83417
83539
|
throw new Error('addContourSegmentationAnnotation: annotation does not have a segmentation data');
|
|
83418
83540
|
}
|
|
@@ -83498,7 +83620,7 @@ function removeContourSegmentationAnnotation(annotation) {
|
|
|
83498
83620
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
83499
83621
|
/* harmony export */ A: () => (/* binding */ findHandlePolylineIndex)
|
|
83500
83622
|
/* harmony export */ });
|
|
83501
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
83623
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
83502
83624
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83636);
|
|
83503
83625
|
|
|
83504
83626
|
|
|
@@ -83753,8 +83875,8 @@ function processContourHoles(contours, points, useXOR = true) {
|
|
|
83753
83875
|
}
|
|
83754
83876
|
/* harmony default export */ const detectContourHoles = ({ processContourHoles });
|
|
83755
83877
|
|
|
83756
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
83757
|
-
var dist_esm = __webpack_require__(
|
|
83878
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
83879
|
+
var dist_esm = __webpack_require__(50719);
|
|
83758
83880
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Filters/General/ImageMarchingSquares.js
|
|
83759
83881
|
var ImageMarchingSquares = __webpack_require__(52754);
|
|
83760
83882
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/DataArray.js
|
|
@@ -83994,7 +84116,7 @@ var findHandlePolylineIndex = __webpack_require__(84045);
|
|
|
83994
84116
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
83995
84117
|
/* harmony export */ A: () => (/* binding */ updateContourPolyline)
|
|
83996
84118
|
/* harmony export */ });
|
|
83997
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
84119
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
83998
84120
|
/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39956);
|
|
83999
84121
|
/* harmony import */ var _stateManagement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95778);
|
|
84000
84122
|
|
|
@@ -84222,7 +84344,7 @@ function _determineCorners(canvasPoints) {
|
|
|
84222
84344
|
/* harmony export */ Xw: () => (/* binding */ getCalibratedProbeUnitsAndValue),
|
|
84223
84345
|
/* harmony export */ yH: () => (/* binding */ getCalibratedScale)
|
|
84224
84346
|
/* harmony export */ });
|
|
84225
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
84347
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
84226
84348
|
|
|
84227
84349
|
const { CalibrationTypes } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.Enums;
|
|
84228
84350
|
const PIXEL_UNITS = 'px';
|
|
@@ -84324,6 +84446,10 @@ const getCalibratedLengthUnitsAndScale = (image, handles) => {
|
|
|
84324
84446
|
else if (calibration.scale) {
|
|
84325
84447
|
scale = calibration.scale;
|
|
84326
84448
|
}
|
|
84449
|
+
const types = [CalibrationTypes.ERMF, CalibrationTypes.USER, CalibrationTypes.ERROR, CalibrationTypes.PROJECTION];
|
|
84450
|
+
if (types.includes(calibration?.type)) {
|
|
84451
|
+
calibrationType = calibration.type;
|
|
84452
|
+
}
|
|
84327
84453
|
return {
|
|
84328
84454
|
units: units + (calibrationType ? ` ${calibrationType}` : ''),
|
|
84329
84455
|
areaUnits: areaUnits + (calibrationType ? ` ${calibrationType}` : ''),
|
|
@@ -84386,7 +84512,7 @@ const getCalibratedAspect = (image) => image.calibration?.aspect || 1;
|
|
|
84386
84512
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
84387
84513
|
/* harmony export */ R: () => (/* binding */ getSphereBoundsInfo)
|
|
84388
84514
|
/* harmony export */ });
|
|
84389
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
84515
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
84390
84516
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83636);
|
|
84391
84517
|
/* harmony import */ var _boundingBox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15306);
|
|
84392
84518
|
|
|
@@ -84458,7 +84584,7 @@ function getViewportForAnnotation(annotation) {
|
|
|
84458
84584
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
84459
84585
|
/* harmony export */ A: () => (/* binding */ getViewportsForAnnotation)
|
|
84460
84586
|
/* harmony export */ });
|
|
84461
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
84587
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
84462
84588
|
|
|
84463
84589
|
const { isEqual } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities;
|
|
84464
84590
|
function getViewportsForAnnotation(annotation) {
|
|
@@ -84511,8 +84637,8 @@ __webpack_require__.d(utils_namespaceObject, {
|
|
|
84511
84637
|
getPolyDataPoints: () => (getPolyDataPoints)
|
|
84512
84638
|
});
|
|
84513
84639
|
|
|
84514
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
84515
|
-
var esm = __webpack_require__(
|
|
84640
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
84641
|
+
var esm = __webpack_require__(50719);
|
|
84516
84642
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
84517
84643
|
var annotationState = __webpack_require__(38296);
|
|
84518
84644
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/ToolGroupManager/index.js
|
|
@@ -84847,6 +84973,9 @@ function state_getToolState(element) {
|
|
|
84847
84973
|
const { viewportId } = enabledElement;
|
|
84848
84974
|
return state[viewportId];
|
|
84849
84975
|
}
|
|
84976
|
+
function state_getToolStateByViewportId(viewportId) {
|
|
84977
|
+
return state[viewportId];
|
|
84978
|
+
}
|
|
84850
84979
|
|
|
84851
84980
|
|
|
84852
84981
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/cine/playClip.js
|
|
@@ -84895,7 +85024,10 @@ function playClip(element, playClipOptions) {
|
|
|
84895
85024
|
addToolState(element, playClipData);
|
|
84896
85025
|
}
|
|
84897
85026
|
else {
|
|
84898
|
-
_stopClip(element,
|
|
85027
|
+
_stopClip(element, {
|
|
85028
|
+
stopDynamicCine: !isDynamicCinePlaying,
|
|
85029
|
+
viewportId: viewport.id,
|
|
85030
|
+
});
|
|
84899
85031
|
}
|
|
84900
85032
|
playClipData.dynamicCineEnabled = playClipOptions.dynamicCineEnabled;
|
|
84901
85033
|
if (playClipOptions.framesPerSecond < 0 ||
|
|
@@ -84917,7 +85049,10 @@ function playClip(element, playClipOptions) {
|
|
|
84917
85049
|
let newStepIndex = currentStepIndex + (playClipData.reverse ? -1 : 1);
|
|
84918
85050
|
const newStepIndexOutOfRange = newStepIndex < 0 || newStepIndex >= numScrollSteps;
|
|
84919
85051
|
if (!loop && newStepIndexOutOfRange) {
|
|
84920
|
-
_stopClip(element,
|
|
85052
|
+
_stopClip(element, {
|
|
85053
|
+
stopDynamicCine: !isDynamicCinePlaying,
|
|
85054
|
+
viewportId: viewport.id,
|
|
85055
|
+
});
|
|
84921
85056
|
const eventDetail = { element };
|
|
84922
85057
|
triggerEvent(element, CINE_EVENTS.CLIP_STOPPED, eventDetail);
|
|
84923
85058
|
return;
|
|
@@ -84954,20 +85089,33 @@ function playClip(element, playClipOptions) {
|
|
|
84954
85089
|
};
|
|
84955
85090
|
triggerEvent(element, CINE_EVENTS.CLIP_STARTED, eventDetail);
|
|
84956
85091
|
}
|
|
84957
|
-
function stopClip(element) {
|
|
84958
|
-
_stopClip(element,
|
|
85092
|
+
function stopClip(element, viewportId) {
|
|
85093
|
+
_stopClip(element, {
|
|
85094
|
+
stopDynamicCine: true,
|
|
85095
|
+
viewportId,
|
|
85096
|
+
});
|
|
84959
85097
|
}
|
|
84960
|
-
function _stopClip(element, stopDynamicCine) {
|
|
85098
|
+
function _stopClip(element, options = { stopDynamicCine: true, viewportId: undefined }) {
|
|
85099
|
+
const { stopDynamicCine, viewportId } = options;
|
|
84961
85100
|
const enabledElement = getEnabledElement(element);
|
|
85101
|
+
let toolState;
|
|
84962
85102
|
if (!enabledElement) {
|
|
84963
|
-
|
|
85103
|
+
if (viewportId) {
|
|
85104
|
+
toolState = getToolStateByViewportId(viewportId);
|
|
85105
|
+
}
|
|
85106
|
+
else {
|
|
85107
|
+
return;
|
|
85108
|
+
}
|
|
84964
85109
|
}
|
|
84965
|
-
|
|
84966
|
-
|
|
84967
|
-
|
|
84968
|
-
|
|
85110
|
+
else {
|
|
85111
|
+
const { viewport } = enabledElement;
|
|
85112
|
+
toolState = getToolState(viewport.element);
|
|
85113
|
+
}
|
|
85114
|
+
if (toolState) {
|
|
85115
|
+
_stopClipWithData(toolState);
|
|
84969
85116
|
}
|
|
84970
|
-
if (stopDynamicCine &&
|
|
85117
|
+
if (stopDynamicCine &&
|
|
85118
|
+
enabledElement?.viewport instanceof BaseVolumeViewport) {
|
|
84971
85119
|
_stopDynamicVolumeCine(element);
|
|
84972
85120
|
}
|
|
84973
85121
|
}
|
|
@@ -86274,22 +86422,45 @@ class BasicStatsCalculator extends basic_Calculator {
|
|
|
86274
86422
|
const mean = this.sum.map((sum) => sum / this.count);
|
|
86275
86423
|
const stdDev = this.squaredDiffSum.map((squaredDiffSum) => Math.sqrt(squaredDiffSum / this.count));
|
|
86276
86424
|
const stdDevWithSumSquare = this.sumSquares.map((it, idx) => Math.sqrt(this.sumSquares[idx] / this.count - mean[idx] ** 2));
|
|
86277
|
-
const
|
|
86425
|
+
const named = {
|
|
86426
|
+
max: {
|
|
86427
|
+
name: 'max',
|
|
86428
|
+
label: 'Max Pixel',
|
|
86429
|
+
value: singleArrayAsNumber(this.max),
|
|
86430
|
+
unit: null,
|
|
86431
|
+
},
|
|
86432
|
+
mean: {
|
|
86433
|
+
name: 'mean',
|
|
86434
|
+
label: 'Mean Pixel',
|
|
86435
|
+
value: singleArrayAsNumber(mean),
|
|
86436
|
+
unit: null,
|
|
86437
|
+
},
|
|
86438
|
+
stdDev: {
|
|
86439
|
+
name: 'stdDev',
|
|
86440
|
+
label: 'Standard Deviation',
|
|
86441
|
+
value: singleArrayAsNumber(stdDev),
|
|
86442
|
+
unit: null,
|
|
86443
|
+
},
|
|
86444
|
+
stdDevWithSumSquare: {
|
|
86445
|
+
name: 'stdDevWithSumSquare',
|
|
86446
|
+
value: singleArrayAsNumber(stdDevWithSumSquare),
|
|
86447
|
+
unit: null,
|
|
86448
|
+
},
|
|
86449
|
+
count: {
|
|
86450
|
+
name: 'count',
|
|
86451
|
+
label: 'Pixel Count',
|
|
86452
|
+
value: this.count,
|
|
86453
|
+
unit: null,
|
|
86454
|
+
},
|
|
86455
|
+
array: [],
|
|
86456
|
+
};
|
|
86457
|
+
named.array.push(named.max, named.mean, named.stdDev, named.stdDevWithSumSquare, named.count);
|
|
86278
86458
|
this.max = [-Infinity];
|
|
86279
86459
|
this.sum = [0];
|
|
86280
86460
|
this.sumSquares = [0];
|
|
86281
86461
|
this.squaredDiffSum = [0];
|
|
86282
86462
|
this.count = 0;
|
|
86283
|
-
return
|
|
86284
|
-
{ name: 'max', value: singleArrayAsNumber(currentMax), unit: null },
|
|
86285
|
-
{ name: 'mean', value: singleArrayAsNumber(mean), unit: null },
|
|
86286
|
-
{ name: 'stdDev', value: singleArrayAsNumber(stdDev), unit: null },
|
|
86287
|
-
{
|
|
86288
|
-
name: 'stdDevWithSumSquare',
|
|
86289
|
-
value: singleArrayAsNumber(stdDevWithSumSquare),
|
|
86290
|
-
unit: null,
|
|
86291
|
-
},
|
|
86292
|
-
];
|
|
86463
|
+
return named;
|
|
86293
86464
|
}; }
|
|
86294
86465
|
}
|
|
86295
86466
|
function singleArrayAsNumber(val) {
|
|
@@ -87310,8 +87481,8 @@ function getClosestLineSegmentIntersection(points, p1, q1, closed = true) {
|
|
|
87310
87481
|
};
|
|
87311
87482
|
}
|
|
87312
87483
|
|
|
87313
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
87314
|
-
var dist_esm = __webpack_require__(
|
|
87484
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
87485
|
+
var dist_esm = __webpack_require__(50719);
|
|
87315
87486
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js
|
|
87316
87487
|
|
|
87317
87488
|
|
|
@@ -87883,7 +88054,7 @@ function pointToString(point, decimals = 5) {
|
|
|
87883
88054
|
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
|
|
87884
88055
|
|
|
87885
88056
|
"use strict";
|
|
87886
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
88057
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
87887
88058
|
/* harmony import */ var _boundingBox_getBoundingBoxAroundShape__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14471);
|
|
87888
88059
|
/* harmony import */ var _boundingBox_extend2DBoundingBoxInViewAxis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42290);
|
|
87889
88060
|
|
|
@@ -87942,7 +88113,7 @@ function getBoundsIJKFromRectangleAnnotations(annotations, referenceVolume, opti
|
|
|
87942
88113
|
/* harmony export */ l: () => (/* binding */ isAxisAlignedRectangle)
|
|
87943
88114
|
/* harmony export */ });
|
|
87944
88115
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83636);
|
|
87945
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
88116
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50719);
|
|
87946
88117
|
|
|
87947
88118
|
|
|
87948
88119
|
const { isEqual } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities;
|
|
@@ -87977,7 +88148,7 @@ function calculateAnglesWithAxes(vec, axes) {
|
|
|
87977
88148
|
/* harmony export */ A: () => (/* binding */ scroll)
|
|
87978
88149
|
/* harmony export */ });
|
|
87979
88150
|
/* unused harmony export scrollVolume */
|
|
87980
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
88151
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
87981
88152
|
|
|
87982
88153
|
function scroll(viewport, options) {
|
|
87983
88154
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(viewport.element);
|
|
@@ -88046,10 +88217,10 @@ function scrollVolume(viewport, volumeId, delta, scrollSlabs = false) {
|
|
|
88046
88217
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
88047
88218
|
/* harmony export */ A: () => (/* binding */ InterpolationManager)
|
|
88048
88219
|
/* harmony export */ });
|
|
88049
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
88220
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
88050
88221
|
/* harmony import */ var _stateManagement_annotation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45200);
|
|
88051
88222
|
/* harmony import */ var _contours_interpolation_getInterpolationDataCollection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23237);
|
|
88052
|
-
/* harmony import */ var _contours_interpolation_interpolate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
88223
|
+
/* harmony import */ var _contours_interpolation_interpolate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7727);
|
|
88053
88224
|
/* harmony import */ var _deleteRelatedAnnotations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20629);
|
|
88054
88225
|
/* harmony import */ var _enums_ChangeTypes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42111);
|
|
88055
88226
|
/* harmony import */ var _getViewportForAnnotation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(39490);
|
|
@@ -88377,7 +88548,7 @@ function lpad(string, character, length) {
|
|
|
88377
88548
|
/* harmony export */ OX: () => (/* binding */ getUniqueSegmentIndices)
|
|
88378
88549
|
/* harmony export */ });
|
|
88379
88550
|
/* unused harmony export setSegmentationClean */
|
|
88380
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
88551
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
88381
88552
|
/* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30322);
|
|
88382
88553
|
/* harmony import */ var _tools_segmentation_strategies_utils_stackVolumeCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16124);
|
|
88383
88554
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84901);
|
|
@@ -88623,8 +88794,8 @@ function _validateAnnotations(annotations) {
|
|
|
88623
88794
|
}
|
|
88624
88795
|
/* harmony default export */ const segmentation_rectangleROIThresholdVolumeByRange = ((/* unused pure expression or super */ null && (rectangleROIThresholdVolumeByRange)));
|
|
88625
88796
|
|
|
88626
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
88627
|
-
var esm = __webpack_require__(
|
|
88797
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
88798
|
+
var esm = __webpack_require__(50719);
|
|
88628
88799
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js
|
|
88629
88800
|
|
|
88630
88801
|
function createMergedLabelmapForIndex(labelmaps, segmentIndex = 1, volumeId = 'mergedLabelmap') {
|
|
@@ -89440,7 +89611,7 @@ function getHoveredContourSegmentationAnnotation(segmentationId) {
|
|
|
89440
89611
|
/* harmony export */ h6: () => (/* binding */ triggerSegmentationRender),
|
|
89441
89612
|
/* harmony export */ px: () => (/* binding */ segmentationRenderingEngine)
|
|
89442
89613
|
/* harmony export */ });
|
|
89443
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
89614
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
89444
89615
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
89445
89616
|
/* harmony import */ var _store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52610);
|
|
89446
89617
|
/* harmony import */ var _tools_displayTools_SegmentationDisplayTool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31163);
|
|
@@ -89564,7 +89735,7 @@ function triggerSegmentationRender(toolGroupId) {
|
|
|
89564
89735
|
/* harmony export */ Ay: () => (/* binding */ getBrushToolInstances)
|
|
89565
89736
|
/* harmony export */ });
|
|
89566
89737
|
/* unused harmony exports getVoxelOverlap, processVolumes */
|
|
89567
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
89738
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
89568
89739
|
/* harmony import */ var _store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52610);
|
|
89569
89740
|
/* harmony import */ var _tools_segmentation_BrushTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(53712);
|
|
89570
89741
|
/* harmony import */ var _boundingBox_getBoundingBoxAroundShape__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14471);
|
|
@@ -89850,7 +90021,7 @@ function _getDistance3D(point0, point1) {
|
|
|
89850
90021
|
/* harmony export */ Ay: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
89851
90022
|
/* harmony export */ });
|
|
89852
90023
|
/* unused harmony exports annotationRenderingEngine, triggerAnnotationRender */
|
|
89853
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
90024
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
89854
90025
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84901);
|
|
89855
90026
|
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2746);
|
|
89856
90027
|
/* harmony import */ var _getToolsWithModesForElement__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42360);
|
|
@@ -90029,7 +90200,7 @@ function triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRen
|
|
|
90029
90200
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
90030
90201
|
/* harmony export */ u: () => (/* binding */ isViewportPreScaled)
|
|
90031
90202
|
/* harmony export */ });
|
|
90032
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
90203
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
90033
90204
|
|
|
90034
90205
|
function isViewportPreScaled(viewport, targetId) {
|
|
90035
90206
|
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
@@ -90057,7 +90228,7 @@ function isViewportPreScaled(viewport, targetId) {
|
|
|
90057
90228
|
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
|
|
90058
90229
|
|
|
90059
90230
|
"use strict";
|
|
90060
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
90231
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
90061
90232
|
/* harmony import */ var _clip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88484);
|
|
90062
90233
|
/* harmony import */ var _scroll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21783);
|
|
90063
90234
|
|
|
@@ -90107,7 +90278,7 @@ function _getImageIndexToJump(numberOfSlices, imageIndex) {
|
|
|
90107
90278
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
90108
90279
|
/* harmony export */ A: () => (/* binding */ jumpToWorld)
|
|
90109
90280
|
/* harmony export */ });
|
|
90110
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
90281
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);
|
|
90111
90282
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83636);
|
|
90112
90283
|
|
|
90113
90284
|
|
|
@@ -90205,8 +90376,8 @@ function _toolGroupHasActiveEnabledOrPassiveTool(toolGroup, toolName) {
|
|
|
90205
90376
|
return toolMode === Active || toolMode === Passive || toolMode === Enabled;
|
|
90206
90377
|
}
|
|
90207
90378
|
|
|
90208
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
90209
|
-
var esm = __webpack_require__(
|
|
90379
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
90380
|
+
var esm = __webpack_require__(50719);
|
|
90210
90381
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 10 modules
|
|
90211
90382
|
var gl_matrix_esm = __webpack_require__(83636);
|
|
90212
90383
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/viewportFilters/filterViewportsWithParallelNormals.js
|
|
@@ -90341,8 +90512,8 @@ class ICRPolySeg {
|
|
|
90341
90512
|
}
|
|
90342
90513
|
}
|
|
90343
90514
|
|
|
90344
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
90345
|
-
var esm = __webpack_require__(
|
|
90515
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
|
|
90516
|
+
var esm = __webpack_require__(50719);
|
|
90346
90517
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/Plane.js
|
|
90347
90518
|
var Plane = __webpack_require__(84441);
|
|
90348
90519
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/PolyData.js + 9 modules
|