@ohif/app 3.9.0-beta.0 → 3.9.0-beta.2
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/{117.bundle.77cc4e62d0de5d843e2e.js → 117.bundle.a80b1511ef4b302fb7cc.js} +10 -12
- package/dist/{121.bundle.47f05840a5b3cdf75543.js → 121.bundle.a6063e0272df61cefccc.js} +12 -8
- package/dist/{164.bundle.b101cb64d04a22453984.js → 164.bundle.1da1cadb56951caef1d6.js} +9 -13
- package/dist/{206.bundle.78bc4a1612a65114023f.js → 206.bundle.e98e6ba9bfd9f36dc508.js} +3 -2
- package/dist/{236.bundle.f774cdc955890e6cdac9.js → 236.bundle.4ca7987e1d57f60ec13a.js} +326 -5
- package/dist/{295.bundle.c935ed0430aa026f7591.js → 295.bundle.9926ff25c6dbf53845b1.js} +10 -6
- package/dist/{321.bundle.ff34e813e29d7aac6a7a.js → 321.bundle.07e853e559665d6e15b6.js} +5 -1
- package/dist/{325.bundle.80800ecd8fa44d3da9f0.js → 325.bundle.47f5b8a085837ee6b512.js} +12 -9
- package/dist/{416.bundle.9b0d7559344fd02c9e08.js → 35.bundle.0168d78bfad0cb784112.js} +378 -45
- package/dist/{41.bundle.c1bdf399864559c022e6.js → 41.bundle.faaf3b05d1083e3c8831.js} +31 -0
- package/dist/{448.bundle.3e632ad35be84cb97b9b.js → 448.bundle.94a6da9fac68fc69f8c2.js} +31 -0
- package/dist/{574.bundle.4b059c95cd34efdc9cb3.js → 574.bundle.88b619217339b5e93d3e.js} +1 -13
- package/dist/{633.bundle.6894b2582a16ede205e6.js → 633.bundle.ff1a1d0bdb0d1ef143af.js} +5 -2
- package/dist/{203.bundle.3581da3a32a0b720d3a7.js → 806.bundle.50e039eb624382ee1fce.js} +538 -450
- package/dist/{889.bundle.a287be728fdd2c2f2685.js → 889.bundle.9fbab4f0bbf643306879.js} +4 -1
- package/dist/{905.bundle.fdbca7f4ccc752374ece.js → 905.bundle.7e940707e10096970ca1.js} +12 -1
- package/dist/{app.bundle.10e485d72790640d038e.js → app.bundle.c53b289734d5f7178a39.js} +78 -61
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.4442dd3318266fddf4d0.js → polySeg.bundle.1799686b019040500219.js} +3 -3
- package/dist/{suv-peak-worker.bundle.348c016f7f973d05f2d2.js → suv-peak-worker.bundle.25f8b85eab9ec06da48d.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{188.bundle.11bc3f193369fed20b66.js → 188.bundle.b31173cb165eb21c3ec6.js} +0 -0
- /package/dist/{342.bundle.36ee082163b01284eeba.js → 342.bundle.340982440de15f540a89.js} +0 -0
- /package/dist/{473.bundle.11f707c8170ade2eb56a.js → 473.bundle.6cd4be953853f35b29c3.js} +0 -0
- /package/dist/{483.bundle.581b242d7b90866fdfb9.js → 483.bundle.a353efc5a5dd563c903c.js} +0 -0
- /package/dist/{487.bundle.5a006ecd6ac5c43b46ac.js → 487.bundle.71a2893d94d214741e13.js} +0 -0
- /package/dist/{544.bundle.3542927ec15c3f688c8d.js → 544.bundle.b005b8c8b9b08aaa3324.js} +0 -0
- /package/dist/{594.bundle.4707c7487661d7ac6873.js → 594.bundle.01b124740b2b3f8a6d20.js} +0 -0
- /package/dist/{669.bundle.28e422f4ebfa501661df.js → 669.bundle.84745782e36f25eb05bc.js} +0 -0
- /package/dist/{699.bundle.6f233bb6379de54e939c.js → 699.bundle.8210579412d62beafa91.js} +0 -0
- /package/dist/{7.bundle.ab1b0e2fcab1715e7bc0.js → 7.bundle.3a17fe8266b2149334a6.js} +0 -0
- /package/dist/{722.bundle.52eb61926d08a08793fe.js → 722.bundle.2547630541b670f10d6e.js} +0 -0
- /package/dist/{724.bundle.0aa33dc045a78572026c.js → 724.bundle.519141a0c4d0d1a3192a.js} +0 -0
- /package/dist/{783.bundle.178fb6add40f9923f61d.js → 783.bundle.86c38ee55f4d01b111ca.js} +0 -0
- /package/dist/{862.bundle.9897a9b748078d53f9ab.js → 862.bundle.4a0bd82b803ba158018f.js} +0 -0
- /package/dist/{907.bundle.0c3fdbe2bcfcca5b9c97.js → 907.bundle.f5aa0414d0f77e575a1f.js} +0 -0
- /package/dist/{94.bundle.e4ae2150627e9085cadf.js → 94.bundle.ecaaba845625d93bad6b.js} +0 -0
- /package/dist/{961.bundle.1f3bcb85757b41e96664.js → 961.bundle.ff7da8afd7d8495d0bbe.js} +0 -0
|
@@ -352,7 +352,7 @@ var ViewportStatus;
|
|
|
352
352
|
|
|
353
353
|
/***/ }),
|
|
354
354
|
|
|
355
|
-
/***/
|
|
355
|
+
/***/ 98362:
|
|
356
356
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
357
357
|
|
|
358
358
|
"use strict";
|
|
@@ -361,7 +361,6 @@ var ViewportStatus;
|
|
|
361
361
|
__webpack_require__.d(__webpack_exports__, {
|
|
362
362
|
BlendModes: () => (/* reexport */ enums_BlendModes),
|
|
363
363
|
CalibrationTypes: () => (/* reexport */ enums_CalibrationTypes),
|
|
364
|
-
ContourType: () => (/* reexport */ enums_ContourType),
|
|
365
364
|
DynamicOperatorType: () => (/* reexport */ enums_DynamicOperatorType),
|
|
366
365
|
Events: () => (/* reexport */ Events/* default */.A),
|
|
367
366
|
GeometryType: () => (/* reexport */ enums_GeometryType),
|
|
@@ -377,6 +376,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
377
376
|
ViewportType: () => (/* reexport */ ViewportType/* default */.A)
|
|
378
377
|
});
|
|
379
378
|
|
|
379
|
+
// UNUSED EXPORTS: ContourType
|
|
380
|
+
|
|
380
381
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/Events.js
|
|
381
382
|
var Events = __webpack_require__(11731);
|
|
382
383
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/RequestType.js
|
|
@@ -411,14 +412,8 @@ var GeometryType;
|
|
|
411
412
|
})(GeometryType || (GeometryType = {}));
|
|
412
413
|
/* harmony default export */ const enums_GeometryType = (GeometryType);
|
|
413
414
|
|
|
414
|
-
|
|
415
|
-
var ContourType;
|
|
416
|
-
(function (ContourType) {
|
|
417
|
-
ContourType["CLOSED_PLANAR"] = "CLOSED_PLANAR";
|
|
418
|
-
ContourType["OPEN_PLANAR"] = "OPEN_PLANAR";
|
|
419
|
-
})(ContourType || (ContourType = {}));
|
|
420
|
-
/* harmony default export */ const enums_ContourType = (ContourType);
|
|
421
|
-
|
|
415
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/ContourType.js
|
|
416
|
+
var ContourType = __webpack_require__(99842);
|
|
422
417
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/VOILUTFunctionType.js
|
|
423
418
|
var VOILUTFunctionType = __webpack_require__(15381);
|
|
424
419
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/DynamicOperatorType.js
|
|
@@ -1412,7 +1407,7 @@ function triggerEvent(el = _eventTarget__WEBPACK_IMPORTED_MODULE_0__/* ["default
|
|
|
1412
1407
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1413
1408
|
/* harmony export */ });
|
|
1414
1409
|
/* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(99178);
|
|
1415
|
-
/* harmony import */ var _enums___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
1410
|
+
/* harmony import */ var _enums___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98362);
|
|
1416
1411
|
/* harmony import */ var _requestPool_requestPoolManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79927);
|
|
1417
1412
|
|
|
1418
1413
|
|
|
@@ -3769,7 +3764,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
3769
3764
|
t0: () => (/* reexport */ SegmentationDisplayTool/* default */.A)
|
|
3770
3765
|
});
|
|
3771
3766
|
|
|
3772
|
-
// UNUSED EXPORTS: AngleTool, AnnotationDisplayTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarRotateTool, ProbeTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SegmentSelectTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, TrackballRotateTool, UltrasoundDirectionalTool, VolumeRotateMouseWheelTool, WindowLevelTool, ZoomTool
|
|
3767
|
+
// UNUSED EXPORTS: AngleTool, AnnotationDisplayTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarRotateTool, ProbeTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SculptorTool, SegmentSelectTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, TrackballRotateTool, UltrasoundDirectionalTool, VolumeRotateMouseWheelTool, WindowLevelTool, ZoomTool
|
|
3773
3768
|
|
|
3774
3769
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/index.js
|
|
3775
3770
|
var base = __webpack_require__(96214);
|
|
@@ -3807,6 +3802,8 @@ var SegmentationIntersectionTool = __webpack_require__(70494);
|
|
|
3807
3802
|
var ReferenceCursors = __webpack_require__(1143);
|
|
3808
3803
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/ScaleOverlayTool.js
|
|
3809
3804
|
var ScaleOverlayTool = __webpack_require__(92807);
|
|
3805
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/SculptorTool.js
|
|
3806
|
+
var SculptorTool = __webpack_require__(16151);
|
|
3810
3807
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/BidirectionalTool.js
|
|
3811
3808
|
var BidirectionalTool = __webpack_require__(50720);
|
|
3812
3809
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/LengthTool.js
|
|
@@ -4395,6 +4392,7 @@ var SegmentSelectTool = __webpack_require__(34041);
|
|
|
4395
4392
|
|
|
4396
4393
|
|
|
4397
4394
|
|
|
4395
|
+
|
|
4398
4396
|
|
|
4399
4397
|
|
|
4400
4398
|
/***/ }),
|
|
@@ -37,19 +37,23 @@ function promptHydrateRT({
|
|
|
37
37
|
const {
|
|
38
38
|
uiViewportDialogService
|
|
39
39
|
} = servicesManager.services;
|
|
40
|
+
const extensionManager = servicesManager._extensionManager;
|
|
41
|
+
const appConfig = extensionManager._appConfig;
|
|
40
42
|
return new Promise(async function (resolve, reject) {
|
|
41
|
-
const promptResult = await _askHydrate(uiViewportDialogService, viewportId);
|
|
43
|
+
const promptResult = appConfig?.disableConfirmationPrompts ? RESPONSE.HYDRATE_SEG : await _askHydrate(uiViewportDialogService, viewportId);
|
|
42
44
|
if (promptResult === RESPONSE.HYDRATE_SEG) {
|
|
43
45
|
preHydrateCallbacks?.forEach(callback => {
|
|
44
46
|
callback();
|
|
45
47
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
window.setTimeout(async () => {
|
|
49
|
+
const isHydrated = await hydrateRTDisplaySet({
|
|
50
|
+
rtDisplaySet,
|
|
51
|
+
viewportId,
|
|
52
|
+
toolGroupId,
|
|
53
|
+
servicesManager
|
|
54
|
+
});
|
|
55
|
+
resolve(isHydrated);
|
|
56
|
+
}, 0);
|
|
53
57
|
}
|
|
54
58
|
});
|
|
55
59
|
}
|
|
@@ -347,7 +347,7 @@ var ViewportStatus;
|
|
|
347
347
|
|
|
348
348
|
/***/ }),
|
|
349
349
|
|
|
350
|
-
/***/
|
|
350
|
+
/***/ 98362:
|
|
351
351
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
352
352
|
|
|
353
353
|
|
|
@@ -355,7 +355,6 @@ var ViewportStatus;
|
|
|
355
355
|
__webpack_require__.d(__webpack_exports__, {
|
|
356
356
|
BlendModes: () => (/* reexport */ enums_BlendModes),
|
|
357
357
|
CalibrationTypes: () => (/* reexport */ enums_CalibrationTypes),
|
|
358
|
-
ContourType: () => (/* reexport */ enums_ContourType),
|
|
359
358
|
Events: () => (/* reexport */ Events/* default */.A),
|
|
360
359
|
GeometryType: () => (/* reexport */ enums_GeometryType),
|
|
361
360
|
ImageQualityStatus: () => (/* reexport */ ImageQualityStatus/* default */.A),
|
|
@@ -370,7 +369,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
370
369
|
ViewportType: () => (/* reexport */ ViewportType/* default */.A)
|
|
371
370
|
});
|
|
372
371
|
|
|
373
|
-
// UNUSED EXPORTS: DynamicOperatorType
|
|
372
|
+
// UNUSED EXPORTS: ContourType, DynamicOperatorType
|
|
374
373
|
|
|
375
374
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/Events.js
|
|
376
375
|
var Events = __webpack_require__(11731);
|
|
@@ -406,14 +405,8 @@ var GeometryType;
|
|
|
406
405
|
})(GeometryType || (GeometryType = {}));
|
|
407
406
|
/* harmony default export */ const enums_GeometryType = (GeometryType);
|
|
408
407
|
|
|
409
|
-
|
|
410
|
-
var ContourType;
|
|
411
|
-
(function (ContourType) {
|
|
412
|
-
ContourType["CLOSED_PLANAR"] = "CLOSED_PLANAR";
|
|
413
|
-
ContourType["OPEN_PLANAR"] = "OPEN_PLANAR";
|
|
414
|
-
})(ContourType || (ContourType = {}));
|
|
415
|
-
/* harmony default export */ const enums_ContourType = (ContourType);
|
|
416
|
-
|
|
408
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/ContourType.js
|
|
409
|
+
var ContourType = __webpack_require__(99842);
|
|
417
410
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/VOILUTFunctionType.js
|
|
418
411
|
var VOILUTFunctionType = __webpack_require__(15381);
|
|
419
412
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/DynamicOperatorType.js
|
|
@@ -1399,7 +1392,7 @@ function triggerEvent(el = _eventTarget__WEBPACK_IMPORTED_MODULE_0__/* ["default
|
|
|
1399
1392
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1400
1393
|
/* harmony export */ });
|
|
1401
1394
|
/* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(99178);
|
|
1402
|
-
/* harmony import */ var _enums___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
1395
|
+
/* harmony import */ var _enums___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98362);
|
|
1403
1396
|
/* harmony import */ var _requestPool_requestPoolManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79927);
|
|
1404
1397
|
|
|
1405
1398
|
|
|
@@ -2637,7 +2630,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
2637
2630
|
t0: () => (/* reexport */ SegmentationDisplayTool/* default */.A)
|
|
2638
2631
|
});
|
|
2639
2632
|
|
|
2640
|
-
// UNUSED EXPORTS: AngleTool, AnnotationDisplayTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarRotateTool, ProbeTool, RectangleROIStartEndThresholdTool, RectangleROIThresholdTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SegmentSelectTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, TrackballRotateTool, UltrasoundDirectionalTool, VolumeRotateMouseWheelTool, WindowLevelTool, ZoomTool
|
|
2633
|
+
// UNUSED EXPORTS: AngleTool, AnnotationDisplayTool, ArrowAnnotateTool, BaseTool, BidirectionalTool, BrushTool, CircleROIStartEndThresholdTool, CircleROITool, CircleScissorsTool, CobbAngleTool, CrosshairsTool, DragProbeTool, EllipticalROITool, EraserTool, KeyImageTool, LengthTool, LivewireContourSegmentationTool, LivewireContourTool, MIPJumpToClickTool, MagnifyTool, OrientationMarkerTool, OverlayGridTool, PaintFillTool, PanTool, PlanarRotateTool, ProbeTool, RectangleROIStartEndThresholdTool, RectangleROIThresholdTool, RectangleROITool, RectangleScissorsTool, ReferenceCursors, ReferenceLines, ReferenceLinesTool, ScaleOverlayTool, SculptorTool, SegmentSelectTool, SegmentationIntersectionTool, SphereScissorsTool, SplineContourSegmentationTool, SplineROITool, StackScrollMouseWheelTool, StackScrollTool, TrackballRotateTool, UltrasoundDirectionalTool, VolumeRotateMouseWheelTool, WindowLevelTool, ZoomTool
|
|
2641
2634
|
|
|
2642
2635
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/index.js
|
|
2643
2636
|
var base = __webpack_require__(96214);
|
|
@@ -2675,6 +2668,8 @@ var SegmentationIntersectionTool = __webpack_require__(70494);
|
|
|
2675
2668
|
var ReferenceCursors = __webpack_require__(1143);
|
|
2676
2669
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/ScaleOverlayTool.js
|
|
2677
2670
|
var ScaleOverlayTool = __webpack_require__(92807);
|
|
2671
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/SculptorTool.js
|
|
2672
|
+
var SculptorTool = __webpack_require__(16151);
|
|
2678
2673
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/BidirectionalTool.js
|
|
2679
2674
|
var BidirectionalTool = __webpack_require__(50720);
|
|
2680
2675
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/LengthTool.js
|
|
@@ -3263,6 +3258,7 @@ var SegmentSelectTool = __webpack_require__(34041);
|
|
|
3263
3258
|
|
|
3264
3259
|
|
|
3265
3260
|
|
|
3261
|
+
|
|
3266
3262
|
|
|
3267
3263
|
|
|
3268
3264
|
/***/ }),
|
|
@@ -2750,8 +2750,8 @@ function ViewerHeader({
|
|
|
2750
2750
|
hotkeyDefinitions,
|
|
2751
2751
|
hotkeyDefaults
|
|
2752
2752
|
} = hotkeysManager;
|
|
2753
|
-
const versionNumber = "3.9.0-beta.
|
|
2754
|
-
const commitHash = "
|
|
2753
|
+
const versionNumber = "3.9.0-beta.2";
|
|
2754
|
+
const commitHash = "730f4349100f21b4489a21707dbb2dca9dbfbba2";
|
|
2755
2755
|
const menuOptions = [{
|
|
2756
2756
|
title: t('Header:About'),
|
|
2757
2757
|
icon: 'info',
|
|
@@ -3709,6 +3709,7 @@ async function createReportAsync({
|
|
|
3709
3709
|
message: error.message || `Failed to store ${reportType}`,
|
|
3710
3710
|
type: 'error'
|
|
3711
3711
|
});
|
|
3712
|
+
throw new Error(`Failed to store ${reportType}. Error: ${error.message || 'Unknown error'}`);
|
|
3712
3713
|
} finally {
|
|
3713
3714
|
uiDialogService.dismiss({
|
|
3714
3715
|
id: loadingDialogId
|
|
@@ -2875,6 +2875,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2875
2875
|
/* harmony export */ ReferenceLines: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.LL),
|
|
2876
2876
|
/* harmony export */ ReferenceLinesTool: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.X8),
|
|
2877
2877
|
/* harmony export */ ScaleOverlayTool: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.FE),
|
|
2878
|
+
/* harmony export */ SculptorTool: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.N),
|
|
2878
2879
|
/* harmony export */ SegmentSelectTool: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.IX),
|
|
2879
2880
|
/* harmony export */ SegmentationDisplayTool: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.t0),
|
|
2880
2881
|
/* harmony export */ SegmentationIntersectionTool: () => (/* reexport safe */ _tools__WEBPACK_IMPORTED_MODULE_10__.cN),
|
|
@@ -9823,7 +9824,7 @@ MagnifyTool.toolName = 'Magnify';
|
|
|
9823
9824
|
/* harmony export */ });
|
|
9824
9825
|
/* harmony import */ var _kitware_vtk_js_Interaction_Widgets_OrientationMarkerWidget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7914);
|
|
9825
9826
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_AnnotatedCubeActor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50638);
|
|
9826
|
-
/* harmony import */ var _kitware_vtk_js_Rendering_Core_AxesActor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
9827
|
+
/* harmony import */ var _kitware_vtk_js_Rendering_Core_AxesActor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43387);
|
|
9827
9828
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_Actor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48987);
|
|
9828
9829
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_Mapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22745);
|
|
9829
9830
|
/* harmony import */ var _kitware_vtk_js_IO_XML_XMLPolyDataReader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88099);
|
|
@@ -9955,7 +9956,11 @@ class OrientationMarkerTool extends _base__WEBPACK_IMPORTED_MODULE_7__/* .BaseTo
|
|
|
9955
9956
|
element.addEventListener(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_8__.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, this.initViewports.bind(this));
|
|
9956
9957
|
const resizeObserver = new ResizeObserver(() => {
|
|
9957
9958
|
setTimeout(() => {
|
|
9958
|
-
const
|
|
9959
|
+
const element = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_8__.getEnabledElementByIds)(viewportId, renderingEngineId);
|
|
9960
|
+
if (!element) {
|
|
9961
|
+
return;
|
|
9962
|
+
}
|
|
9963
|
+
const { viewport } = element;
|
|
9959
9964
|
this.resize(viewportId);
|
|
9960
9965
|
viewport.render();
|
|
9961
9966
|
}, 100);
|
|
@@ -11384,6 +11389,318 @@ ScaleOverlayTool.toolName = 'ScaleOverlay';
|
|
|
11384
11389
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ScaleOverlayTool);
|
|
11385
11390
|
|
|
11386
11391
|
|
|
11392
|
+
/***/ }),
|
|
11393
|
+
|
|
11394
|
+
/***/ 16151:
|
|
11395
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
11396
|
+
|
|
11397
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11398
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
11399
|
+
/* harmony export */ });
|
|
11400
|
+
/* unused harmony export contourIndex */
|
|
11401
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
|
|
11402
|
+
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96214);
|
|
11403
|
+
/* harmony import */ var _stateManagement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95778);
|
|
11404
|
+
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73047);
|
|
11405
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(84901);
|
|
11406
|
+
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61738);
|
|
11407
|
+
/* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(23072);
|
|
11408
|
+
/* harmony import */ var _cursors_elementCursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(40233);
|
|
11409
|
+
/* harmony import */ var _stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(28664);
|
|
11410
|
+
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54177);
|
|
11411
|
+
/* harmony import */ var _SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(16639);
|
|
11412
|
+
/* harmony import */ var _distancePointToContour__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(7783);
|
|
11413
|
+
|
|
11414
|
+
|
|
11415
|
+
|
|
11416
|
+
|
|
11417
|
+
|
|
11418
|
+
|
|
11419
|
+
|
|
11420
|
+
|
|
11421
|
+
|
|
11422
|
+
|
|
11423
|
+
|
|
11424
|
+
|
|
11425
|
+
class SculptorTool extends _base__WEBPACK_IMPORTED_MODULE_1__/* .BaseTool */ .oS {
|
|
11426
|
+
constructor(toolProps = {}, defaultToolProps = {
|
|
11427
|
+
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
11428
|
+
configuration: {
|
|
11429
|
+
minSpacing: 1,
|
|
11430
|
+
referencedToolNames: [
|
|
11431
|
+
'PlanarFreehandROI',
|
|
11432
|
+
'PlanarFreehandContourSegmentationTool',
|
|
11433
|
+
],
|
|
11434
|
+
toolShape: 'circle',
|
|
11435
|
+
referencedToolName: 'PlanarFreehandROI',
|
|
11436
|
+
},
|
|
11437
|
+
}) {
|
|
11438
|
+
super(toolProps, defaultToolProps);
|
|
11439
|
+
this.registeredShapes = new Map();
|
|
11440
|
+
this.isActive = false;
|
|
11441
|
+
this.commonData = {
|
|
11442
|
+
activeAnnotationUID: null,
|
|
11443
|
+
viewportIdsToRender: [],
|
|
11444
|
+
isEditingOpenContour: false,
|
|
11445
|
+
canvasLocation: undefined,
|
|
11446
|
+
};
|
|
11447
|
+
this.preMouseDownCallback = (evt) => {
|
|
11448
|
+
const eventData = evt.detail;
|
|
11449
|
+
const element = eventData.element;
|
|
11450
|
+
this.configureToolSize(evt);
|
|
11451
|
+
this.selectFreehandTool(eventData);
|
|
11452
|
+
if (this.commonData.activeAnnotationUID === null) {
|
|
11453
|
+
return;
|
|
11454
|
+
}
|
|
11455
|
+
this.isActive = true;
|
|
11456
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_7__.hideElementCursor)(element);
|
|
11457
|
+
this.activateModify(element);
|
|
11458
|
+
return true;
|
|
11459
|
+
};
|
|
11460
|
+
this.mouseMoveCallback = (evt) => {
|
|
11461
|
+
if (this.mode === _enums__WEBPACK_IMPORTED_MODULE_4__.ToolModes.Active) {
|
|
11462
|
+
this.configureToolSize(evt);
|
|
11463
|
+
this.updateCursor(evt);
|
|
11464
|
+
}
|
|
11465
|
+
else {
|
|
11466
|
+
this.commonData.canvasLocation = undefined;
|
|
11467
|
+
}
|
|
11468
|
+
};
|
|
11469
|
+
this.endCallback = (evt) => {
|
|
11470
|
+
const eventData = evt.detail;
|
|
11471
|
+
const { element } = eventData;
|
|
11472
|
+
const config = this.configuration;
|
|
11473
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
11474
|
+
this.isActive = false;
|
|
11475
|
+
this.deactivateModify(element);
|
|
11476
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_7__.resetElementCursor)(element);
|
|
11477
|
+
const { renderingEngineId, viewportId } = enabledElement;
|
|
11478
|
+
const toolGroup = _store__WEBPACK_IMPORTED_MODULE_5__/* .ToolGroupManager.getToolGroupForViewport */ .dU.getToolGroupForViewport(viewportId, renderingEngineId);
|
|
11479
|
+
const toolInstance = toolGroup.getToolInstance(config.referencedToolName);
|
|
11480
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
11481
|
+
const activeAnnotation = annotations.find((annotation) => annotation.annotationUID === this.commonData.activeAnnotationUID);
|
|
11482
|
+
if (toolInstance.configuration.calculateStats) {
|
|
11483
|
+
activeAnnotation.invalidated = true;
|
|
11484
|
+
}
|
|
11485
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_9__/* .triggerAnnotationModified */ .XF)(activeAnnotation, element);
|
|
11486
|
+
};
|
|
11487
|
+
this.dragCallback = (evt) => {
|
|
11488
|
+
const eventData = evt.detail;
|
|
11489
|
+
const element = eventData.element;
|
|
11490
|
+
this.updateCursor(evt);
|
|
11491
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
11492
|
+
const activeAnnotation = annotations.find((annotation) => annotation.annotationUID === this.commonData.activeAnnotationUID);
|
|
11493
|
+
if (!annotations?.length || !this.isActive) {
|
|
11494
|
+
return;
|
|
11495
|
+
}
|
|
11496
|
+
const points = activeAnnotation.data.contour.polyline;
|
|
11497
|
+
this.sculpt(eventData, points);
|
|
11498
|
+
};
|
|
11499
|
+
this.registerShapes(_SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A.shapeName, _SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A);
|
|
11500
|
+
this.setToolShape(this.configuration.toolShape);
|
|
11501
|
+
}
|
|
11502
|
+
registerShapes(shapeName, shapeClass) {
|
|
11503
|
+
const shape = new shapeClass();
|
|
11504
|
+
this.registeredShapes.set(shapeName, shape);
|
|
11505
|
+
}
|
|
11506
|
+
sculpt(eventData, points) {
|
|
11507
|
+
const config = this.configuration;
|
|
11508
|
+
const element = eventData.element;
|
|
11509
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
11510
|
+
const { viewport } = enabledElement;
|
|
11511
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
11512
|
+
this.sculptData = {
|
|
11513
|
+
mousePoint: eventData.currentPoints.world,
|
|
11514
|
+
mouseCanvasPoint: eventData.currentPoints.canvas,
|
|
11515
|
+
points,
|
|
11516
|
+
maxSpacing: cursorShape.getMaxSpacing(config.minSpacing),
|
|
11517
|
+
element: element,
|
|
11518
|
+
};
|
|
11519
|
+
const pushedHandles = cursorShape.pushHandles(viewport, this.sculptData);
|
|
11520
|
+
if (pushedHandles.first !== undefined) {
|
|
11521
|
+
this.insertNewHandles(pushedHandles);
|
|
11522
|
+
}
|
|
11523
|
+
}
|
|
11524
|
+
interpolatePointsWithinMaxSpacing(i, points, indicesToInsertAfter, maxSpacing) {
|
|
11525
|
+
const { element } = this.sculptData;
|
|
11526
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
11527
|
+
const { viewport } = enabledElement;
|
|
11528
|
+
const nextHandleIndex = contourIndex(i + 1, points.length);
|
|
11529
|
+
const currentCanvasPoint = viewport.worldToCanvas(points[i]);
|
|
11530
|
+
const nextCanvasPoint = viewport.worldToCanvas(points[nextHandleIndex]);
|
|
11531
|
+
const distanceToNextHandle = _utilities_math__WEBPACK_IMPORTED_MODULE_3__.point.distanceToPoint(currentCanvasPoint, nextCanvasPoint);
|
|
11532
|
+
if (distanceToNextHandle > maxSpacing) {
|
|
11533
|
+
indicesToInsertAfter.push(i);
|
|
11534
|
+
}
|
|
11535
|
+
}
|
|
11536
|
+
updateCursor(evt) {
|
|
11537
|
+
const eventData = evt.detail;
|
|
11538
|
+
const element = eventData.element;
|
|
11539
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
11540
|
+
const { renderingEngine, viewport } = enabledElement;
|
|
11541
|
+
this.commonData.viewportIdsToRender = [viewport.id];
|
|
11542
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
11543
|
+
if (!annotations?.length) {
|
|
11544
|
+
return;
|
|
11545
|
+
}
|
|
11546
|
+
const activeAnnotation = annotations.find((annotation) => annotation.annotationUID === this.commonData.activeAnnotationUID);
|
|
11547
|
+
this.commonData.canvasLocation = eventData.currentPoints.canvas;
|
|
11548
|
+
if (this.isActive) {
|
|
11549
|
+
activeAnnotation.highlighted = true;
|
|
11550
|
+
}
|
|
11551
|
+
else {
|
|
11552
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
11553
|
+
const canvasCoords = eventData.currentPoints.canvas;
|
|
11554
|
+
cursorShape.updateToolSize(canvasCoords, viewport, activeAnnotation);
|
|
11555
|
+
}
|
|
11556
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_6__/* .triggerAnnotationRenderForViewportIds */ .t)(renderingEngine, this.commonData.viewportIdsToRender);
|
|
11557
|
+
}
|
|
11558
|
+
filterSculptableAnnotationsForElement(element) {
|
|
11559
|
+
const config = this.configuration;
|
|
11560
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
11561
|
+
const { renderingEngineId, viewportId } = enabledElement;
|
|
11562
|
+
const sculptableAnnotations = [];
|
|
11563
|
+
const toolGroup = _store__WEBPACK_IMPORTED_MODULE_5__/* .ToolGroupManager.getToolGroupForViewport */ .dU.getToolGroupForViewport(viewportId, renderingEngineId);
|
|
11564
|
+
const toolInstance = toolGroup.getToolInstance(config.referencedToolName);
|
|
11565
|
+
config.referencedToolNames.forEach((referencedToolName) => {
|
|
11566
|
+
const annotations = (0,_stateManagement__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotations */ .Rh)(referencedToolName, element);
|
|
11567
|
+
if (annotations) {
|
|
11568
|
+
sculptableAnnotations.push(...annotations);
|
|
11569
|
+
}
|
|
11570
|
+
});
|
|
11571
|
+
return toolInstance.filterInteractableAnnotationsForElement(element, sculptableAnnotations);
|
|
11572
|
+
}
|
|
11573
|
+
configureToolSize(evt) {
|
|
11574
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
11575
|
+
cursorShape.configureToolSize(evt);
|
|
11576
|
+
}
|
|
11577
|
+
insertNewHandles(pushedHandles) {
|
|
11578
|
+
const indicesToInsertAfter = this.findNewHandleIndices(pushedHandles);
|
|
11579
|
+
let newIndexModifier = 0;
|
|
11580
|
+
for (let i = 0; i < indicesToInsertAfter?.length; i++) {
|
|
11581
|
+
const insertIndex = indicesToInsertAfter[i] + 1 + newIndexModifier;
|
|
11582
|
+
this.insertHandleRadially(insertIndex);
|
|
11583
|
+
newIndexModifier++;
|
|
11584
|
+
}
|
|
11585
|
+
}
|
|
11586
|
+
findNewHandleIndices(pushedHandles) {
|
|
11587
|
+
const { points, maxSpacing } = this.sculptData;
|
|
11588
|
+
const indicesToInsertAfter = [];
|
|
11589
|
+
for (let i = pushedHandles.first; i <= pushedHandles.last; i++) {
|
|
11590
|
+
this.interpolatePointsWithinMaxSpacing(i, points, indicesToInsertAfter, maxSpacing);
|
|
11591
|
+
}
|
|
11592
|
+
return indicesToInsertAfter;
|
|
11593
|
+
}
|
|
11594
|
+
insertHandleRadially(insertIndex) {
|
|
11595
|
+
const { points } = this.sculptData;
|
|
11596
|
+
if (insertIndex > points.length - 1 &&
|
|
11597
|
+
this.commonData.isEditingOpenContour) {
|
|
11598
|
+
return;
|
|
11599
|
+
}
|
|
11600
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
11601
|
+
const previousIndex = insertIndex - 1;
|
|
11602
|
+
const nextIndex = contourIndex(insertIndex, points.length);
|
|
11603
|
+
const insertPosition = cursorShape.getInsertPosition(previousIndex, nextIndex, this.sculptData);
|
|
11604
|
+
const handleData = insertPosition;
|
|
11605
|
+
points.splice(insertIndex, 0, handleData);
|
|
11606
|
+
}
|
|
11607
|
+
selectFreehandTool(eventData) {
|
|
11608
|
+
const closestAnnotationUID = this.getClosestFreehandToolOnElement(eventData);
|
|
11609
|
+
if (closestAnnotationUID === undefined) {
|
|
11610
|
+
return;
|
|
11611
|
+
}
|
|
11612
|
+
this.commonData.activeAnnotationUID = closestAnnotationUID;
|
|
11613
|
+
}
|
|
11614
|
+
getClosestFreehandToolOnElement(eventData) {
|
|
11615
|
+
const { element } = eventData;
|
|
11616
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
11617
|
+
const { viewport } = enabledElement;
|
|
11618
|
+
const config = this.configuration;
|
|
11619
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
11620
|
+
if (!annotations?.length) {
|
|
11621
|
+
return;
|
|
11622
|
+
}
|
|
11623
|
+
const canvasPoints = eventData.currentPoints.canvas;
|
|
11624
|
+
const closest = {
|
|
11625
|
+
distance: Infinity,
|
|
11626
|
+
toolIndex: undefined,
|
|
11627
|
+
annotationUID: undefined,
|
|
11628
|
+
};
|
|
11629
|
+
for (let i = 0; i < annotations?.length; i++) {
|
|
11630
|
+
if (annotations[i].isLocked || !annotations[i].isVisible) {
|
|
11631
|
+
continue;
|
|
11632
|
+
}
|
|
11633
|
+
const distanceFromTool = (0,_distancePointToContour__WEBPACK_IMPORTED_MODULE_11__/* .distancePointToContour */ .X)(viewport, annotations[i], canvasPoints);
|
|
11634
|
+
if (distanceFromTool === -1) {
|
|
11635
|
+
continue;
|
|
11636
|
+
}
|
|
11637
|
+
if (distanceFromTool < closest.distance) {
|
|
11638
|
+
closest.distance = distanceFromTool;
|
|
11639
|
+
closest.toolIndex = i;
|
|
11640
|
+
closest.annotationUID = annotations[i].annotationUID;
|
|
11641
|
+
}
|
|
11642
|
+
}
|
|
11643
|
+
this.commonData.isEditingOpenContour =
|
|
11644
|
+
!annotations[closest.toolIndex].data.contour.closed;
|
|
11645
|
+
config.referencedToolName =
|
|
11646
|
+
annotations[closest.toolIndex].metadata.toolName;
|
|
11647
|
+
return closest.annotationUID;
|
|
11648
|
+
}
|
|
11649
|
+
activateModify(element) {
|
|
11650
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_UP, this.endCallback);
|
|
11651
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_CLICK, this.endCallback);
|
|
11652
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_DRAG, this.dragCallback);
|
|
11653
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_TAP, this.endCallback);
|
|
11654
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_END, this.endCallback);
|
|
11655
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_DRAG, this.dragCallback);
|
|
11656
|
+
}
|
|
11657
|
+
deactivateModify(element) {
|
|
11658
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_UP, this.endCallback);
|
|
11659
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_CLICK, this.endCallback);
|
|
11660
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_DRAG, this.dragCallback);
|
|
11661
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_TAP, this.endCallback);
|
|
11662
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_END, this.endCallback);
|
|
11663
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_DRAG, this.dragCallback);
|
|
11664
|
+
}
|
|
11665
|
+
setToolShape(toolShape) {
|
|
11666
|
+
this.selectedShape =
|
|
11667
|
+
this.registeredShapes.get(toolShape) ?? _SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A.shapeName;
|
|
11668
|
+
}
|
|
11669
|
+
renderAnnotation(enabledElement, svgDrawingHelper) {
|
|
11670
|
+
const { viewport } = enabledElement;
|
|
11671
|
+
const { element } = viewport;
|
|
11672
|
+
const viewportIdsToRender = this.commonData.viewportIdsToRender;
|
|
11673
|
+
if (!this.commonData.canvasLocation ||
|
|
11674
|
+
this.mode !== _enums__WEBPACK_IMPORTED_MODULE_4__.ToolModes.Active ||
|
|
11675
|
+
!viewportIdsToRender.includes(viewport.id)) {
|
|
11676
|
+
return;
|
|
11677
|
+
}
|
|
11678
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
11679
|
+
if (!annotations?.length) {
|
|
11680
|
+
return;
|
|
11681
|
+
}
|
|
11682
|
+
const styleSpecifier = {
|
|
11683
|
+
toolGroupId: this.toolGroupId,
|
|
11684
|
+
toolName: this.getToolName(),
|
|
11685
|
+
viewportId: enabledElement.viewport.id,
|
|
11686
|
+
};
|
|
11687
|
+
let color = (0,_stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_8__/* .getStyleProperty */ .h)('color', styleSpecifier, _enums__WEBPACK_IMPORTED_MODULE_4__.AnnotationStyleStates.Default, this.mode);
|
|
11688
|
+
if (this.isActive) {
|
|
11689
|
+
color = (0,_stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_8__/* .getStyleProperty */ .h)('color', styleSpecifier, _enums__WEBPACK_IMPORTED_MODULE_4__.AnnotationStyleStates.Highlighted, this.mode);
|
|
11690
|
+
}
|
|
11691
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
11692
|
+
cursorShape.renderShape(svgDrawingHelper, this.commonData.canvasLocation, {
|
|
11693
|
+
color,
|
|
11694
|
+
});
|
|
11695
|
+
}
|
|
11696
|
+
}
|
|
11697
|
+
const contourIndex = (i, length) => {
|
|
11698
|
+
return (i + length) % length;
|
|
11699
|
+
};
|
|
11700
|
+
SculptorTool.toolName = 'SculptorTool';
|
|
11701
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SculptorTool);
|
|
11702
|
+
|
|
11703
|
+
|
|
11387
11704
|
/***/ }),
|
|
11388
11705
|
|
|
11389
11706
|
/***/ 70494:
|
|
@@ -20469,7 +20786,7 @@ BaseTool.toolName = 'BaseTool';
|
|
|
20469
20786
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
20470
20787
|
/* harmony export */ T: () => (/* reexport safe */ _contourDisplay__WEBPACK_IMPORTED_MODULE_0__.A)
|
|
20471
20788
|
/* harmony export */ });
|
|
20472
|
-
/* harmony import */ var _contourDisplay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
20789
|
+
/* harmony import */ var _contourDisplay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57784);
|
|
20473
20790
|
|
|
20474
20791
|
|
|
20475
20792
|
|
|
@@ -20825,6 +21142,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
20825
21142
|
LL: () => (/* reexport */ ReferenceLinesTool/* default */.A),
|
|
20826
21143
|
X8: () => (/* reexport */ ReferenceLinesTool/* default */.A),
|
|
20827
21144
|
FE: () => (/* reexport */ ScaleOverlayTool/* default */.A),
|
|
21145
|
+
N: () => (/* reexport */ SculptorTool/* default */.A),
|
|
20828
21146
|
IX: () => (/* reexport */ SegmentSelectTool/* default */.A),
|
|
20829
21147
|
t0: () => (/* reexport */ SegmentationDisplayTool/* default */.A),
|
|
20830
21148
|
cN: () => (/* reexport */ SegmentationIntersectionTool/* default */.A),
|
|
@@ -20876,6 +21194,8 @@ var SegmentationIntersectionTool = __webpack_require__(70494);
|
|
|
20876
21194
|
var ReferenceCursors = __webpack_require__(1143);
|
|
20877
21195
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/ScaleOverlayTool.js
|
|
20878
21196
|
var ScaleOverlayTool = __webpack_require__(92807);
|
|
21197
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/SculptorTool.js
|
|
21198
|
+
var SculptorTool = __webpack_require__(16151);
|
|
20879
21199
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/BidirectionalTool.js
|
|
20880
21200
|
var BidirectionalTool = __webpack_require__(50720);
|
|
20881
21201
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/annotation/LengthTool.js
|
|
@@ -21464,6 +21784,7 @@ var SegmentSelectTool = __webpack_require__(34041);
|
|
|
21464
21784
|
|
|
21465
21785
|
|
|
21466
21786
|
|
|
21787
|
+
|
|
21467
21788
|
|
|
21468
21789
|
|
|
21469
21790
|
/***/ }),
|
|
@@ -24287,9 +24608,9 @@ function triggerAnnotationRender(element) {
|
|
|
24287
24608
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
24288
24609
|
|
|
24289
24610
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
24290
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
24611
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
24612
|
+
/* harmony export */ t: () => (/* binding */ triggerAnnotationRenderForViewportIds)
|
|
24291
24613
|
/* harmony export */ });
|
|
24292
|
-
/* unused harmony export triggerAnnotationRenderForViewportIds */
|
|
24293
24614
|
/* harmony import */ var _triggerAnnotationRender__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6805);
|
|
24294
24615
|
|
|
24295
24616
|
function triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender) {
|
|
@@ -46,17 +46,21 @@ function promptHydrateSEG({
|
|
|
46
46
|
const {
|
|
47
47
|
uiViewportDialogService
|
|
48
48
|
} = servicesManager.services;
|
|
49
|
+
const extensionManager = servicesManager._extensionManager;
|
|
50
|
+
const appConfig = extensionManager._appConfig;
|
|
49
51
|
return new Promise(async function (resolve, reject) {
|
|
50
|
-
const promptResult = await _askHydrate(uiViewportDialogService, viewportId);
|
|
52
|
+
const promptResult = appConfig?.disableConfirmationPrompts ? RESPONSE.HYDRATE_SEG : await _askHydrate(uiViewportDialogService, viewportId);
|
|
51
53
|
if (promptResult === RESPONSE.HYDRATE_SEG) {
|
|
52
54
|
preHydrateCallbacks?.forEach(callback => {
|
|
53
55
|
callback();
|
|
54
56
|
});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
window.setTimeout(async () => {
|
|
58
|
+
const isHydrated = await hydrateSEGDisplaySet({
|
|
59
|
+
segDisplaySet,
|
|
60
|
+
viewportId
|
|
61
|
+
});
|
|
62
|
+
resolve(isHydrated);
|
|
63
|
+
}, 0);
|
|
60
64
|
}
|
|
61
65
|
});
|
|
62
66
|
}
|
|
@@ -10058,7 +10058,11 @@ class SegmentationService extends src/* PubSubService */.Rc {
|
|
|
10058
10058
|
x,
|
|
10059
10059
|
y,
|
|
10060
10060
|
z
|
|
10061
|
-
} = segDisplaySet.centroids.get(segmentIndex)
|
|
10061
|
+
} = segDisplaySet.centroids.get(segmentIndex) || {
|
|
10062
|
+
x: 0,
|
|
10063
|
+
y: 0,
|
|
10064
|
+
z: 0
|
|
10065
|
+
};
|
|
10062
10066
|
const centerWorld = derivedVolume.imageData.indexToWorld([x, y, z]);
|
|
10063
10067
|
segmentation.cachedStats = {
|
|
10064
10068
|
...segmentation.cachedStats,
|