@ohif/app 3.9.0-beta.0 → 3.9.0-beta.1
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/{164.bundle.b101cb64d04a22453984.js → 164.bundle.1da1cadb56951caef1d6.js} +9 -13
- package/dist/{206.bundle.78bc4a1612a65114023f.js → 206.bundle.87e4481bb6a89230b7cf.js} +2 -2
- package/dist/{236.bundle.f774cdc955890e6cdac9.js → 236.bundle.4ca7987e1d57f60ec13a.js} +326 -5
- package/dist/{416.bundle.9b0d7559344fd02c9e08.js → 35.bundle.0168d78bfad0cb784112.js} +378 -45
- package/dist/{203.bundle.3581da3a32a0b720d3a7.js → 806.bundle.50e039eb624382ee1fce.js} +538 -450
- package/dist/{889.bundle.a287be728fdd2c2f2685.js → 889.bundle.89437e456d399b69abfd.js} +1 -1
- package/dist/{app.bundle.10e485d72790640d038e.js → app.bundle.0c97d14d514173bc9fab.js} +77 -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.64cbb89e31abbf29a023.js} +0 -0
- /package/dist/{321.bundle.ff34e813e29d7aac6a7a.js → 321.bundle.f32564ab711ebc0b4e86.js} +0 -0
- /package/dist/{325.bundle.80800ecd8fa44d3da9f0.js → 325.bundle.fee9192f88d50d6ce342.js} +0 -0
- /package/dist/{342.bundle.36ee082163b01284eeba.js → 342.bundle.340982440de15f540a89.js} +0 -0
- /package/dist/{41.bundle.c1bdf399864559c022e6.js → 41.bundle.72b910ddbbd70b2f4c98.js} +0 -0
- /package/dist/{448.bundle.3e632ad35be84cb97b9b.js → 448.bundle.75e67836d79e932aa18c.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.fa9fc23fc410e1fa2efd.js} +0 -0
- /package/dist/{544.bundle.3542927ec15c3f688c8d.js → 544.bundle.b005b8c8b9b08aaa3324.js} +0 -0
- /package/dist/{574.bundle.4b059c95cd34efdc9cb3.js → 574.bundle.8b2767c9b74fa0c9b04b.js} +0 -0
- /package/dist/{594.bundle.4707c7487661d7ac6873.js → 594.bundle.64b244e7dcfd3d6c8984.js} +0 -0
- /package/dist/{633.bundle.6894b2582a16ede205e6.js → 633.bundle.e2b7f645729f12ba0d78.js} +0 -0
- /package/dist/{669.bundle.28e422f4ebfa501661df.js → 669.bundle.03a5bd6ba84103d03fdd.js} +0 -0
- /package/dist/{699.bundle.6f233bb6379de54e939c.js → 699.bundle.b50bfe586c0064d6fe8a.js} +0 -0
- /package/dist/{7.bundle.ab1b0e2fcab1715e7bc0.js → 7.bundle.9c9caceecb366e3233ca.js} +0 -0
- /package/dist/{722.bundle.52eb61926d08a08793fe.js → 722.bundle.2547630541b670f10d6e.js} +0 -0
- /package/dist/{724.bundle.0aa33dc045a78572026c.js → 724.bundle.c5b6e5542a4668715b33.js} +0 -0
- /package/dist/{783.bundle.178fb6add40f9923f61d.js → 783.bundle.2e302abe4156a13530f8.js} +0 -0
- /package/dist/{862.bundle.9897a9b748078d53f9ab.js → 862.bundle.4a0bd82b803ba158018f.js} +0 -0
- /package/dist/{905.bundle.fdbca7f4ccc752374ece.js → 905.bundle.7017e78259e57eda8915.js} +0 -0
- /package/dist/{907.bundle.0c3fdbe2bcfcca5b9c97.js → 907.bundle.6695db6c5f1906d48b81.js} +0 -0
- /package/dist/{94.bundle.e4ae2150627e9085cadf.js → 94.bundle.8411670658df7253a77a.js} +0 -0
- /package/dist/{961.bundle.1f3bcb85757b41e96664.js → 961.bundle.4aa46c7f78124df1a7cb.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
1
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[35],{
|
|
2
2
|
|
|
3
3
|
/***/ 6203:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44753);
|
|
14
14
|
/* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13320);
|
|
15
15
|
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88903);
|
|
16
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
16
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98362);
|
|
17
17
|
/* harmony import */ var _enums_ViewportType__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21432);
|
|
18
18
|
/* harmony import */ var _eventTarget__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51884);
|
|
19
19
|
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(71702);
|
|
@@ -1765,8 +1765,8 @@ var Viewport = __webpack_require__(11512);
|
|
|
1765
1765
|
var colors = __webpack_require__(59693);
|
|
1766
1766
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/cpuFallback/drawImageSync.js + 22 modules
|
|
1767
1767
|
var drawImageSync = __webpack_require__(49892);
|
|
1768
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
1769
|
-
var enums = __webpack_require__(
|
|
1768
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
1769
|
+
var enums = __webpack_require__(98362);
|
|
1770
1770
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/loaders/imageLoader.js
|
|
1771
1771
|
var imageLoader = __webpack_require__(79220);
|
|
1772
1772
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/requestPool/imageLoadPoolManager.js
|
|
@@ -3702,8 +3702,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
3702
3702
|
|
|
3703
3703
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
|
|
3704
3704
|
var esm = __webpack_require__(44753);
|
|
3705
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
3706
|
-
var enums = __webpack_require__(
|
|
3705
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
3706
|
+
var enums = __webpack_require__(98362);
|
|
3707
3707
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/metaData.js
|
|
3708
3708
|
var metaData = __webpack_require__(55692);
|
|
3709
3709
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/transform.js
|
|
@@ -4001,22 +4001,21 @@ class VideoViewport extends Viewport/* default */.A {
|
|
|
4001
4001
|
this.worldToCanvas = (worldPos) => {
|
|
4002
4002
|
const pan = this.videoCamera.panWorld;
|
|
4003
4003
|
const worldToCanvasRatio = this.getWorldToCanvasRatio();
|
|
4004
|
-
const
|
|
4004
|
+
const canvasPos = [
|
|
4005
4005
|
(worldPos[0] + pan[0]) * worldToCanvasRatio,
|
|
4006
4006
|
(worldPos[1] + pan[1]) * worldToCanvasRatio,
|
|
4007
4007
|
];
|
|
4008
|
-
const canvasPos = [subCanvasPos[0], subCanvasPos[1]];
|
|
4009
4008
|
return canvasPos;
|
|
4010
4009
|
};
|
|
4011
4010
|
this.getRotation = () => 0;
|
|
4012
4011
|
this.canvasToIndex = (canvasPos) => {
|
|
4013
4012
|
const transform = this.getTransform();
|
|
4014
4013
|
transform.invert();
|
|
4015
|
-
return transform.transformPoint(canvasPos);
|
|
4014
|
+
return transform.transformPoint(canvasPos.map((it) => it * devicePixelRatio));
|
|
4016
4015
|
};
|
|
4017
4016
|
this.indexToCanvas = (indexPos) => {
|
|
4018
4017
|
const transform = this.getTransform();
|
|
4019
|
-
return transform.transformPoint(indexPos);
|
|
4018
|
+
return (transform.transformPoint(indexPos).map((it) => it / devicePixelRatio));
|
|
4020
4019
|
};
|
|
4021
4020
|
this.customRenderViewportToCanvas = () => {
|
|
4022
4021
|
this.renderFrame();
|
|
@@ -4024,8 +4023,10 @@ class VideoViewport extends Viewport/* default */.A {
|
|
|
4024
4023
|
this.renderFrame = () => {
|
|
4025
4024
|
const transform = this.getTransform();
|
|
4026
4025
|
const transformationMatrix = transform.getMatrix();
|
|
4027
|
-
this.canvasContext
|
|
4028
|
-
|
|
4026
|
+
const ctx = this.canvasContext;
|
|
4027
|
+
ctx.resetTransform();
|
|
4028
|
+
ctx.transform(transformationMatrix[0], transformationMatrix[1], transformationMatrix[2], transformationMatrix[3], transformationMatrix[4], transformationMatrix[5]);
|
|
4029
|
+
ctx.drawImage(this.videoElement, 0, 0, this.videoWidth, this.videoHeight);
|
|
4029
4030
|
for (const actor of this.getActors()) {
|
|
4030
4031
|
actor.actor.render(this, this.canvasContext);
|
|
4031
4032
|
}
|
|
@@ -4421,7 +4422,7 @@ class VideoViewport extends Viewport/* default */.A {
|
|
|
4421
4422
|
}
|
|
4422
4423
|
setCamera(camera) {
|
|
4423
4424
|
const { parallelScale, focalPoint } = camera;
|
|
4424
|
-
if (
|
|
4425
|
+
if (parallelScale) {
|
|
4425
4426
|
this.videoCamera.parallelScale =
|
|
4426
4427
|
this.element.clientHeight / 2 / parallelScale;
|
|
4427
4428
|
}
|
|
@@ -4533,19 +4534,18 @@ class VideoViewport extends Viewport/* default */.A {
|
|
|
4533
4534
|
};
|
|
4534
4535
|
}
|
|
4535
4536
|
getPan() {
|
|
4536
|
-
const
|
|
4537
|
-
return [
|
|
4537
|
+
const panWorld = this.videoCamera.panWorld;
|
|
4538
|
+
return [panWorld[0], panWorld[1]];
|
|
4538
4539
|
}
|
|
4539
4540
|
refreshRenderValues() {
|
|
4540
|
-
let worldToCanvasRatio = this.canvas.
|
|
4541
|
+
let worldToCanvasRatio = this.canvas.offsetWidth / this.videoWidth;
|
|
4541
4542
|
if (this.videoHeight * worldToCanvasRatio > this.canvas.height) {
|
|
4542
|
-
|
|
4543
|
-
worldToCanvasRatio *= secondWorldToCanvasRatio;
|
|
4543
|
+
worldToCanvasRatio = this.canvas.offsetHeight / this.videoHeight;
|
|
4544
4544
|
}
|
|
4545
4545
|
const drawWidth = Math.floor(this.videoWidth * worldToCanvasRatio);
|
|
4546
4546
|
const drawHeight = Math.floor(this.videoHeight * worldToCanvasRatio);
|
|
4547
|
-
const xOffsetCanvas = this.canvas.
|
|
4548
|
-
const yOffsetCanvas = this.canvas.
|
|
4547
|
+
const xOffsetCanvas = (this.canvas.offsetWidth - drawWidth) / 2;
|
|
4548
|
+
const yOffsetCanvas = (this.canvas.offsetHeight - drawHeight) / 2;
|
|
4549
4549
|
const xOffsetWorld = xOffsetCanvas / worldToCanvasRatio;
|
|
4550
4550
|
const yOffsetWorld = yOffsetCanvas / worldToCanvasRatio;
|
|
4551
4551
|
this.videoCamera.panWorld = [xOffsetWorld, yOffsetWorld];
|
|
@@ -4559,14 +4559,19 @@ class VideoViewport extends Viewport/* default */.A {
|
|
|
4559
4559
|
}
|
|
4560
4560
|
getTransform() {
|
|
4561
4561
|
const panWorld = this.videoCamera.panWorld;
|
|
4562
|
+
const devicePixelRatio = window.devicePixelRatio || 1;
|
|
4562
4563
|
const worldToCanvasRatio = this.getWorldToCanvasRatio();
|
|
4563
4564
|
const canvasToWorldRatio = this.getCanvasToWorldRatio();
|
|
4564
|
-
const halfCanvas = [
|
|
4565
|
+
const halfCanvas = [
|
|
4566
|
+
this.canvas.offsetWidth / 2,
|
|
4567
|
+
this.canvas.offsetHeight / 2,
|
|
4568
|
+
];
|
|
4565
4569
|
const halfCanvasWorldCoordinates = [
|
|
4566
4570
|
halfCanvas[0] * canvasToWorldRatio,
|
|
4567
4571
|
halfCanvas[1] * canvasToWorldRatio,
|
|
4568
4572
|
];
|
|
4569
4573
|
const transform = new rendering_transform/* Transform */.d();
|
|
4574
|
+
transform.scale(devicePixelRatio, devicePixelRatio);
|
|
4570
4575
|
transform.translate(halfCanvas[0], halfCanvas[1]);
|
|
4571
4576
|
transform.scale(worldToCanvasRatio, worldToCanvasRatio);
|
|
4572
4577
|
transform.translate(panWorld[0], panWorld[1]);
|
|
@@ -4619,7 +4624,7 @@ class VideoViewport extends Viewport/* default */.A {
|
|
|
4619
4624
|
/* harmony import */ var _utilities_hasNaNValues__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(73139);
|
|
4620
4625
|
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(88903);
|
|
4621
4626
|
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(71702);
|
|
4622
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(
|
|
4627
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(98362);
|
|
4623
4628
|
|
|
4624
4629
|
|
|
4625
4630
|
|
|
@@ -5548,7 +5553,7 @@ class Viewport {
|
|
|
5548
5553
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44753);
|
|
5549
5554
|
/* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13320);
|
|
5550
5555
|
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88903);
|
|
5551
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
5556
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(98362);
|
|
5552
5557
|
/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(35678);
|
|
5553
5558
|
/* harmony import */ var _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6203);
|
|
5554
5559
|
/* harmony import */ var _helpers_setDefaultVolumeVOI__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83853);
|
|
@@ -5853,7 +5858,7 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
|
|
|
5853
5858
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
5854
5859
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
5855
5860
|
/* harmony export */ });
|
|
5856
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
5861
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98362);
|
|
5857
5862
|
/* harmony import */ var _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6203);
|
|
5858
5863
|
|
|
5859
5864
|
|
|
@@ -8184,8 +8189,8 @@ function createVolumeMapper(imageData, vtkOpenGLTexture) {
|
|
|
8184
8189
|
|
|
8185
8190
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
|
|
8186
8191
|
var utilities = __webpack_require__(35678);
|
|
8187
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
8188
|
-
var enums = __webpack_require__(
|
|
8192
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
8193
|
+
var enums = __webpack_require__(98362);
|
|
8189
8194
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js
|
|
8190
8195
|
var setDefaultVolumeVOI = __webpack_require__(83853);
|
|
8191
8196
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/createVolumeActor.js
|
|
@@ -8297,7 +8302,7 @@ var addImageSlicesToViewports = __webpack_require__(25271);
|
|
|
8297
8302
|
/* harmony import */ var _loaders_imageLoader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79220);
|
|
8298
8303
|
/* harmony import */ var _metaData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55692);
|
|
8299
8304
|
/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35678);
|
|
8300
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
8305
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98362);
|
|
8301
8306
|
/* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13320);
|
|
8302
8307
|
|
|
8303
8308
|
|
|
@@ -8445,7 +8450,7 @@ function _isCurrentImagePTPrescaled(modality, imageVolume) {
|
|
|
8445
8450
|
/* harmony export */ g: () => (/* binding */ resetVolumeNewImageState)
|
|
8446
8451
|
/* harmony export */ });
|
|
8447
8452
|
/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35678);
|
|
8448
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
8453
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98362);
|
|
8449
8454
|
/* harmony import */ var _getRenderingEngine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49184);
|
|
8450
8455
|
/* harmony import */ var _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6203);
|
|
8451
8456
|
|
|
@@ -8552,8 +8557,8 @@ function viewportTypeUsesCustomRenderingPipeline(viewportType) {
|
|
|
8552
8557
|
var getOrCreateCanvas = __webpack_require__(45543);
|
|
8553
8558
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/init.js + 1 modules
|
|
8554
8559
|
var init = __webpack_require__(71702);
|
|
8555
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
8556
|
-
var enums = __webpack_require__(
|
|
8560
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
8561
|
+
var enums = __webpack_require__(98362);
|
|
8557
8562
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/RenderingEngine.js
|
|
8558
8563
|
|
|
8559
8564
|
|
|
@@ -18129,6 +18134,20 @@ const presets = [
|
|
|
18129
18134
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (presets);
|
|
18130
18135
|
|
|
18131
18136
|
|
|
18137
|
+
/***/ }),
|
|
18138
|
+
|
|
18139
|
+
/***/ 99842:
|
|
18140
|
+
/***/ (() => {
|
|
18141
|
+
|
|
18142
|
+
"use strict";
|
|
18143
|
+
var ContourType;
|
|
18144
|
+
(function (ContourType) {
|
|
18145
|
+
ContourType["CLOSED_PLANAR"] = "CLOSED_PLANAR";
|
|
18146
|
+
ContourType["OPEN_PLANAR"] = "OPEN_PLANAR";
|
|
18147
|
+
})(ContourType || (ContourType = {}));
|
|
18148
|
+
/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (ContourType)));
|
|
18149
|
+
|
|
18150
|
+
|
|
18132
18151
|
/***/ }),
|
|
18133
18152
|
|
|
18134
18153
|
/***/ 11731:
|
|
@@ -18488,8 +18507,8 @@ __webpack_require__.d(geometryLoader_namespaceObject, {
|
|
|
18488
18507
|
createAndCacheGeometry: () => (createAndCacheGeometry)
|
|
18489
18508
|
});
|
|
18490
18509
|
|
|
18491
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
18492
|
-
var enums = __webpack_require__(
|
|
18510
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
18511
|
+
var enums = __webpack_require__(98362);
|
|
18493
18512
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/constants/index.js + 2 modules
|
|
18494
18513
|
var constants = __webpack_require__(88903);
|
|
18495
18514
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/index.js + 3 modules
|
|
@@ -23475,7 +23494,7 @@ function createContourSet(geometryId, contourSetData) {
|
|
|
23475
23494
|
data: contourSetData.data,
|
|
23476
23495
|
color: contourSetData.color,
|
|
23477
23496
|
frameOfReferenceUID: contourSetData.frameOfReferenceUID,
|
|
23478
|
-
segmentIndex: 1,
|
|
23497
|
+
segmentIndex: contourSetData.segmentIndex ?? 1,
|
|
23479
23498
|
});
|
|
23480
23499
|
const geometry = {
|
|
23481
23500
|
id: geometryId,
|
|
@@ -23610,8 +23629,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
23610
23629
|
;// CONCATENATED MODULE: ../../../node_modules/detect-gpu/dist/detect-gpu.esm.js
|
|
23611
23630
|
function e(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{d(n.next(e))}catch(e){a(e)}}function c(e){try{d(n.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,c)}d((n=n.apply(e,t||[])).next())}))}const t=(/* unused pure expression or super */ null && (["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"]));function r(e){return e=e.toLowerCase().replace(/^angle ?\((.+)\)*$/,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const n="undefined"==typeof window,o=(()=>{if(n)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,o=/(iphone|ipod|ipad)/i.test(e),a="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(e)||o||a,isSafari12:/Version\/12.+Safari/.test(e)}})();function a(e,t,r){if(!r)return[t];const n=function(e){const t="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",r="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",n=e.createShader(35633),o=e.createShader(35632),a=e.createProgram();if(!(o&&n&&a))return;e.shaderSource(n,t),e.shaderSource(o,r),e.compileShader(n),e.compileShader(o),e.attachShader(a,n),e.attachShader(a,o),e.linkProgram(a),e.detachShader(a,n),e.detachShader(a,o),e.deleteShader(n),e.deleteShader(o),e.useProgram(a);const i=e.createBuffer();e.bindBuffer(34962,i),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const c=e.getAttribLocation(a,"aPosition");e.vertexAttribPointer(c,3,5126,!1,0,0),e.enableVertexAttribArray(c),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const d=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,d),e.deleteProgram(a),e.deleteBuffer(i),d.join("")}(e),a="801621810",i="8016218135",c="80162181161",d=(null==o?void 0:o.isIpad)?[["a7",c,12],["a8",i,15],["a8x",i,15],["a9",i,15],["a9x",i,15],["a10",i,15],["a10x",i,15],["a12",a,15],["a12x",a,15],["a12z",a,15],["a14",a,15],["m1",a,15]]:[["a7",c,12],["a8",i,12],["a9",i,15],["a10",i,15],["a11",a,15],["a12",a,15],["a13",a,15],["a14",a,15]];let l;"80162181255"===n?l=d.filter((([,,e])=>e>=14)):(l=d.filter((([,e])=>e===n)),l.length||(l=d));return l.map((([e])=>`apple ${e} gpu`))}const i=(/* unused pure expression or super */ null && ([])),c=(/* unused pure expression or super */ null && ([]));function d(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let a,d=0;for(;d<n&&e.charCodeAt(d)===t.charCodeAt(d);)d++;if(n-=d,o-=d,0===n)return o;let l,s,f=0,u=0,h=0;for(;u<n;)c[u]=e.charCodeAt(d+u),i[u]=++u;for(;h<o;)for(a=t.charCodeAt(d+h),l=h++,f=h,u=0;u<n;u++)s=a===c[u]?l:l+1,l=i[u],f=i[u]=l>f?s>f?f+1:s:s>l?l+1:s;return f}function l(e){return null!=e}class s extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const f=({mobileTiers:i=[0,15,30,60],desktopTiers:c=[0,15,30,60],override:f={},glContext:u,failIfMajorPerformanceCaveat:h=!1,benchmarksURL:g="https://unpkg.com/detect-gpu@4.0.50/dist/benchmarks"}={})=>e(void 0,void 0,void 0,(function*(){const p={};if(n)return{tier:0,type:"SSR"};const{isIpad:m=!!(null==o?void 0:o.isIpad),isMobile:v=!!(null==o?void 0:o.isMobile),screenSize:w=window.screen,loadBenchmarks:x=(t=>e(void 0,void 0,void 0,(function*(){const e=yield fetch(`${g}/${t}`).then((e=>e.json()));if(parseInt(e.shift().split(".")[0],10)<4)throw new s("Detect GPU benchmark data is out of date. Please update to version 4x");return e})))}=f;let{renderer:A}=f;const P=(e,t,r,n,o)=>({device:o,fps:n,gpu:r,isMobile:v,tier:e,type:t});let b,S="";if(A)A=r(A),b=[A];else{const e=u||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),o=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=o?o:void 0}(null==o?void 0:o.isSafari12,h);if(!e)return P(0,"WEBGL_UNSUPPORTED");const t=e.getExtension("WEBGL_debug_renderer_info");if(t&&(A=e.getParameter(t.UNMASKED_RENDERER_WEBGL)),!A)return P(1,"FALLBACK");S=A,A=r(A),b=function(e,t,r){return"apple gpu"===t?a(e,t,r):[t]}(e,A,v)}const y=(yield Promise.all(b.map((function(t){var r;return e(this,void 0,void 0,(function*(){const e=(e=>{const t=v?["adreno","apple","mali-t","mali","nvidia","powervr"]:["intel","apple","amd","radeon","nvidia","geforce"];for(const r of t)if(e.includes(r))return r})(t);if(!e)return;const n=`${v?"m":"d"}-${e}${m?"-ipad":""}.json`,o=p[n]=null!==(r=p[n])&&void 0!==r?r:x(n);let a;try{a=yield o}catch(e){if(e instanceof s)throw e;return}const i=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(t);let c=a.filter((([,e])=>e===i));c.length||(c=a.filter((([e])=>e.includes(t))));const l=c.length;if(0===l)return;let f,[u,,,h]=l>1?c.map((e=>[e,d(t,e[0])])).sort((([,e],[,t])=>e-t))[0][0]:c[0],g=Number.MAX_VALUE;const{devicePixelRatio:A}=window,P=w.width*A*w.height*A;for(const e of h){const[t,r]=e,n=t*r,o=Math.abs(P-n);o<g&&(g=o,f=e)}if(!f)return;const[,,b,S]=f;return[g,b,u,S]}))})))).filter(l).sort((([e=Number.MAX_VALUE,t],[r=Number.MAX_VALUE,n])=>e===r?t-n:e-r));if(!y.length){const e=t.find((e=>A.includes(e)));return e?P(0,"BLOCKLISTED",e):P(1,"FALLBACK",`${A} (${S})`)}const[,C,E,L]=y[0];if(-1===C)return P(0,"BLOCKLISTED",E,C,L);const M=v?i:c;let $=0;for(let e=0;e<M.length;e++)C>=M[e]&&($=e);return P($,"BENCHMARK",E,C,L)}));
|
|
23612
23631
|
|
|
23613
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
23614
|
-
var enums = __webpack_require__(
|
|
23632
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
23633
|
+
var enums = __webpack_require__(98362);
|
|
23615
23634
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/getRenderingEngine.js
|
|
23616
23635
|
var getRenderingEngine = __webpack_require__(49184);
|
|
23617
23636
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
|
|
@@ -23854,8 +23873,8 @@ const sequentialRetrieveStages = [
|
|
|
23854
23873
|
];
|
|
23855
23874
|
/* harmony default export */ const sequentialRetrieve = (sequentialRetrieveStages);
|
|
23856
23875
|
|
|
23857
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
23858
|
-
var enums = __webpack_require__(
|
|
23876
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
23877
|
+
var enums = __webpack_require__(98362);
|
|
23859
23878
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/loaders/configuration/interleavedRetrieve.js
|
|
23860
23879
|
|
|
23861
23880
|
const nearbyFrames = [
|
|
@@ -24242,7 +24261,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
24242
24261
|
/* harmony export */ setupCacheOptimizationEventListener: () => (/* binding */ setupCacheOptimizationEventListener)
|
|
24243
24262
|
/* harmony export */ });
|
|
24244
24263
|
/* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13320);
|
|
24245
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
24264
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98362);
|
|
24246
24265
|
/* harmony import */ var _eventTarget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51884);
|
|
24247
24266
|
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71702);
|
|
24248
24267
|
|
|
@@ -25389,8 +25408,8 @@ function transformIndexToWorld(imageData, voxelPos) {
|
|
|
25389
25408
|
|
|
25390
25409
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/loaders/imageLoader.js
|
|
25391
25410
|
var imageLoader = __webpack_require__(79220);
|
|
25392
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js +
|
|
25393
|
-
var enums = __webpack_require__(
|
|
25411
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
25412
|
+
var enums = __webpack_require__(98362);
|
|
25394
25413
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/requestPool/imageLoadPoolManager.js
|
|
25395
25414
|
var imageLoadPoolManager = __webpack_require__(775);
|
|
25396
25415
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js
|
|
@@ -37455,7 +37474,7 @@ MagnifyTool.toolName = 'Magnify';
|
|
|
37455
37474
|
"use strict";
|
|
37456
37475
|
/* harmony import */ var _kitware_vtk_js_Interaction_Widgets_OrientationMarkerWidget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7914);
|
|
37457
37476
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_AnnotatedCubeActor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50638);
|
|
37458
|
-
/* harmony import */ var _kitware_vtk_js_Rendering_Core_AxesActor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
37477
|
+
/* harmony import */ var _kitware_vtk_js_Rendering_Core_AxesActor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43387);
|
|
37459
37478
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_Actor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48987);
|
|
37460
37479
|
/* harmony import */ var _kitware_vtk_js_Rendering_Core_Mapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22745);
|
|
37461
37480
|
/* harmony import */ var _kitware_vtk_js_IO_XML_XMLPolyDataReader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88099);
|
|
@@ -37587,7 +37606,11 @@ class OrientationMarkerTool extends _base__WEBPACK_IMPORTED_MODULE_7__/* .BaseTo
|
|
|
37587
37606
|
element.addEventListener(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_8__.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, this.initViewports.bind(this));
|
|
37588
37607
|
const resizeObserver = new ResizeObserver(() => {
|
|
37589
37608
|
setTimeout(() => {
|
|
37590
|
-
const
|
|
37609
|
+
const element = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_8__.getEnabledElementByIds)(viewportId, renderingEngineId);
|
|
37610
|
+
if (!element) {
|
|
37611
|
+
return;
|
|
37612
|
+
}
|
|
37613
|
+
const { viewport } = element;
|
|
37591
37614
|
this.resize(viewportId);
|
|
37592
37615
|
viewport.render();
|
|
37593
37616
|
}, 100);
|
|
@@ -39004,6 +39027,316 @@ ScaleOverlayTool.toolName = 'ScaleOverlay';
|
|
|
39004
39027
|
/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (ScaleOverlayTool)));
|
|
39005
39028
|
|
|
39006
39029
|
|
|
39030
|
+
/***/ }),
|
|
39031
|
+
|
|
39032
|
+
/***/ 16151:
|
|
39033
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
39034
|
+
|
|
39035
|
+
"use strict";
|
|
39036
|
+
/* unused harmony export contourIndex */
|
|
39037
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
|
|
39038
|
+
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96214);
|
|
39039
|
+
/* harmony import */ var _stateManagement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95778);
|
|
39040
|
+
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73047);
|
|
39041
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(84901);
|
|
39042
|
+
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61738);
|
|
39043
|
+
/* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(23072);
|
|
39044
|
+
/* harmony import */ var _cursors_elementCursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(40233);
|
|
39045
|
+
/* harmony import */ var _stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(28664);
|
|
39046
|
+
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54177);
|
|
39047
|
+
/* harmony import */ var _SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(16639);
|
|
39048
|
+
/* harmony import */ var _distancePointToContour__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(7783);
|
|
39049
|
+
|
|
39050
|
+
|
|
39051
|
+
|
|
39052
|
+
|
|
39053
|
+
|
|
39054
|
+
|
|
39055
|
+
|
|
39056
|
+
|
|
39057
|
+
|
|
39058
|
+
|
|
39059
|
+
|
|
39060
|
+
|
|
39061
|
+
class SculptorTool extends _base__WEBPACK_IMPORTED_MODULE_1__/* .BaseTool */ .oS {
|
|
39062
|
+
constructor(toolProps = {}, defaultToolProps = {
|
|
39063
|
+
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
39064
|
+
configuration: {
|
|
39065
|
+
minSpacing: 1,
|
|
39066
|
+
referencedToolNames: [
|
|
39067
|
+
'PlanarFreehandROI',
|
|
39068
|
+
'PlanarFreehandContourSegmentationTool',
|
|
39069
|
+
],
|
|
39070
|
+
toolShape: 'circle',
|
|
39071
|
+
referencedToolName: 'PlanarFreehandROI',
|
|
39072
|
+
},
|
|
39073
|
+
}) {
|
|
39074
|
+
super(toolProps, defaultToolProps);
|
|
39075
|
+
this.registeredShapes = new Map();
|
|
39076
|
+
this.isActive = false;
|
|
39077
|
+
this.commonData = {
|
|
39078
|
+
activeAnnotationUID: null,
|
|
39079
|
+
viewportIdsToRender: [],
|
|
39080
|
+
isEditingOpenContour: false,
|
|
39081
|
+
canvasLocation: undefined,
|
|
39082
|
+
};
|
|
39083
|
+
this.preMouseDownCallback = (evt) => {
|
|
39084
|
+
const eventData = evt.detail;
|
|
39085
|
+
const element = eventData.element;
|
|
39086
|
+
this.configureToolSize(evt);
|
|
39087
|
+
this.selectFreehandTool(eventData);
|
|
39088
|
+
if (this.commonData.activeAnnotationUID === null) {
|
|
39089
|
+
return;
|
|
39090
|
+
}
|
|
39091
|
+
this.isActive = true;
|
|
39092
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_7__.hideElementCursor)(element);
|
|
39093
|
+
this.activateModify(element);
|
|
39094
|
+
return true;
|
|
39095
|
+
};
|
|
39096
|
+
this.mouseMoveCallback = (evt) => {
|
|
39097
|
+
if (this.mode === _enums__WEBPACK_IMPORTED_MODULE_4__.ToolModes.Active) {
|
|
39098
|
+
this.configureToolSize(evt);
|
|
39099
|
+
this.updateCursor(evt);
|
|
39100
|
+
}
|
|
39101
|
+
else {
|
|
39102
|
+
this.commonData.canvasLocation = undefined;
|
|
39103
|
+
}
|
|
39104
|
+
};
|
|
39105
|
+
this.endCallback = (evt) => {
|
|
39106
|
+
const eventData = evt.detail;
|
|
39107
|
+
const { element } = eventData;
|
|
39108
|
+
const config = this.configuration;
|
|
39109
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
39110
|
+
this.isActive = false;
|
|
39111
|
+
this.deactivateModify(element);
|
|
39112
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_7__.resetElementCursor)(element);
|
|
39113
|
+
const { renderingEngineId, viewportId } = enabledElement;
|
|
39114
|
+
const toolGroup = _store__WEBPACK_IMPORTED_MODULE_5__/* .ToolGroupManager.getToolGroupForViewport */ .dU.getToolGroupForViewport(viewportId, renderingEngineId);
|
|
39115
|
+
const toolInstance = toolGroup.getToolInstance(config.referencedToolName);
|
|
39116
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
39117
|
+
const activeAnnotation = annotations.find((annotation) => annotation.annotationUID === this.commonData.activeAnnotationUID);
|
|
39118
|
+
if (toolInstance.configuration.calculateStats) {
|
|
39119
|
+
activeAnnotation.invalidated = true;
|
|
39120
|
+
}
|
|
39121
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_9__/* .triggerAnnotationModified */ .XF)(activeAnnotation, element);
|
|
39122
|
+
};
|
|
39123
|
+
this.dragCallback = (evt) => {
|
|
39124
|
+
const eventData = evt.detail;
|
|
39125
|
+
const element = eventData.element;
|
|
39126
|
+
this.updateCursor(evt);
|
|
39127
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
39128
|
+
const activeAnnotation = annotations.find((annotation) => annotation.annotationUID === this.commonData.activeAnnotationUID);
|
|
39129
|
+
if (!annotations?.length || !this.isActive) {
|
|
39130
|
+
return;
|
|
39131
|
+
}
|
|
39132
|
+
const points = activeAnnotation.data.contour.polyline;
|
|
39133
|
+
this.sculpt(eventData, points);
|
|
39134
|
+
};
|
|
39135
|
+
this.registerShapes(_SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A.shapeName, _SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A);
|
|
39136
|
+
this.setToolShape(this.configuration.toolShape);
|
|
39137
|
+
}
|
|
39138
|
+
registerShapes(shapeName, shapeClass) {
|
|
39139
|
+
const shape = new shapeClass();
|
|
39140
|
+
this.registeredShapes.set(shapeName, shape);
|
|
39141
|
+
}
|
|
39142
|
+
sculpt(eventData, points) {
|
|
39143
|
+
const config = this.configuration;
|
|
39144
|
+
const element = eventData.element;
|
|
39145
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
39146
|
+
const { viewport } = enabledElement;
|
|
39147
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
39148
|
+
this.sculptData = {
|
|
39149
|
+
mousePoint: eventData.currentPoints.world,
|
|
39150
|
+
mouseCanvasPoint: eventData.currentPoints.canvas,
|
|
39151
|
+
points,
|
|
39152
|
+
maxSpacing: cursorShape.getMaxSpacing(config.minSpacing),
|
|
39153
|
+
element: element,
|
|
39154
|
+
};
|
|
39155
|
+
const pushedHandles = cursorShape.pushHandles(viewport, this.sculptData);
|
|
39156
|
+
if (pushedHandles.first !== undefined) {
|
|
39157
|
+
this.insertNewHandles(pushedHandles);
|
|
39158
|
+
}
|
|
39159
|
+
}
|
|
39160
|
+
interpolatePointsWithinMaxSpacing(i, points, indicesToInsertAfter, maxSpacing) {
|
|
39161
|
+
const { element } = this.sculptData;
|
|
39162
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
39163
|
+
const { viewport } = enabledElement;
|
|
39164
|
+
const nextHandleIndex = contourIndex(i + 1, points.length);
|
|
39165
|
+
const currentCanvasPoint = viewport.worldToCanvas(points[i]);
|
|
39166
|
+
const nextCanvasPoint = viewport.worldToCanvas(points[nextHandleIndex]);
|
|
39167
|
+
const distanceToNextHandle = _utilities_math__WEBPACK_IMPORTED_MODULE_3__.point.distanceToPoint(currentCanvasPoint, nextCanvasPoint);
|
|
39168
|
+
if (distanceToNextHandle > maxSpacing) {
|
|
39169
|
+
indicesToInsertAfter.push(i);
|
|
39170
|
+
}
|
|
39171
|
+
}
|
|
39172
|
+
updateCursor(evt) {
|
|
39173
|
+
const eventData = evt.detail;
|
|
39174
|
+
const element = eventData.element;
|
|
39175
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
39176
|
+
const { renderingEngine, viewport } = enabledElement;
|
|
39177
|
+
this.commonData.viewportIdsToRender = [viewport.id];
|
|
39178
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
39179
|
+
if (!annotations?.length) {
|
|
39180
|
+
return;
|
|
39181
|
+
}
|
|
39182
|
+
const activeAnnotation = annotations.find((annotation) => annotation.annotationUID === this.commonData.activeAnnotationUID);
|
|
39183
|
+
this.commonData.canvasLocation = eventData.currentPoints.canvas;
|
|
39184
|
+
if (this.isActive) {
|
|
39185
|
+
activeAnnotation.highlighted = true;
|
|
39186
|
+
}
|
|
39187
|
+
else {
|
|
39188
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
39189
|
+
const canvasCoords = eventData.currentPoints.canvas;
|
|
39190
|
+
cursorShape.updateToolSize(canvasCoords, viewport, activeAnnotation);
|
|
39191
|
+
}
|
|
39192
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_6__/* .triggerAnnotationRenderForViewportIds */ .t)(renderingEngine, this.commonData.viewportIdsToRender);
|
|
39193
|
+
}
|
|
39194
|
+
filterSculptableAnnotationsForElement(element) {
|
|
39195
|
+
const config = this.configuration;
|
|
39196
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
39197
|
+
const { renderingEngineId, viewportId } = enabledElement;
|
|
39198
|
+
const sculptableAnnotations = [];
|
|
39199
|
+
const toolGroup = _store__WEBPACK_IMPORTED_MODULE_5__/* .ToolGroupManager.getToolGroupForViewport */ .dU.getToolGroupForViewport(viewportId, renderingEngineId);
|
|
39200
|
+
const toolInstance = toolGroup.getToolInstance(config.referencedToolName);
|
|
39201
|
+
config.referencedToolNames.forEach((referencedToolName) => {
|
|
39202
|
+
const annotations = (0,_stateManagement__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotations */ .Rh)(referencedToolName, element);
|
|
39203
|
+
if (annotations) {
|
|
39204
|
+
sculptableAnnotations.push(...annotations);
|
|
39205
|
+
}
|
|
39206
|
+
});
|
|
39207
|
+
return toolInstance.filterInteractableAnnotationsForElement(element, sculptableAnnotations);
|
|
39208
|
+
}
|
|
39209
|
+
configureToolSize(evt) {
|
|
39210
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
39211
|
+
cursorShape.configureToolSize(evt);
|
|
39212
|
+
}
|
|
39213
|
+
insertNewHandles(pushedHandles) {
|
|
39214
|
+
const indicesToInsertAfter = this.findNewHandleIndices(pushedHandles);
|
|
39215
|
+
let newIndexModifier = 0;
|
|
39216
|
+
for (let i = 0; i < indicesToInsertAfter?.length; i++) {
|
|
39217
|
+
const insertIndex = indicesToInsertAfter[i] + 1 + newIndexModifier;
|
|
39218
|
+
this.insertHandleRadially(insertIndex);
|
|
39219
|
+
newIndexModifier++;
|
|
39220
|
+
}
|
|
39221
|
+
}
|
|
39222
|
+
findNewHandleIndices(pushedHandles) {
|
|
39223
|
+
const { points, maxSpacing } = this.sculptData;
|
|
39224
|
+
const indicesToInsertAfter = [];
|
|
39225
|
+
for (let i = pushedHandles.first; i <= pushedHandles.last; i++) {
|
|
39226
|
+
this.interpolatePointsWithinMaxSpacing(i, points, indicesToInsertAfter, maxSpacing);
|
|
39227
|
+
}
|
|
39228
|
+
return indicesToInsertAfter;
|
|
39229
|
+
}
|
|
39230
|
+
insertHandleRadially(insertIndex) {
|
|
39231
|
+
const { points } = this.sculptData;
|
|
39232
|
+
if (insertIndex > points.length - 1 &&
|
|
39233
|
+
this.commonData.isEditingOpenContour) {
|
|
39234
|
+
return;
|
|
39235
|
+
}
|
|
39236
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
39237
|
+
const previousIndex = insertIndex - 1;
|
|
39238
|
+
const nextIndex = contourIndex(insertIndex, points.length);
|
|
39239
|
+
const insertPosition = cursorShape.getInsertPosition(previousIndex, nextIndex, this.sculptData);
|
|
39240
|
+
const handleData = insertPosition;
|
|
39241
|
+
points.splice(insertIndex, 0, handleData);
|
|
39242
|
+
}
|
|
39243
|
+
selectFreehandTool(eventData) {
|
|
39244
|
+
const closestAnnotationUID = this.getClosestFreehandToolOnElement(eventData);
|
|
39245
|
+
if (closestAnnotationUID === undefined) {
|
|
39246
|
+
return;
|
|
39247
|
+
}
|
|
39248
|
+
this.commonData.activeAnnotationUID = closestAnnotationUID;
|
|
39249
|
+
}
|
|
39250
|
+
getClosestFreehandToolOnElement(eventData) {
|
|
39251
|
+
const { element } = eventData;
|
|
39252
|
+
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
39253
|
+
const { viewport } = enabledElement;
|
|
39254
|
+
const config = this.configuration;
|
|
39255
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
39256
|
+
if (!annotations?.length) {
|
|
39257
|
+
return;
|
|
39258
|
+
}
|
|
39259
|
+
const canvasPoints = eventData.currentPoints.canvas;
|
|
39260
|
+
const closest = {
|
|
39261
|
+
distance: Infinity,
|
|
39262
|
+
toolIndex: undefined,
|
|
39263
|
+
annotationUID: undefined,
|
|
39264
|
+
};
|
|
39265
|
+
for (let i = 0; i < annotations?.length; i++) {
|
|
39266
|
+
if (annotations[i].isLocked || !annotations[i].isVisible) {
|
|
39267
|
+
continue;
|
|
39268
|
+
}
|
|
39269
|
+
const distanceFromTool = (0,_distancePointToContour__WEBPACK_IMPORTED_MODULE_11__/* .distancePointToContour */ .X)(viewport, annotations[i], canvasPoints);
|
|
39270
|
+
if (distanceFromTool === -1) {
|
|
39271
|
+
continue;
|
|
39272
|
+
}
|
|
39273
|
+
if (distanceFromTool < closest.distance) {
|
|
39274
|
+
closest.distance = distanceFromTool;
|
|
39275
|
+
closest.toolIndex = i;
|
|
39276
|
+
closest.annotationUID = annotations[i].annotationUID;
|
|
39277
|
+
}
|
|
39278
|
+
}
|
|
39279
|
+
this.commonData.isEditingOpenContour =
|
|
39280
|
+
!annotations[closest.toolIndex].data.contour.closed;
|
|
39281
|
+
config.referencedToolName =
|
|
39282
|
+
annotations[closest.toolIndex].metadata.toolName;
|
|
39283
|
+
return closest.annotationUID;
|
|
39284
|
+
}
|
|
39285
|
+
activateModify(element) {
|
|
39286
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_UP, this.endCallback);
|
|
39287
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_CLICK, this.endCallback);
|
|
39288
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_DRAG, this.dragCallback);
|
|
39289
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_TAP, this.endCallback);
|
|
39290
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_END, this.endCallback);
|
|
39291
|
+
element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_DRAG, this.dragCallback);
|
|
39292
|
+
}
|
|
39293
|
+
deactivateModify(element) {
|
|
39294
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_UP, this.endCallback);
|
|
39295
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_CLICK, this.endCallback);
|
|
39296
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.MOUSE_DRAG, this.dragCallback);
|
|
39297
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_TAP, this.endCallback);
|
|
39298
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_END, this.endCallback);
|
|
39299
|
+
element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_4__.Events.TOUCH_DRAG, this.dragCallback);
|
|
39300
|
+
}
|
|
39301
|
+
setToolShape(toolShape) {
|
|
39302
|
+
this.selectedShape =
|
|
39303
|
+
this.registeredShapes.get(toolShape) ?? _SculptorTool_CircleSculptCursor__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A.shapeName;
|
|
39304
|
+
}
|
|
39305
|
+
renderAnnotation(enabledElement, svgDrawingHelper) {
|
|
39306
|
+
const { viewport } = enabledElement;
|
|
39307
|
+
const { element } = viewport;
|
|
39308
|
+
const viewportIdsToRender = this.commonData.viewportIdsToRender;
|
|
39309
|
+
if (!this.commonData.canvasLocation ||
|
|
39310
|
+
this.mode !== _enums__WEBPACK_IMPORTED_MODULE_4__.ToolModes.Active ||
|
|
39311
|
+
!viewportIdsToRender.includes(viewport.id)) {
|
|
39312
|
+
return;
|
|
39313
|
+
}
|
|
39314
|
+
const annotations = this.filterSculptableAnnotationsForElement(element);
|
|
39315
|
+
if (!annotations?.length) {
|
|
39316
|
+
return;
|
|
39317
|
+
}
|
|
39318
|
+
const styleSpecifier = {
|
|
39319
|
+
toolGroupId: this.toolGroupId,
|
|
39320
|
+
toolName: this.getToolName(),
|
|
39321
|
+
viewportId: enabledElement.viewport.id,
|
|
39322
|
+
};
|
|
39323
|
+
let color = (0,_stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_8__/* .getStyleProperty */ .h)('color', styleSpecifier, _enums__WEBPACK_IMPORTED_MODULE_4__.AnnotationStyleStates.Default, this.mode);
|
|
39324
|
+
if (this.isActive) {
|
|
39325
|
+
color = (0,_stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_8__/* .getStyleProperty */ .h)('color', styleSpecifier, _enums__WEBPACK_IMPORTED_MODULE_4__.AnnotationStyleStates.Highlighted, this.mode);
|
|
39326
|
+
}
|
|
39327
|
+
const cursorShape = this.registeredShapes.get(this.selectedShape);
|
|
39328
|
+
cursorShape.renderShape(svgDrawingHelper, this.commonData.canvasLocation, {
|
|
39329
|
+
color,
|
|
39330
|
+
});
|
|
39331
|
+
}
|
|
39332
|
+
}
|
|
39333
|
+
const contourIndex = (i, length) => {
|
|
39334
|
+
return (i + length) % length;
|
|
39335
|
+
};
|
|
39336
|
+
SculptorTool.toolName = 'SculptorTool';
|
|
39337
|
+
/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (SculptorTool)));
|
|
39338
|
+
|
|
39339
|
+
|
|
39007
39340
|
/***/ }),
|
|
39008
39341
|
|
|
39009
39342
|
/***/ 70494:
|
|
@@ -47305,7 +47638,7 @@ BaseTool.toolName = 'BaseTool';
|
|
|
47305
47638
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
47306
47639
|
/* harmony export */ T: () => (/* reexport safe */ _contourDisplay__WEBPACK_IMPORTED_MODULE_0__.A)
|
|
47307
47640
|
/* harmony export */ });
|
|
47308
|
-
/* harmony import */ var _contourDisplay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
47641
|
+
/* harmony import */ var _contourDisplay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57784);
|
|
47309
47642
|
|
|
47310
47643
|
|
|
47311
47644
|
|
|
@@ -50065,9 +50398,9 @@ function triggerAnnotationRender(element) {
|
|
|
50065
50398
|
|
|
50066
50399
|
"use strict";
|
|
50067
50400
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
50068
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
50401
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
50402
|
+
/* harmony export */ t: () => (/* binding */ triggerAnnotationRenderForViewportIds)
|
|
50069
50403
|
/* harmony export */ });
|
|
50070
|
-
/* unused harmony export triggerAnnotationRenderForViewportIds */
|
|
50071
50404
|
/* harmony import */ var _triggerAnnotationRender__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6805);
|
|
50072
50405
|
|
|
50073
50406
|
function triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender) {
|