@ohif/app 3.11.0-beta.26 → 3.11.0-beta.27
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/{2482.bundle.1fa6683414a09105dabc.js → 2482.bundle.949c140004140a0b8c4c.js} +83 -57
- package/dist/{2860.bundle.40fcae6d9eb5d5555090.js → 2860.bundle.aa229be90d30fe16d24a.js} +6 -6
- package/dist/{3901.bundle.41b8609da5cf97d100b8.js → 3901.bundle.ccc865838983a2005e2c.js} +31 -11
- package/dist/{6066.bundle.89df990e4f257e8ac73b.js → 6066.bundle.5abfb40e96a66bc6c59a.js} +19 -14
- package/dist/{662.bundle.7df74563b644953ece3d.js → 662.bundle.b6c80d15be908d1670fc.js} +2 -2
- package/dist/{7639.bundle.3cf2ebb64722054432ba.js → 7639.bundle.92cec01499a8932b088c.js} +89 -76
- package/dist/{app.bundle.25c9ae6b961f9f069f1c.js → app.bundle.325cd41cfcf85a5f15c7.js} +47 -28
- package/dist/{compute.bundle.31da0aa10e69a7f59109.js → compute.bundle.539bb6717f69eecb5e91.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.3fc59794577336815831.js → polySeg.bundle.8e6f8ee437015c1dc198.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- /package/dist/{1459.bundle.60613f58a8399d968906.js → 1459.bundle.28ecf8e47e78da244f4f.js} +0 -0
- /package/dist/{1807.bundle.75b668c97b41c7a75030.js → 1807.bundle.a8416900cce3ce863b19.js} +0 -0
- /package/dist/{1919.bundle.ec303b169b611f245db5.js → 1919.bundle.d3b9c64a44567b280f69.js} +0 -0
- /package/dist/{20.bundle.aa898e98c1ce5e52cd9f.js → 20.bundle.2cc621073c757d1a47c9.js} +0 -0
- /package/dist/{213.bundle.678763c86c58ec1965a1.js → 213.bundle.bf7fae674f4d8b29ca02.js} +0 -0
- /package/dist/{2424.bundle.c8c7f586f7726130e4a1.js → 2424.bundle.1607ed9c57519b756e36.js} +0 -0
- /package/dist/{2932.bundle.859dd84fc3def7b202e8.js → 2932.bundle.058004570065fffeebb9.js} +0 -0
- /package/dist/{3658.bundle.29a7117322b5dad02419.js → 3658.bundle.7b05171bab4b18c37319.js} +0 -0
- /package/dist/{4113.bundle.020ca4e8d8c0972f5d11.js → 4113.bundle.3f92235b7fe46418a1b8.js} +0 -0
- /package/dist/{5054.bundle.5c87e2de3542d229158c.js → 5054.bundle.b6b2ce49a469c35772ba.js} +0 -0
- /package/dist/{6027.bundle.004e865ea9fb25697f5a.js → 6027.bundle.1bc92c35beaeb4732dc9.js} +0 -0
- /package/dist/{6201.bundle.11945b7ddfdb52b42816.js → 6201.bundle.9377dc95ffbc20f8a458.js} +0 -0
- /package/dist/{7197.bundle.3f9805da9cf6a2f64d8b.js → 7197.bundle.bbdfce599f674b205823.js} +0 -0
- /package/dist/{810.bundle.2dd8f5a0a3d35d7d2f49.js → 810.bundle.ae2a3249e1364d487bb3.js} +0 -0
- /package/dist/{85.bundle.8bc0371fa84152cb96b2.js → 85.bundle.ce7f0b63eaa8bf35c208.js} +0 -0
- /package/dist/{8558.bundle.9c7b1dff89ae6f56d822.js → 8558.bundle.7940aaba554bd955f0a9.js} +0 -0
- /package/dist/{8815.bundle.31b6cae894c30cee4fe3.js → 8815.bundle.89e7f9c6f40cf5098431.js} +0 -0
- /package/dist/{934.bundle.152c51584c4d4dd41f5e.js → 934.bundle.93e799fc9d94860358b0.js} +0 -0
- /package/dist/{963.bundle.c80ec75876ee82c8e6d1.js → 963.bundle.2f757486d9d4278ff5ab.js} +0 -0
|
@@ -1000,7 +1000,7 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_18__/* ["def
|
|
|
1000
1000
|
|
|
1001
1001
|
/***/ }),
|
|
1002
1002
|
|
|
1003
|
-
/***/
|
|
1003
|
+
/***/ 79720:
|
|
1004
1004
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1005
1005
|
|
|
1006
1006
|
"use strict";
|
|
@@ -2094,6 +2094,30 @@ var uuidv4 = __webpack_require__(80221);
|
|
|
2094
2094
|
var getSpacingInNormalDirection = __webpack_require__(85008);
|
|
2095
2095
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getClosestImageId.js
|
|
2096
2096
|
var getClosestImageId = __webpack_require__(88619);
|
|
2097
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/reflectVector.js
|
|
2098
|
+
|
|
2099
|
+
function reflectVector(v, normal) {
|
|
2100
|
+
const dotProduct = esm/* vec3.dot */.eR.dot(v, normal);
|
|
2101
|
+
const scaledNormal = esm/* vec3.scale */.eR.scale(esm/* vec3.create */.eR.create(), normal, 2 * dotProduct);
|
|
2102
|
+
return esm/* vec3.sub */.eR.sub(esm/* vec3.create */.eR.create(), v, scaledNormal);
|
|
2103
|
+
}
|
|
2104
|
+
|
|
2105
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/adjustInitialViewUp.js
|
|
2106
|
+
|
|
2107
|
+
|
|
2108
|
+
function adjustInitialViewUp(initialViewUp, flipHorizontal, flipVertical, viewPlaneNormal) {
|
|
2109
|
+
let adjustedInitialViewUp = esm/* vec3.clone */.eR.clone(initialViewUp);
|
|
2110
|
+
if (flipVertical) {
|
|
2111
|
+
esm/* vec3.negate */.eR.negate(adjustedInitialViewUp, adjustedInitialViewUp);
|
|
2112
|
+
}
|
|
2113
|
+
if (flipHorizontal) {
|
|
2114
|
+
const screenVerticalAxis = esm/* vec3.cross */.eR.cross(esm/* vec3.create */.eR.create(), viewPlaneNormal, adjustedInitialViewUp);
|
|
2115
|
+
esm/* vec3.normalize */.eR.normalize(screenVerticalAxis, screenVerticalAxis);
|
|
2116
|
+
adjustedInitialViewUp = reflectVector(adjustedInitialViewUp, screenVerticalAxis);
|
|
2117
|
+
}
|
|
2118
|
+
return adjustedInitialViewUp;
|
|
2119
|
+
}
|
|
2120
|
+
|
|
2097
2121
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js
|
|
2098
2122
|
|
|
2099
2123
|
|
|
@@ -2137,6 +2161,7 @@ var getClosestImageId = __webpack_require__(88619);
|
|
|
2137
2161
|
|
|
2138
2162
|
|
|
2139
2163
|
|
|
2164
|
+
|
|
2140
2165
|
|
|
2141
2166
|
|
|
2142
2167
|
const EPSILON = 1;
|
|
@@ -2225,12 +2250,11 @@ class StackViewport extends Viewport/* default */.A {
|
|
|
2225
2250
|
return viewport.rotation;
|
|
2226
2251
|
};
|
|
2227
2252
|
this.getRotationGPU = () => {
|
|
2228
|
-
const { viewUp: currentViewUp, viewPlaneNormal, flipVertical, } = this.getCameraNoRotation();
|
|
2229
|
-
const
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
const
|
|
2233
|
-
const initialToCurrentViewUpCross = esm/* vec3.cross */.eR.cross(esm/* vec3.create */.eR.create(), initialViewUp, currentViewUp);
|
|
2253
|
+
const { viewUp: currentViewUp, viewPlaneNormal, flipVertical, flipHorizontal, } = this.getCameraNoRotation();
|
|
2254
|
+
const adjustedViewUp = adjustInitialViewUp(this.initialViewUp, flipHorizontal, flipVertical, viewPlaneNormal);
|
|
2255
|
+
const angleRad = esm/* vec3.angle */.eR.angle(adjustedViewUp, currentViewUp);
|
|
2256
|
+
const initialToCurrentViewUpAngle = (angleRad * 180) / Math.PI;
|
|
2257
|
+
const initialToCurrentViewUpCross = esm/* vec3.cross */.eR.cross(esm/* vec3.create */.eR.create(), adjustedViewUp, currentViewUp);
|
|
2234
2258
|
const normalDot = esm/* vec3.dot */.eR.dot(initialToCurrentViewUpCross, viewPlaneNormal);
|
|
2235
2259
|
return normalDot >= 0
|
|
2236
2260
|
? initialToCurrentViewUpAngle
|
|
@@ -2892,12 +2916,10 @@ class StackViewport extends Viewport/* default */.A {
|
|
|
2892
2916
|
const pan = this.getPan();
|
|
2893
2917
|
const panSub = esm/* vec2.sub */.Zc.sub([0, 0], panFit, pan);
|
|
2894
2918
|
this.setPan(panSub, false);
|
|
2895
|
-
const { flipVertical } = this.getCamera();
|
|
2896
|
-
const
|
|
2897
|
-
? esm/* vec3.negate */.eR.negate(esm/* vec3.create */.eR.create(), this.initialViewUp)
|
|
2898
|
-
: this.initialViewUp;
|
|
2919
|
+
const { flipVertical, flipHorizontal, viewPlaneNormal } = this.getCamera();
|
|
2920
|
+
const adjustedViewUp = adjustInitialViewUp(this.initialViewUp, flipHorizontal, flipVertical, viewPlaneNormal);
|
|
2899
2921
|
this.setCameraNoEvent({
|
|
2900
|
-
viewUp:
|
|
2922
|
+
viewUp: adjustedViewUp,
|
|
2901
2923
|
});
|
|
2902
2924
|
this.getVtkActiveCamera().roll(-rotation);
|
|
2903
2925
|
const afterPan = this.getPan();
|
|
@@ -5943,9 +5965,6 @@ class Viewport {
|
|
|
5943
5965
|
if (pan) {
|
|
5944
5966
|
this.setPan(gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec2.scale */ .Zc.scale([0, 0], pan, zoom));
|
|
5945
5967
|
}
|
|
5946
|
-
if (rotation >= 0) {
|
|
5947
|
-
this.setRotation(rotation);
|
|
5948
|
-
}
|
|
5949
5968
|
if (flipHorizontal !== undefined &&
|
|
5950
5969
|
flipHorizontal !== this.flipHorizontal) {
|
|
5951
5970
|
this.flip({ flipHorizontal });
|
|
@@ -5953,6 +5972,9 @@ class Viewport {
|
|
|
5953
5972
|
if (flipVertical !== undefined && flipVertical !== this.flipVertical) {
|
|
5954
5973
|
this.flip({ flipVertical });
|
|
5955
5974
|
}
|
|
5975
|
+
if (rotation >= 0) {
|
|
5976
|
+
this.setRotation(rotation);
|
|
5977
|
+
}
|
|
5956
5978
|
}
|
|
5957
5979
|
_getCorners(bounds) {
|
|
5958
5980
|
return [
|
|
@@ -7343,12 +7365,9 @@ class WSIViewport extends Viewport/* default */.A {
|
|
|
7343
7365
|
}
|
|
7344
7366
|
getCamera() {
|
|
7345
7367
|
this.refreshRenderValues();
|
|
7346
|
-
const { resolution, xSpacing } = this.internalCamera;
|
|
7368
|
+
const { resolution, xSpacing, centerIndex } = this.internalCamera;
|
|
7347
7369
|
const canvasToWorldRatio = resolution * xSpacing;
|
|
7348
|
-
const canvasCenter =
|
|
7349
|
-
this.element.clientWidth / 2,
|
|
7350
|
-
this.element.clientHeight / 2,
|
|
7351
|
-
];
|
|
7370
|
+
const canvasCenter = this.indexToCanvas(centerIndex.slice(0, 2));
|
|
7352
7371
|
const focalPoint = this.canvasToWorld(canvasCenter);
|
|
7353
7372
|
return {
|
|
7354
7373
|
parallelProjection: true,
|
|
@@ -10176,8 +10195,8 @@ var ViewportType = __webpack_require__(41864);
|
|
|
10176
10195
|
var VolumeViewport = __webpack_require__(94155);
|
|
10177
10196
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/BaseVolumeViewport.js
|
|
10178
10197
|
var BaseVolumeViewport = __webpack_require__(46347);
|
|
10179
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js +
|
|
10180
|
-
var StackViewport = __webpack_require__(
|
|
10198
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js + 14 modules
|
|
10199
|
+
var StackViewport = __webpack_require__(79720);
|
|
10181
10200
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/VolumeViewport3D.js
|
|
10182
10201
|
var VolumeViewport3D = __webpack_require__(40893);
|
|
10183
10202
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/VideoViewport.js + 3 modules
|
|
@@ -37406,17 +37425,19 @@ async function render(viewport, representation) {
|
|
|
37406
37425
|
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(17328);
|
|
37407
37426
|
/* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60810);
|
|
37408
37427
|
/* harmony import */ var _utilities_throttle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(27730);
|
|
37409
|
-
/* harmony import */ var
|
|
37410
|
-
/* harmony import */ var
|
|
37411
|
-
/* harmony import */ var
|
|
37412
|
-
/* harmony import */ var
|
|
37413
|
-
/* harmony import */ var
|
|
37414
|
-
/* harmony import */ var
|
|
37415
|
-
/* harmony import */ var
|
|
37416
|
-
/* harmony import */ var
|
|
37417
|
-
/* harmony import */ var
|
|
37418
|
-
/* harmony import */ var
|
|
37419
|
-
/* harmony import */ var
|
|
37428
|
+
/* harmony import */ var _utilities_debounce__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52905);
|
|
37429
|
+
/* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(473);
|
|
37430
|
+
/* harmony import */ var _utilities_planar_getWorldWidthAndHeightFromCorners__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(35489);
|
|
37431
|
+
/* harmony import */ var _stateManagement_annotation_annotationVisibility__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(29601);
|
|
37432
|
+
/* harmony import */ var _cursors_elementCursor__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(7001);
|
|
37433
|
+
/* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(58640);
|
|
37434
|
+
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(44049);
|
|
37435
|
+
/* harmony import */ var _annotation_RectangleROITool__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(4010);
|
|
37436
|
+
/* harmony import */ var _utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(18990);
|
|
37437
|
+
/* harmony import */ var _utilities_math_basic__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(73262);
|
|
37438
|
+
/* harmony import */ var _utilities_planar__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(13165);
|
|
37439
|
+
/* harmony import */ var _utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(40634);
|
|
37440
|
+
|
|
37420
37441
|
|
|
37421
37442
|
|
|
37422
37443
|
|
|
@@ -37437,15 +37458,16 @@ async function render(viewport, representation) {
|
|
|
37437
37458
|
|
|
37438
37459
|
|
|
37439
37460
|
const { transformWorldToIndex } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities;
|
|
37440
|
-
class RectangleROIStartEndThresholdTool extends
|
|
37461
|
+
class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A {
|
|
37441
37462
|
constructor(toolProps = {}, defaultToolProps = {
|
|
37442
37463
|
configuration: {
|
|
37443
37464
|
storePointData: false,
|
|
37444
37465
|
numSlicesToPropagate: 10,
|
|
37445
|
-
|
|
37466
|
+
calculatePointsInsideVolume: true,
|
|
37446
37467
|
getTextLines: defaultGetTextLines,
|
|
37447
|
-
statsCalculator:
|
|
37468
|
+
statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_17__.BasicStatsCalculator,
|
|
37448
37469
|
showTextBox: false,
|
|
37470
|
+
throttleTimeout: 100,
|
|
37449
37471
|
},
|
|
37450
37472
|
}) {
|
|
37451
37473
|
super(toolProps, defaultToolProps);
|
|
@@ -37528,9 +37550,9 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37528
37550
|
hasMoved: false,
|
|
37529
37551
|
};
|
|
37530
37552
|
this._activateDraw(element);
|
|
37531
|
-
(0,
|
|
37553
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_12__.hideElementCursor)(element);
|
|
37532
37554
|
evt.preventDefault();
|
|
37533
|
-
(0,
|
|
37555
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .A)(viewportIdsToRender);
|
|
37534
37556
|
return annotation;
|
|
37535
37557
|
};
|
|
37536
37558
|
this._endCallback = (evt) => {
|
|
@@ -37544,7 +37566,7 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37544
37566
|
data.handles.activeHandleIndex = null;
|
|
37545
37567
|
this._deactivateModify(element);
|
|
37546
37568
|
this._deactivateDraw(element);
|
|
37547
|
-
(0,
|
|
37569
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_12__.resetElementCursor)(element);
|
|
37548
37570
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
37549
37571
|
this.editData = null;
|
|
37550
37572
|
this.isDrawing = false;
|
|
@@ -37554,12 +37576,13 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37554
37576
|
}
|
|
37555
37577
|
const targetId = this.getTargetId(enabledElement.viewport);
|
|
37556
37578
|
const imageVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
37557
|
-
|
|
37558
|
-
|
|
37559
|
-
}
|
|
37560
|
-
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(viewportIdsToRender);
|
|
37579
|
+
this._computePointsInsideVolume(annotation, targetId, imageVolume, enabledElement);
|
|
37580
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .A)(viewportIdsToRender);
|
|
37561
37581
|
if (newAnnotation) {
|
|
37562
|
-
(0,
|
|
37582
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__.triggerAnnotationCompleted)(annotation);
|
|
37583
|
+
}
|
|
37584
|
+
else {
|
|
37585
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__.triggerAnnotationModified)(annotation, element);
|
|
37563
37586
|
}
|
|
37564
37587
|
};
|
|
37565
37588
|
this.renderAnnotation = (enabledElement, svgDrawingHelper) => {
|
|
@@ -37569,7 +37592,7 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37569
37592
|
if (!annotations?.length) {
|
|
37570
37593
|
return renderStatus;
|
|
37571
37594
|
}
|
|
37572
|
-
annotations = (0,
|
|
37595
|
+
annotations = (0,_utilities_planar__WEBPACK_IMPORTED_MODULE_18__.filterAnnotationsWithinSamePlane)(annotations, viewport.getCamera());
|
|
37573
37596
|
const styleSpecifier = {
|
|
37574
37597
|
toolGroupId: this.toolGroupId,
|
|
37575
37598
|
toolName: this.getToolName(),
|
|
@@ -37623,7 +37646,7 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37623
37646
|
return renderStatus;
|
|
37624
37647
|
}
|
|
37625
37648
|
let activeHandleCanvasCoords;
|
|
37626
|
-
if (!(0,
|
|
37649
|
+
if (!(0,_stateManagement_annotation_annotationVisibility__WEBPACK_IMPORTED_MODULE_11__.isAnnotationVisible)(annotationUID)) {
|
|
37627
37650
|
continue;
|
|
37628
37651
|
}
|
|
37629
37652
|
if (!(0,_stateManagement_annotation_annotationLocking__WEBPACK_IMPORTED_MODULE_4__.isAnnotationLocked)(annotationUID) &&
|
|
@@ -37649,8 +37672,7 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37649
37672
|
lineWidth,
|
|
37650
37673
|
});
|
|
37651
37674
|
renderStatus = true;
|
|
37652
|
-
if (this.configuration.showTextBox
|
|
37653
|
-
this.configuration.calculatePointsInsideVolume) {
|
|
37675
|
+
if (this.configuration.showTextBox) {
|
|
37654
37676
|
const options = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
|
|
37655
37677
|
if (!options.visibility) {
|
|
37656
37678
|
data.handles.textBox = {
|
|
@@ -37670,7 +37692,7 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37670
37692
|
continue;
|
|
37671
37693
|
}
|
|
37672
37694
|
if (!data.handles.textBox.hasMoved) {
|
|
37673
|
-
const canvasTextBoxCoords = (0,
|
|
37695
|
+
const canvasTextBoxCoords = (0,_utilities_drawing__WEBPACK_IMPORTED_MODULE_9__.getTextBoxCoordsCanvas)(canvasCoordinates);
|
|
37674
37696
|
data.handles.textBox.worldPosition =
|
|
37675
37697
|
viewport.canvasToWorld(canvasTextBoxCoords);
|
|
37676
37698
|
}
|
|
@@ -37688,7 +37710,12 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37688
37710
|
}
|
|
37689
37711
|
return renderStatus;
|
|
37690
37712
|
};
|
|
37691
|
-
|
|
37713
|
+
if (this.configuration.calculatePointsInsideVolume) {
|
|
37714
|
+
this._throttledCalculateCachedStats = (0,_utilities_throttle__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(this._calculateCachedStatsTool, this.configuration.throttleTimeout, { trailing: true });
|
|
37715
|
+
}
|
|
37716
|
+
else {
|
|
37717
|
+
this._throttledCalculateCachedStats = (0,_utilities_debounce__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(this._calculateCachedStatsTool, this.configuration.throttleTimeout);
|
|
37718
|
+
}
|
|
37692
37719
|
}
|
|
37693
37720
|
_computeProjectionPoints(annotation, imageVolume) {
|
|
37694
37721
|
const { data, metadata } = annotation;
|
|
@@ -37734,15 +37761,15 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37734
37761
|
const image = this.getTargetImageData(targetId);
|
|
37735
37762
|
const worldPos1 = data.handles.points[0];
|
|
37736
37763
|
const worldPos2 = data.handles.points[3];
|
|
37737
|
-
const { worldWidth, worldHeight } = (0,
|
|
37764
|
+
const { worldWidth, worldHeight } = (0,_utilities_planar_getWorldWidthAndHeightFromCorners__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(viewPlaneNormal, viewUp, worldPos1, worldPos2);
|
|
37738
37765
|
const measureInfo = (0,_utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_1__/* .getCalibratedLengthUnitsAndScale */ .Op)(image, data.habdles);
|
|
37739
37766
|
const area = Math.abs(worldWidth * worldHeight) /
|
|
37740
37767
|
(measureInfo.scale * measureInfo.scale);
|
|
37741
37768
|
const modalityUnitOptions = {
|
|
37742
|
-
isPreScaled: (0,
|
|
37769
|
+
isPreScaled: (0,_utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_16__/* .isViewportPreScaled */ .u)(viewport, targetId),
|
|
37743
37770
|
isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
|
|
37744
37771
|
};
|
|
37745
|
-
const modalityUnit = (0,
|
|
37772
|
+
const modalityUnit = (0,_utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_19__/* .getPixelValueUnits */ .j)(metadata.Modality, annotation.metadata.referencedImageId, modalityUnitOptions);
|
|
37746
37773
|
for (let i = 0; i < projectionPoints.length; i++) {
|
|
37747
37774
|
if (!imageVolume) {
|
|
37748
37775
|
continue;
|
|
@@ -37804,11 +37831,9 @@ class RectangleROIStartEndThresholdTool extends _annotation_RectangleROITool__WE
|
|
|
37804
37831
|
const targetId = this.getTargetId(viewport);
|
|
37805
37832
|
const imageVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
37806
37833
|
this._computeProjectionPoints(annotation, imageVolume);
|
|
37807
|
-
|
|
37808
|
-
this._computePointsInsideVolume(annotation, targetId, imageVolume, enabledElement);
|
|
37809
|
-
}
|
|
37834
|
+
this._computePointsInsideVolume(annotation, targetId, imageVolume, enabledElement);
|
|
37810
37835
|
annotation.invalidated = false;
|
|
37811
|
-
(0,
|
|
37836
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__.triggerAnnotationModified)(annotation, viewport.element);
|
|
37812
37837
|
return cachedStats;
|
|
37813
37838
|
}
|
|
37814
37839
|
_getStartCoordinate(worldPos, viewPlaneNormal) {
|
|
@@ -40032,6 +40057,7 @@ async function calculateVolumeStatistics({ operationData, indices, unit, mode, }
|
|
|
40032
40057
|
segmentationInfo,
|
|
40033
40058
|
imageInfo,
|
|
40034
40059
|
indices,
|
|
40060
|
+
unit,
|
|
40035
40061
|
mode,
|
|
40036
40062
|
});
|
|
40037
40063
|
(0,_utilsForWorker__WEBPACK_IMPORTED_MODULE_1__/* .triggerWorkerProgress */ .sg)(_enums__WEBPACK_IMPORTED_MODULE_4__.WorkerTypes.COMPUTE_STATISTICS, 100);
|
|
@@ -367,8 +367,8 @@ var VolumeViewport = __webpack_require__(94155);
|
|
|
367
367
|
var VolumeViewport3D = __webpack_require__(40893);
|
|
368
368
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/BaseVolumeViewport.js
|
|
369
369
|
var BaseVolumeViewport = __webpack_require__(46347);
|
|
370
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js +
|
|
371
|
-
var StackViewport = __webpack_require__(
|
|
370
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js + 14 modules
|
|
371
|
+
var StackViewport = __webpack_require__(79720);
|
|
372
372
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/VideoViewport.js + 3 modules
|
|
373
373
|
var VideoViewport = __webpack_require__(32501);
|
|
374
374
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/WSIViewport.js + 1 modules
|
|
@@ -4176,8 +4176,8 @@ var PointsManager = __webpack_require__(13876);
|
|
|
4176
4176
|
var deepMerge = __webpack_require__(74268);
|
|
4177
4177
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getScalingParameters.js
|
|
4178
4178
|
var getScalingParameters = __webpack_require__(32173);
|
|
4179
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js +
|
|
4180
|
-
var StackViewport = __webpack_require__(
|
|
4179
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js + 14 modules
|
|
4180
|
+
var StackViewport = __webpack_require__(79720);
|
|
4181
4181
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/getEnabledElement.js
|
|
4182
4182
|
var getEnabledElement = __webpack_require__(86846);
|
|
4183
4183
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getImageLegacy.js
|
|
@@ -14111,7 +14111,7 @@ const computeWorker = {
|
|
|
14111
14111
|
};
|
|
14112
14112
|
},
|
|
14113
14113
|
calculateSegmentsStatisticsVolume: (args) => {
|
|
14114
|
-
const { mode, indices } = args;
|
|
14114
|
+
const { mode, indices, unit } = args;
|
|
14115
14115
|
const { segmentation, image } = computeWorker.getArgsFromInfo(args);
|
|
14116
14116
|
const { voxelManager: segVoxelManager, spacing: segmentationSpacing } = segmentation;
|
|
14117
14117
|
const { voxelManager: imageVoxelManager } = image;
|
|
@@ -14125,8 +14125,8 @@ const computeWorker = {
|
|
|
14125
14125
|
});
|
|
14126
14126
|
const stats = SegmentStatsCalculator.getStatistics({
|
|
14127
14127
|
spacing: segmentationSpacing,
|
|
14128
|
-
unit: 'mm',
|
|
14129
14128
|
mode,
|
|
14129
|
+
unit,
|
|
14130
14130
|
});
|
|
14131
14131
|
return stats;
|
|
14132
14132
|
},
|
|
@@ -625,6 +625,29 @@ function ViewportOrientationMarkers({
|
|
|
625
625
|
const {
|
|
626
626
|
cornerstoneViewportService
|
|
627
627
|
} = servicesManager.services;
|
|
628
|
+
|
|
629
|
+
// Store initial viewUp and viewRight for volume viewports
|
|
630
|
+
const initialVolumeOrientationRef = (0,react.useRef)({
|
|
631
|
+
initialViewUp: null,
|
|
632
|
+
initialViewRight: null
|
|
633
|
+
});
|
|
634
|
+
(0,react.useEffect)(() => {
|
|
635
|
+
initialVolumeOrientationRef.current.initialViewUp = null;
|
|
636
|
+
initialVolumeOrientationRef.current.initialViewRight = null;
|
|
637
|
+
if (viewportData?.viewportType !== 'stack' && element && (0,dist_esm.getEnabledElement)(element)) {
|
|
638
|
+
const {
|
|
639
|
+
viewport
|
|
640
|
+
} = (0,dist_esm.getEnabledElement)(element);
|
|
641
|
+
const {
|
|
642
|
+
viewUp,
|
|
643
|
+
viewPlaneNormal
|
|
644
|
+
} = viewport.getCamera();
|
|
645
|
+
const viewRight = gl_matrix_esm/* vec3.create */.eR.create();
|
|
646
|
+
gl_matrix_esm/* vec3.cross */.eR.cross(viewRight, viewUp, viewPlaneNormal);
|
|
647
|
+
initialVolumeOrientationRef.current.initialViewUp = [...viewUp];
|
|
648
|
+
initialVolumeOrientationRef.current.initialViewRight = [...viewRight];
|
|
649
|
+
}
|
|
650
|
+
}, [element, viewportData]);
|
|
628
651
|
(0,react.useEffect)(() => {
|
|
629
652
|
const cameraModifiedListener = evt => {
|
|
630
653
|
const {
|
|
@@ -672,17 +695,14 @@ function ViewportOrientationMarkers({
|
|
|
672
695
|
if (!element || !(0,dist_esm.getEnabledElement)(element)) {
|
|
673
696
|
return '';
|
|
674
697
|
}
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
gl_matrix_esm/* vec3.cross */.eR.cross(viewRight, viewUp, viewPlaneNormal);
|
|
684
|
-
columnCosines = [-viewUp[0], -viewUp[1], -viewUp[2]];
|
|
685
|
-
rowCosines = viewRight;
|
|
698
|
+
if (initialVolumeOrientationRef.current.initialViewUp && initialVolumeOrientationRef.current.initialViewRight) {
|
|
699
|
+
// Use initial orientation values for consistency, even as the camera changes
|
|
700
|
+
columnCosines = [-initialVolumeOrientationRef.current.initialViewUp[0], -initialVolumeOrientationRef.current.initialViewUp[1], -initialVolumeOrientationRef.current.initialViewUp[2]];
|
|
701
|
+
rowCosines = initialVolumeOrientationRef.current.initialViewRight;
|
|
702
|
+
} else {
|
|
703
|
+
console.warn('ViewportOrientationMarkers::No initial orientation values');
|
|
704
|
+
return '';
|
|
705
|
+
}
|
|
686
706
|
}
|
|
687
707
|
if (!rowCosines || !columnCosines || rotation === undefined || isDefaultValueSetForRowCosine || isDefaultValueSetForColumnCosine) {
|
|
688
708
|
return '';
|
|
@@ -381,8 +381,8 @@ var VolumeViewport = __webpack_require__(94155);
|
|
|
381
381
|
var VolumeViewport3D = __webpack_require__(40893);
|
|
382
382
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/BaseVolumeViewport.js
|
|
383
383
|
var BaseVolumeViewport = __webpack_require__(46347);
|
|
384
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js +
|
|
385
|
-
var StackViewport = __webpack_require__(
|
|
384
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js + 14 modules
|
|
385
|
+
var StackViewport = __webpack_require__(79720);
|
|
386
386
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/VideoViewport.js + 3 modules
|
|
387
387
|
var VideoViewport = __webpack_require__(32501);
|
|
388
388
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/WSIViewport.js + 1 modules
|
|
@@ -4235,8 +4235,8 @@ var PointsManager = __webpack_require__(13876);
|
|
|
4235
4235
|
var deepMerge = __webpack_require__(74268);
|
|
4236
4236
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getScalingParameters.js
|
|
4237
4237
|
var getScalingParameters = __webpack_require__(32173);
|
|
4238
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js +
|
|
4239
|
-
var StackViewport = __webpack_require__(
|
|
4238
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/StackViewport.js + 14 modules
|
|
4239
|
+
var StackViewport = __webpack_require__(79720);
|
|
4240
4240
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/getEnabledElement.js
|
|
4241
4241
|
var getEnabledElement = __webpack_require__(86846);
|
|
4242
4242
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getImageLegacy.js
|
|
@@ -23826,6 +23826,7 @@ var RectangleROIStartEndThresholdTool = __webpack_require__(67847);
|
|
|
23826
23826
|
|
|
23827
23827
|
|
|
23828
23828
|
|
|
23829
|
+
|
|
23829
23830
|
|
|
23830
23831
|
|
|
23831
23832
|
const { transformWorldToIndex: CircleROIStartEndThresholdTool_transformWorldToIndex } = esm.utilities;
|
|
@@ -23835,10 +23836,11 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
23835
23836
|
configuration: {
|
|
23836
23837
|
storePointData: false,
|
|
23837
23838
|
numSlicesToPropagate: 10,
|
|
23838
|
-
calculatePointsInsideVolume:
|
|
23839
|
+
calculatePointsInsideVolume: true,
|
|
23839
23840
|
getTextLines: CircleROIStartEndThresholdTool_defaultGetTextLines,
|
|
23840
23841
|
statsCalculator: basic.BasicStatsCalculator,
|
|
23841
23842
|
showTextBox: false,
|
|
23843
|
+
throttleTimeout: 100,
|
|
23842
23844
|
},
|
|
23843
23845
|
}) {
|
|
23844
23846
|
super(toolProps, defaultToolProps);
|
|
@@ -23942,13 +23944,14 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
23942
23944
|
}
|
|
23943
23945
|
const targetId = this.getTargetId(enabledElement.viewport);
|
|
23944
23946
|
const imageVolume = esm.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
23945
|
-
|
|
23946
|
-
this._computePointsInsideVolume(annotation, imageVolume, targetId, enabledElement);
|
|
23947
|
-
}
|
|
23947
|
+
this._computePointsInsideVolume(annotation, imageVolume, targetId, enabledElement);
|
|
23948
23948
|
(0,triggerAnnotationRenderForViewportIds/* default */.A)(viewportIdsToRender);
|
|
23949
23949
|
if (newAnnotation) {
|
|
23950
23950
|
(0,helpers_state.triggerAnnotationCompleted)(annotation);
|
|
23951
23951
|
}
|
|
23952
|
+
else {
|
|
23953
|
+
(0,helpers_state.triggerAnnotationModified)(annotation, element);
|
|
23954
|
+
}
|
|
23952
23955
|
};
|
|
23953
23956
|
this.renderAnnotation = (enabledElement, svgDrawingHelper) => {
|
|
23954
23957
|
let renderStatus = false;
|
|
@@ -24053,8 +24056,7 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
24053
24056
|
}
|
|
24054
24057
|
}
|
|
24055
24058
|
renderStatus = true;
|
|
24056
|
-
if (this.configuration.showTextBox
|
|
24057
|
-
this.configuration.calculatePointsInsideVolume == true) {
|
|
24059
|
+
if (this.configuration.showTextBox) {
|
|
24058
24060
|
const options = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
|
|
24059
24061
|
if (!options.visibility) {
|
|
24060
24062
|
data.handles.textBox = {
|
|
@@ -24093,7 +24095,12 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
24093
24095
|
}
|
|
24094
24096
|
return renderStatus;
|
|
24095
24097
|
};
|
|
24096
|
-
|
|
24098
|
+
if (this.configuration.calculatePointsInsideVolume) {
|
|
24099
|
+
this._throttledCalculateCachedStats = (0,throttle/* default */.A)(this._calculateCachedStatsTool, this.configuration.throttleTimeout, { trailing: true });
|
|
24100
|
+
}
|
|
24101
|
+
else {
|
|
24102
|
+
this._throttledCalculateCachedStats = (0,debounce/* default */.A)(this._calculateCachedStatsTool, this.configuration.throttleTimeout);
|
|
24103
|
+
}
|
|
24097
24104
|
}
|
|
24098
24105
|
_computeProjectionPoints(annotation, imageVolume) {
|
|
24099
24106
|
const { data, metadata } = annotation;
|
|
@@ -24233,9 +24240,7 @@ class CircleROIStartEndThresholdTool extends annotation_CircleROITool {
|
|
|
24233
24240
|
const targetId = this.getTargetId(viewport);
|
|
24234
24241
|
const imageVolume = esm.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
24235
24242
|
this._computeProjectionPoints(annotation, imageVolume);
|
|
24236
|
-
|
|
24237
|
-
this._computePointsInsideVolume(annotation, imageVolume, targetId, enabledElement);
|
|
24238
|
-
}
|
|
24243
|
+
this._computePointsInsideVolume(annotation, imageVolume, targetId, enabledElement);
|
|
24239
24244
|
annotation.invalidated = false;
|
|
24240
24245
|
(0,helpers_state.triggerAnnotationModified)(annotation, viewport.element);
|
|
24241
24246
|
return cachedStats;
|
|
@@ -10455,8 +10455,8 @@ function AboutModalDefault() {
|
|
|
10455
10455
|
name
|
|
10456
10456
|
} = (0,browser_detect_es5/* default */.A)();
|
|
10457
10457
|
const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
|
|
10458
|
-
const versionNumber = "3.11.0-beta.
|
|
10459
|
-
const commitHash = "
|
|
10458
|
+
const versionNumber = "3.11.0-beta.27";
|
|
10459
|
+
const commitHash = "a5ea3e15c70f6b8f2d16257f5f5c774c921d82cb";
|
|
10460
10460
|
const [main, beta] = versionNumber.split('-');
|
|
10461
10461
|
return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VTU, {
|
|
10462
10462
|
className: "w-[400px]"
|