@ohif/app 3.12.0-beta.94 → 3.12.0-beta.95

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.
Files changed (51) hide show
  1. package/dist/{2243.bundle.80159275d76d64068398.js → 1403.bundle.0cc9b71be06feb38fb96.js} +13 -2
  2. package/dist/{874.bundle.7231044ccaf5e8718b75.js → 1730.bundle.599c7f3ec491e34515b8.js} +13 -2
  3. package/dist/{1903.bundle.48041ca9cd77cafa22fb.js → 1903.bundle.5bf4f8277423ebb9a258.js} +3 -3
  4. package/dist/{306.bundle.a0af0889477845729c6a.js → 2842.bundle.7852a204d3510fca8b27.js} +2571 -2510
  5. package/dist/{4759.bundle.a392deef02dccd5300b6.js → 3343.bundle.f8fe9316b0ff68d087f7.js} +13 -2
  6. package/dist/{4033.bundle.1609f8751de2a6aff280.js → 3353.bundle.a0f1654c642395bbbbbc.js} +13 -3
  7. package/dist/{319.bundle.febb2a63634488c11db6.js → 3584.bundle.839a16d349815b3f7c97.js} +87 -210
  8. package/dist/{4019.bundle.03029c488a02493cb7f3.js → 4019.bundle.01f63d5dd5b96ded0c00.js} +28 -28
  9. package/dist/{6991.bundle.23c0e9711e3a58abe8d2.js → 4775.bundle.b65e59639d4b16bba714.js} +13 -2
  10. package/dist/{5400.bundle.428fdd2dc347a7fda9e6.js → 5400.bundle.de97508611da1c00d58a.js} +80 -79
  11. package/dist/{8802.bundle.4958d8ba1d0d521a002a.js → 5448.bundle.9a36e001169ea3bfeb6c.js} +51681 -48998
  12. package/dist/{2974.bundle.a90a9df917b90bc02c69.js → 5462.bundle.a81a691eeef782ab95b9.js} +13 -2
  13. package/dist/{9742.bundle.b6a8307f0fe8be2aae1e.js → 5491.bundle.2e01dd7ad29e4cc01bc1.js} +8458 -8426
  14. package/dist/{1037.bundle.dd9098a9a640f0d0ef0f.js → 5549.bundle.d5def6a3124a3a481b7c.js} +2952 -2700
  15. package/dist/{1515.bundle.da852a4908f1c1139b0b.js → 6163.bundle.6ad08ebba84844fcd790.js} +13 -2
  16. package/dist/{573.bundle.a00b1c9a43f933c220ec.js → 6354.bundle.c387737dc09c9cab4ff2.js} +6390 -6167
  17. package/dist/{7412.bundle.dfe01ae3e53107abe53d.js → 7412.bundle.aec4834a71fc27c4ce06.js} +633 -475
  18. package/dist/{7431.bundle.b80819b8eb28d2ee897d.js → 7431.bundle.999b2b65d4973bc56218.js} +4 -4
  19. package/dist/{8558.bundle.30da60039984bb8c4e04.js → 8558.bundle.bae1cbb8faf10e4fec0e.js} +15 -4
  20. package/dist/{9195.bundle.7fd1c67dee9c751194c8.js → 9195.bundle.305aafd81e7765e66a46.js} +2 -2
  21. package/dist/{9845.bundle.0d22f2210c1d5ac18882.js → 9845.bundle.31aec3fe7a5cdc247f4e.js} +2 -2
  22. package/dist/{app.bundle.1e48041ec1bfffd0aad5.js → app.bundle.58aaeedec510334d427f.js} +238552 -235564
  23. package/dist/{compute.bundle.4c0ef8b919cbe5eef44d.js → compute.bundle.fdee4a0f193ee2e1b6da.js} +3 -3
  24. package/dist/{histogram-worker.bundle.b7bb02c6cd9273c422f5.js → histogram-worker.bundle.d4e40a8018d2698b072e.js} +6 -18
  25. package/dist/index.html +1 -1
  26. package/dist/{interpolation.bundle.f58dd6d3d25dd22cfefd.js → interpolation.bundle.1938b79f9d6db363528a.js} +6 -18
  27. package/dist/{polySeg.bundle.75f37f2780c5375e161e.js → polySeg.bundle.11f9746cd60c9811a412.js} +3 -3
  28. package/dist/sw.js +1 -1
  29. package/package.json +21 -21
  30. /package/dist/{1459.bundle.137c2c69a1cbaccedf79.js → 1459.bundle.8abb763d14013ef3ddb1.js} +0 -0
  31. /package/dist/{147.bundle.c191ca0b67633f707aff.js → 147.bundle.205350dc3d21478277b1.js} +0 -0
  32. /package/dist/{1515.css → 1730.css} +0 -0
  33. /package/dist/{1933.bundle.6ee5c1c5d26aa67dda01.js → 1933.bundle.b86642a52d5b86ef47be.js} +0 -0
  34. /package/dist/{2018.bundle.5ac8b1aa23bddb78ee6d.js → 2018.bundle.2026bbaeccd996b60928.js} +0 -0
  35. /package/dist/{213.bundle.babe33a5885e70aff26c.js → 213.bundle.2c34d8b10f51bde6f66f.js} +0 -0
  36. /package/dist/{2424.bundle.33d82e6640795ef26891.js → 2424.bundle.f07edd7c7f686331f9b6.js} +0 -0
  37. /package/dist/{4759.css → 3343.css} +0 -0
  38. /package/dist/{3461.bundle.e9f930c780f54fb105f1.js → 3461.bundle.34354e8fbd1e37108cdb.js} +0 -0
  39. /package/dist/{4819.bundle.3c7bf0df78f6933c8fe4.js → 4819.bundle.1ddc244e43f3961efa82.js} +0 -0
  40. /package/dist/{5028.bundle.cda03335fc38e75a1650.js → 5028.bundle.c1b732c6d7716609f466.js} +0 -0
  41. /package/dist/{5457.bundle.e5c316dc93fe2b4c68e7.js → 5457.bundle.a1aea7905462e5722c36.js} +0 -0
  42. /package/dist/{5485.bundle.32cabda29154c3e55b8d.js → 5485.bundle.672dd9b0e50c284e9ee6.js} +0 -0
  43. /package/dist/{5802.bundle.756d2ed511c06ee8b461.js → 5802.bundle.28ab859d9b48a5b2c31c.js} +0 -0
  44. /package/dist/{6027.bundle.209ee74ab072452fc0b2.js → 6027.bundle.a85a0bcbc698694df23e.js} +0 -0
  45. /package/dist/{874.css → 6163.css} +0 -0
  46. /package/dist/{7639.bundle.b35209dc4b718b7e93e1.js → 7639.bundle.f6e1f22497915baf4757.js} +0 -0
  47. /package/dist/{8305.bundle.66630acb1f8edd757d68.js → 8305.bundle.a9662cf6ae55fe99e83a.js} +0 -0
  48. /package/dist/{85.bundle.0d9968348d8c35bee94c.js → 85.bundle.8cc5d9ca6171be5a6d76.js} +0 -0
  49. /package/dist/{8583.bundle.db631dc00208a7ce0c96.js → 8583.bundle.04d94cef5427a12ff19b.js} +0 -0
  50. /package/dist/{9862.bundle.eca4ea8821bb040a44c1.js → 9862.bundle.3ca0ad5f54db87ccf91e.js} +0 -0
  51. /package/dist/{9927.bundle.fbac0fd00386a261c01f.js → 9927.bundle.304c28197b04a614c289.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[4759,2591],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[3343,2591],{
3
3
 
4
4
  /***/ 75183:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -206,7 +206,7 @@ var Swipe;
206
206
 
207
207
  /***/ }),
208
208
 
209
- /***/ 99737:
209
+ /***/ 29857:
210
210
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
211
211
 
212
212
  // ESM COMPAT FLAG
@@ -218,6 +218,7 @@ __webpack_require__.d(__webpack_exports__, {
218
218
  ChangeTypes: () => (/* reexport */ ChangeTypes/* default */.A),
219
219
  Events: () => (/* reexport */ Events/* default */.A),
220
220
  KeyboardBindings: () => (/* reexport */ ToolBindings/* KeyboardBindings */.q),
221
+ MeasurementType: () => (/* reexport */ MeasurementType),
221
222
  MouseBindings: () => (/* reexport */ ToolBindings/* MouseBindings */.i),
222
223
  SegmentationRepresentations: () => (/* reexport */ SegmentationRepresentations/* default */.A),
223
224
  StrategyCallbacks: () => (/* reexport */ StrategyCallbacks/* default */.A),
@@ -266,6 +267,15 @@ var WorkerTypes_ChangeTypes;
266
267
  })(WorkerTypes_ChangeTypes || (WorkerTypes_ChangeTypes = {}));
267
268
  /* harmony default export */ const WorkerTypes = (WorkerTypes_ChangeTypes);
268
269
 
270
+ ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/MeasurementType.js
271
+ var MeasurementType;
272
+ (function (MeasurementType) {
273
+ MeasurementType["Linear"] = "Linear";
274
+ MeasurementType["Area"] = "Area";
275
+ MeasurementType["Volume"] = "Volume";
276
+ MeasurementType["Pixel"] = "Pixel";
277
+ })(MeasurementType || (MeasurementType = {}));
278
+
269
279
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js
270
280
 
271
281
 
@@ -279,6 +289,7 @@ var WorkerTypes_ChangeTypes;
279
289
 
280
290
 
281
291
 
292
+
282
293
  /***/ })
283
294
 
284
295
  }]);
@@ -1,4 +1,4 @@
1
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[4033],{
1
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[3353],{
2
2
 
3
3
  /***/ 14041:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -6905,7 +6905,6 @@ function downloadDICOMData(bufferOrDataset, filename) {
6905
6905
  link.href = window.URL.createObjectURL(blob);
6906
6906
  link.download = filename;
6907
6907
  link.click();
6908
- URL.revokeObjectURL(link.href);
6909
6908
  }
6910
6909
 
6911
6910
 
@@ -7146,7 +7145,7 @@ var Swipe;
7146
7145
 
7147
7146
  /***/ }),
7148
7147
 
7149
- /***/ 99737:
7148
+ /***/ 29857:
7150
7149
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7151
7150
 
7152
7151
  "use strict";
@@ -7159,6 +7158,7 @@ __webpack_require__.d(__webpack_exports__, {
7159
7158
  ChangeTypes: () => (/* reexport */ ChangeTypes/* default */.A),
7160
7159
  Events: () => (/* reexport */ Events/* default */.A),
7161
7160
  KeyboardBindings: () => (/* reexport */ ToolBindings/* KeyboardBindings */.q),
7161
+ MeasurementType: () => (/* reexport */ MeasurementType),
7162
7162
  MouseBindings: () => (/* reexport */ ToolBindings/* MouseBindings */.i),
7163
7163
  SegmentationRepresentations: () => (/* reexport */ SegmentationRepresentations/* default */.A),
7164
7164
  StrategyCallbacks: () => (/* reexport */ StrategyCallbacks/* default */.A),
@@ -7207,6 +7207,15 @@ var WorkerTypes_ChangeTypes;
7207
7207
  })(WorkerTypes_ChangeTypes || (WorkerTypes_ChangeTypes = {}));
7208
7208
  /* harmony default export */ const WorkerTypes = (WorkerTypes_ChangeTypes);
7209
7209
 
7210
+ ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/MeasurementType.js
7211
+ var MeasurementType;
7212
+ (function (MeasurementType) {
7213
+ MeasurementType["Linear"] = "Linear";
7214
+ MeasurementType["Area"] = "Area";
7215
+ MeasurementType["Volume"] = "Volume";
7216
+ MeasurementType["Pixel"] = "Pixel";
7217
+ })(MeasurementType || (MeasurementType = {}));
7218
+
7210
7219
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js
7211
7220
 
7212
7221
 
@@ -7220,6 +7229,7 @@ var WorkerTypes_ChangeTypes;
7220
7229
 
7221
7230
 
7222
7231
 
7232
+
7223
7233
  /***/ }),
7224
7234
 
7225
7235
  /***/ 26337:
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[319],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[3584],{
3
3
 
4
4
  /***/ 74690:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -11,8 +11,8 @@ __webpack_require__.d(__webpack_exports__, {
11
11
  L: () => (/* reexport */ keyUp)
12
12
  });
13
13
 
14
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
15
- var enums = __webpack_require__(99737);
14
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 3 modules
15
+ var enums = __webpack_require__(29857);
16
16
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/index.js + 18 modules
17
17
  var eventListeners = __webpack_require__(21418);
18
18
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/eventListeners/mouse/mouseDownListener.js
@@ -167,8 +167,8 @@ const mouseDoubleClick = customCallbackHandler/* default */.A.bind(null, 'Mouse'
167
167
 
168
168
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/state.js
169
169
  var state = __webpack_require__(85204);
170
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
171
- var enums = __webpack_require__(99737);
170
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 3 modules
171
+ var enums = __webpack_require__(29857);
172
172
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationSelection.js
173
173
  var annotationSelection = __webpack_require__(17343);
174
174
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationLocking.js
@@ -592,8 +592,8 @@ __webpack_require__.d(__webpack_exports__, {
592
592
 
593
593
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/store/state.js
594
594
  var state = __webpack_require__(85204);
595
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
596
- var enums = __webpack_require__(99737);
595
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 3 modules
596
+ var enums = __webpack_require__(29857);
597
597
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationSelection.js
598
598
  var annotationSelection = __webpack_require__(17343);
599
599
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationLocking.js
@@ -1880,7 +1880,7 @@ async function convertStackToVolumeLabelmap(args) {
1880
1880
  /* harmony export */ X: () => (/* binding */ updateStackSegmentationState)
1881
1881
  /* harmony export */ });
1882
1882
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
1883
- /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99737);
1883
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29857);
1884
1884
  /* harmony import */ var _getSegmentation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33283);
1885
1885
  /* harmony import */ var _triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49906);
1886
1886
  /* harmony import */ var _addSegmentationRepresentationsToViewport__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74283);
@@ -2033,46 +2033,15 @@ class CircleSculptCursor {
2033
2033
  constructor() {
2034
2034
  this.toolInfo = {
2035
2035
  toolSize: null,
2036
+ radius: null,
2036
2037
  maxToolSize: null,
2037
2038
  };
2038
2039
  }
2039
2040
  static { this.shapeName = 'Circle'; }
2040
- static { this.CHAIN_MAINTENANCE_ITERATIONS = 3; }
2041
- static { this.CHAIN_PULL_STRENGTH_FACTOR = 0.3; }
2042
- static { this.MAX_INTER_DISTANCE_FACTOR = 1.2; }
2043
2041
  renderShape(svgDrawingHelper, canvasLocation, options) {
2044
2042
  const circleUID = '0';
2045
2043
  (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_3__.drawCircle)(svgDrawingHelper, 'SculptorTool', circleUID, canvasLocation, this.toolInfo.toolSize, options);
2046
2044
  }
2047
- pushHandles(viewport, sculptData) {
2048
- const { points, mouseCanvasPoint } = sculptData;
2049
- const pushedHandles = { first: undefined, last: undefined };
2050
- const worldRadius = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.point.distanceToPoint(viewport.canvasToWorld(mouseCanvasPoint), viewport.canvasToWorld([
2051
- mouseCanvasPoint[0] + this.toolInfo.toolSize,
2052
- mouseCanvasPoint[1],
2053
- ]));
2054
- for (let i = 0; i < points.length; i++) {
2055
- const handleCanvasPoint = viewport.worldToCanvas(points[i]);
2056
- const distanceToHandle = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.point.distanceToPoint(handleCanvasPoint, mouseCanvasPoint);
2057
- if (distanceToHandle > this.toolInfo.toolSize) {
2058
- continue;
2059
- }
2060
- this.pushOneHandle(i, worldRadius, sculptData);
2061
- if (pushedHandles.first === undefined) {
2062
- pushedHandles.first = i;
2063
- pushedHandles.last = i;
2064
- }
2065
- else {
2066
- pushedHandles.last = i;
2067
- }
2068
- }
2069
- if (pushedHandles.first !== undefined && pushedHandles.last !== undefined) {
2070
- for (let i = 0; i < CircleSculptCursor.CHAIN_MAINTENANCE_ITERATIONS; i++) {
2071
- this.maintainChainStructure(sculptData, pushedHandles);
2072
- }
2073
- }
2074
- return pushedHandles;
2075
- }
2076
2045
  configureToolSize(evt) {
2077
2046
  const toolInfo = this.toolInfo;
2078
2047
  if (toolInfo.toolSize && toolInfo.maxToolSize) {
@@ -2081,8 +2050,9 @@ class CircleSculptCursor {
2081
2050
  const eventData = evt.detail;
2082
2051
  const element = eventData.element;
2083
2052
  const minDim = Math.min(element.clientWidth, element.clientHeight);
2084
- const maxRadius = minDim / 12;
2053
+ const maxRadius = minDim / 24;
2085
2054
  toolInfo.toolSize = maxRadius;
2055
+ toolInfo.radius = null;
2086
2056
  toolInfo.maxToolSize = maxRadius;
2087
2057
  }
2088
2058
  updateToolSize(canvasCoords, viewport, activeAnnotation) {
@@ -2090,114 +2060,44 @@ class CircleSculptCursor {
2090
2060
  const radius = (0,_distancePointToContour__WEBPACK_IMPORTED_MODULE_2__/* .distancePointToContour */ .X)(viewport, activeAnnotation, canvasCoords);
2091
2061
  if (radius > 0) {
2092
2062
  toolInfo.toolSize = Math.min(toolInfo.maxToolSize, radius);
2063
+ this.computeWorldRadius(viewport, true);
2093
2064
  }
2094
2065
  }
2095
2066
  getMaxSpacing(minSpacing) {
2096
2067
  return Math.max(this.toolInfo.toolSize / 4, minSpacing);
2097
2068
  }
2098
- getInsertPosition(previousIndex, nextIndex, sculptData) {
2099
- let insertPosition;
2100
- const { points, element, mouseCanvasPoint } = sculptData;
2101
- const toolSize = this.toolInfo.toolSize;
2102
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
2103
- const { viewport } = enabledElement;
2104
- const previousCanvasPoint = viewport.worldToCanvas(points[previousIndex]);
2105
- const nextCanvasPoint = viewport.worldToCanvas(points[nextIndex]);
2106
- const midPoint = [
2107
- (previousCanvasPoint[0] + nextCanvasPoint[0]) / 2.0,
2108
- (previousCanvasPoint[1] + nextCanvasPoint[1]) / 2.0,
2109
- ];
2110
- const distanceToMidPoint = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.point.distanceToPoint(mouseCanvasPoint, midPoint);
2111
- if (distanceToMidPoint < toolSize) {
2112
- const directionUnitVector = {
2113
- x: (midPoint[0] - mouseCanvasPoint[0]) / distanceToMidPoint,
2114
- y: (midPoint[1] - mouseCanvasPoint[1]) / distanceToMidPoint,
2115
- };
2116
- insertPosition = [
2117
- mouseCanvasPoint[0] + toolSize * directionUnitVector.x,
2118
- mouseCanvasPoint[1] + toolSize * directionUnitVector.y,
2119
- ];
2120
- }
2121
- else {
2122
- insertPosition = midPoint;
2123
- }
2124
- const worldPosition = viewport.canvasToWorld(insertPosition);
2125
- return worldPosition;
2126
- }
2127
- pushOneHandle(i, worldRadius, sculptData) {
2128
- const { points, mousePoint } = sculptData;
2129
- const handle = points[i];
2130
- const directionUnitVector = this.directionalVector(mousePoint, handle);
2131
- const position = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scaleAndAdd */ .eR.scaleAndAdd(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), mousePoint, directionUnitVector, worldRadius);
2132
- handle[0] = position[0];
2133
- handle[1] = position[1];
2134
- handle[2] = position[2];
2135
- }
2136
- directionalVector(p1, p2) {
2137
- return gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.normalize */ .eR.normalize(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), [
2138
- p2[0] - p1[0],
2139
- p2[1] - p1[1],
2140
- p2[2] - p1[2],
2141
- ]);
2142
- }
2143
- calculateMeanConsecutiveDistance(points) {
2144
- if (points.length < 2) {
2145
- return 0;
2146
- }
2147
- let totalDistance = 0;
2148
- const numPoints = points.length;
2149
- for (let i = 0; i < numPoints; i++) {
2150
- const nextIndex = (i + 1) % numPoints;
2151
- const distance = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.point.distanceToPoint(points[i], points[nextIndex]);
2152
- totalDistance += distance;
2153
- }
2154
- return totalDistance / numPoints;
2155
- }
2156
- maintainChainStructure(sculptData, pushedHandles) {
2157
- const { points } = sculptData;
2158
- const first = pushedHandles.first;
2159
- const last = pushedHandles.last;
2160
- const mean = Math.round((first + last) / 2);
2161
- const numPoints = points.length;
2162
- if (!sculptData.meanDistance) {
2163
- sculptData.meanDistance = this.calculateMeanConsecutiveDistance(points);
2164
- }
2165
- const maxInterDistance = sculptData.meanDistance * CircleSculptCursor.MAX_INTER_DISTANCE_FACTOR;
2166
- for (let i = mean; i >= 0; i--) {
2167
- if (i >= numPoints - 1 || i < 0) {
2168
- continue;
2169
- }
2170
- const nextIndex = i + 1;
2171
- const distanceToNext = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.point.distanceToPoint(points[i], points[nextIndex]);
2172
- if (distanceToNext > maxInterDistance) {
2173
- const pullDirection = this.directionalVector(points[i], points[nextIndex]);
2174
- const pullStrength = (distanceToNext - sculptData.meanDistance) / sculptData.meanDistance;
2175
- const adjustmentMagnitude = pullStrength *
2176
- sculptData.meanDistance *
2177
- CircleSculptCursor.CHAIN_PULL_STRENGTH_FACTOR;
2178
- points[i][0] += pullDirection[0] * adjustmentMagnitude;
2179
- points[i][1] += pullDirection[1] * adjustmentMagnitude;
2180
- points[i][2] += pullDirection[2] * adjustmentMagnitude;
2181
- }
2182
- }
2183
- for (let i = mean + 1; i < numPoints; i++) {
2184
- if (i >= numPoints || i <= 0) {
2185
- continue;
2186
- }
2187
- const previousIndex = i - 1;
2188
- const distanceToPrevious = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.point.distanceToPoint(points[i], points[previousIndex]);
2189
- if (distanceToPrevious > maxInterDistance) {
2190
- const pullDirection = this.directionalVector(points[i], points[previousIndex]);
2191
- const pullStrength = (distanceToPrevious - sculptData.meanDistance) /
2192
- sculptData.meanDistance;
2193
- const adjustmentMagnitude = pullStrength *
2194
- sculptData.meanDistance *
2195
- CircleSculptCursor.CHAIN_PULL_STRENGTH_FACTOR;
2196
- points[i][0] += pullDirection[0] * adjustmentMagnitude;
2197
- points[i][1] += pullDirection[1] * adjustmentMagnitude;
2198
- points[i][2] += pullDirection[2] * adjustmentMagnitude;
2199
- }
2200
- }
2069
+ computeWorldRadius(viewport, clearExisting = false) {
2070
+ if (!this.toolInfo.radius || clearExisting) {
2071
+ const p0 = viewport.canvasToWorld([0, 0]);
2072
+ const p1 = viewport.canvasToWorld([this.toolInfo.toolSize, 0]);
2073
+ this.toolInfo.radius = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.length */ .eR.length(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.sub */ .eR.sub(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), p0, p1));
2074
+ }
2075
+ return this.toolInfo.radius;
2076
+ }
2077
+ getEdge(viewport, p1, p2, mouseCanvas) {
2078
+ const midPoint = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.add */ .eR.add(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), p1, p2 || p1);
2079
+ gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.scale */ .eR.scale(midPoint, midPoint, 0.5);
2080
+ const canvasMidPoint = viewport.worldToCanvas(midPoint);
2081
+ const canvasDelta = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec2.sub */ .Zc.sub(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec2.create */ .Zc.create(), canvasMidPoint, mouseCanvas);
2082
+ const angle = Math.atan2(canvasDelta[1], canvasDelta[0]);
2083
+ const point = this.interpolatePoint(viewport, angle, mouseCanvas);
2084
+ const canvasPoint = viewport.worldToCanvas(point);
2085
+ return {
2086
+ point,
2087
+ angle,
2088
+ canvasPoint,
2089
+ };
2090
+ }
2091
+ interpolatePoint(viewport, angle, center) {
2092
+ const [cx, cy] = center;
2093
+ const r = this.toolInfo.toolSize;
2094
+ const dx = Math.cos(angle) * r;
2095
+ const dy = Math.sin(angle) * r;
2096
+ const newPoint2 = [cx + dx, cy + dy];
2097
+ return viewport.canvasToWorld(newPoint2);
2098
+ }
2099
+ isInCursor(point, mousePoint) {
2100
+ return gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.distance */ .eR.distance(point, mousePoint) < this.toolInfo.radius;
2201
2101
  }
2202
2102
  }
2203
2103
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CircleSculptCursor);
@@ -2213,7 +2113,7 @@ class CircleSculptCursor {
2213
2113
  /* harmony export */ });
2214
2114
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
2215
2115
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85817);
2216
- /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(99737);
2116
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29857);
2217
2117
  /* harmony import */ var _stateManagement_segmentation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55126);
2218
2118
  /* harmony import */ var _stateManagement_segmentation_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49906);
2219
2119
  /* harmony import */ var _utilities_segmentation_growCut_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10564);
@@ -6371,16 +6271,16 @@ class Widget {
6371
6271
 
6372
6272
  /***/ }),
6373
6273
 
6374
- /***/ 1060:
6375
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6274
+ /***/ 73435:
6275
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6376
6276
 
6377
6277
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6378
6278
  /* harmony export */ Ay: () => (/* binding */ vtkSphereSource$1)
6379
6279
  /* harmony export */ });
6380
6280
  /* unused harmony exports extend, newInstance */
6381
- /* harmony import */ var _macros2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28906);
6382
- /* harmony import */ var _Common_DataModel_PolyData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87275);
6383
- /* harmony import */ var _Common_Core_DataArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42008);
6281
+ /* harmony import */ var _macros2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90027);
6282
+ /* harmony import */ var _Common_DataModel_PolyData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12548);
6283
+ /* harmony import */ var _Common_Core_DataArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(445);
6384
6284
 
6385
6285
 
6386
6286
 
@@ -6393,12 +6293,9 @@ function vtkSphereSource(publicAPI, model) {
6393
6293
  // Set our className
6394
6294
  model.classHierarchy.push('vtkSphereSource');
6395
6295
  publicAPI.requestData = (inData, outData) => {
6396
- if (model.deleted) {
6397
- return;
6398
- }
6399
6296
  let dataset = outData[0];
6400
6297
  const pointDataType = dataset ? dataset.getPoints().getDataType() : model.pointType;
6401
- dataset = _Common_DataModel_PolyData_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"].newInstance */ .Ay.newInstance();
6298
+ dataset = dataset?.initialize() || _Common_DataModel_PolyData_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"].newInstance */ .Ay.newInstance();
6402
6299
 
6403
6300
  // ----------------------------------------------------------------------
6404
6301
  let numPoles = 0;
@@ -6599,8 +6496,8 @@ var vtkSphereSource$1 = {
6599
6496
 
6600
6497
  /***/ }),
6601
6498
 
6602
- /***/ 25161:
6603
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6499
+ /***/ 53489:
6500
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6604
6501
 
6605
6502
 
6606
6503
  // EXPORTS
@@ -6611,9 +6508,9 @@ __webpack_require__.d(__webpack_exports__, {
6611
6508
  // UNUSED EXPORTS: DEFAULT_VALUES, extend, newInstance
6612
6509
 
6613
6510
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/macros2.js
6614
- var macros2 = __webpack_require__(28906);
6511
+ var macros2 = __webpack_require__(90027);
6615
6512
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Renderer.js + 2 modules
6616
- var Renderer = __webpack_require__(50036);
6513
+ var Renderer = __webpack_require__(55524);
6617
6514
  ;// ../../../node_modules/@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget/Constants.js
6618
6515
  const Corners = {
6619
6516
  TOP_LEFT: 'TOP_LEFT',
@@ -6907,8 +6804,8 @@ var vtkOrientationMarkerWidget$1 = {
6907
6804
 
6908
6805
  /***/ }),
6909
6806
 
6910
- /***/ 85825:
6911
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6807
+ /***/ 83338:
6808
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6912
6809
 
6913
6810
 
6914
6811
  // EXPORTS
@@ -6919,19 +6816,19 @@ __webpack_require__.d(__webpack_exports__, {
6919
6816
  // UNUSED EXPORTS: DEFAULT_VALUES, extend, newInstance
6920
6817
 
6921
6818
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/macros2.js
6922
- var macros2 = __webpack_require__(28906);
6819
+ var macros2 = __webpack_require__(90027);
6923
6820
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Actor.js
6924
- var Actor = __webpack_require__(7019);
6925
- // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Mapper.js
6926
- var Mapper = __webpack_require__(82409);
6821
+ var Actor = __webpack_require__(44404);
6822
+ // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Mapper.js + 1 modules
6823
+ var Mapper = __webpack_require__(81418);
6927
6824
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Texture.js
6928
- var Texture = __webpack_require__(61433);
6825
+ var Texture = __webpack_require__(41090);
6929
6826
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Filters/Sources/CubeSource.js
6930
- var CubeSource = __webpack_require__(56748);
6827
+ var CubeSource = __webpack_require__(90011);
6931
6828
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/ImageData.js
6932
- var ImageData = __webpack_require__(58498);
6829
+ var ImageData = __webpack_require__(26393);
6933
6830
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/DataArray.js
6934
- var DataArray = __webpack_require__(42008);
6831
+ var DataArray = __webpack_require__(445);
6935
6832
  ;// ../../../node_modules/@kitware/vtk.js/Common/Core/ImageHelper.js
6936
6833
 
6937
6834
 
@@ -7277,8 +7174,8 @@ var vtkAnnotatedCubeActor$1 = {
7277
7174
 
7278
7175
  /***/ }),
7279
7176
 
7280
- /***/ 45700:
7281
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7177
+ /***/ 10341:
7178
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7282
7179
 
7283
7180
 
7284
7181
  // EXPORTS
@@ -7289,23 +7186,23 @@ __webpack_require__.d(__webpack_exports__, {
7289
7186
  // UNUSED EXPORTS: extend, newInstance
7290
7187
 
7291
7188
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/macros2.js
7292
- var macros2 = __webpack_require__(28906);
7189
+ var macros2 = __webpack_require__(90027);
7293
7190
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/MatrixBuilder.js
7294
- var MatrixBuilder = __webpack_require__(89265);
7191
+ var MatrixBuilder = __webpack_require__(90364);
7295
7192
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/DataArray.js
7296
- var DataArray = __webpack_require__(42008);
7193
+ var DataArray = __webpack_require__(445);
7297
7194
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Actor.js
7298
- var Actor = __webpack_require__(7019);
7299
- // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Mapper.js
7300
- var Mapper = __webpack_require__(82409);
7195
+ var Actor = __webpack_require__(44404);
7196
+ // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Rendering/Core/Mapper.js + 1 modules
7197
+ var Mapper = __webpack_require__(81418);
7301
7198
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/Points.js
7302
- var Points = __webpack_require__(74966);
7303
- // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/PolyData.js + 5 modules
7304
- var PolyData = __webpack_require__(87275);
7199
+ var Points = __webpack_require__(74973);
7200
+ // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/PolyData.js + 11 modules
7201
+ var PolyData = __webpack_require__(12548);
7305
7202
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/DataModel/DataSetAttributes/Constants.js
7306
- var Constants = __webpack_require__(62612);
7203
+ var Constants = __webpack_require__(5695);
7307
7204
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/DataArray/Constants.js
7308
- var DataArray_Constants = __webpack_require__(28914);
7205
+ var DataArray_Constants = __webpack_require__(25015);
7309
7206
  ;// ../../../node_modules/@kitware/vtk.js/Filters/General/AppendPolyData.js
7310
7207
 
7311
7208
 
@@ -7352,7 +7249,7 @@ function vtkAppendPolyData(publicAPI, model) {
7352
7249
  }
7353
7250
 
7354
7251
  // Allocate output
7355
- const output = PolyData/* default.newInstance */.Ay.newInstance();
7252
+ const output = outData[0] && inData[0] !== outData[0] ? outData[0].initialize() : PolyData/* default.newInstance */.Ay.newInstance();
7356
7253
  let numPts = 0;
7357
7254
  let pointType = 0;
7358
7255
  let ttype = 1;
@@ -7546,11 +7443,7 @@ var vtkAppendPolyData$1 = {
7546
7443
  function vtkConeSource(publicAPI, model) {
7547
7444
  // Set our className
7548
7445
  model.classHierarchy.push('vtkConeSource');
7549
- function requestData(inData, outData) {
7550
- if (model.deleted) {
7551
- return;
7552
- }
7553
- let dataset = outData[0];
7446
+ publicAPI.requestData = (inData, outData) => {
7554
7447
  const angle = 2 * Math.PI / model.resolution;
7555
7448
  const xbot = -model.height / 2.0;
7556
7449
  const numberOfPoints = model.resolution + 1;
@@ -7597,16 +7490,13 @@ function vtkConeSource(publicAPI, model) {
7597
7490
 
7598
7491
  // Apply transformation to the points coordinates
7599
7492
  MatrixBuilder/* default */.A.buildFromRadian().translate(...model.center).rotateFromDirections([1, 0, 0], model.direction).apply(points);
7600
- dataset = PolyData/* default.newInstance */.Ay.newInstance();
7493
+ const dataset = outData[0]?.initialize() || PolyData/* default.newInstance */.Ay.newInstance();
7601
7494
  dataset.getPoints().setData(points, 3);
7602
7495
  dataset.getPolys().setData(polys, 1);
7603
7496
 
7604
7497
  // Update output
7605
7498
  outData[0] = dataset;
7606
- }
7607
-
7608
- // Expose methods
7609
- publicAPI.requestData = requestData;
7499
+ };
7610
7500
  }
7611
7501
 
7612
7502
  // ----------------------------------------------------------------------------
@@ -7663,11 +7553,7 @@ var vtkConeSource$1 = {
7663
7553
  function vtkCylinderSource(publicAPI, model) {
7664
7554
  // Set our classname
7665
7555
  model.classHierarchy.push('vtkCylinderSource');
7666
- function requestData(inData, outData) {
7667
- if (model.deleted) {
7668
- return;
7669
- }
7670
- let dataset = outData[0];
7556
+ publicAPI.requestData = (inData, outData) => {
7671
7557
  const angle = 2.0 * Math.PI / model.resolution;
7672
7558
  let numberOfPoints = 2 * model.resolution;
7673
7559
  let numberOfPolys = 5 * model.resolution;
@@ -7800,7 +7686,7 @@ function vtkCylinderSource(publicAPI, model) {
7800
7686
 
7801
7687
  // Apply transformation to the points coordinates
7802
7688
  MatrixBuilder/* default */.A.buildFromRadian().translate(...model.center).rotateFromDirections([0, 1, 0], model.direction).translate(...model.center.map(c => c * -1)).apply(points);
7803
- dataset = PolyData/* default.newInstance */.Ay.newInstance();
7689
+ const dataset = outData[0]?.initialize() || PolyData/* default.newInstance */.Ay.newInstance();
7804
7690
  dataset.getPoints().setData(points, 3);
7805
7691
  dataset.getPolys().setData(polys, 1);
7806
7692
  dataset.getPointData().setNormals(normals);
@@ -7808,10 +7694,7 @@ function vtkCylinderSource(publicAPI, model) {
7808
7694
 
7809
7695
  // Update output
7810
7696
  outData[0] = dataset;
7811
- }
7812
-
7813
- // Expose methods
7814
- publicAPI.requestData = requestData;
7697
+ };
7815
7698
  }
7816
7699
 
7817
7700
  // ----------------------------------------------------------------------------
@@ -7870,10 +7753,7 @@ var vtkCylinderSource$1 = {
7870
7753
  function vtkArrowSource(publicAPI, model) {
7871
7754
  // Set our className
7872
7755
  model.classHierarchy.push('vtkArrowSource');
7873
- function requestData(inData, outData) {
7874
- if (model.deleted) {
7875
- return;
7876
- }
7756
+ publicAPI.requestData = (inData, outData) => {
7877
7757
  const cylinder = vtkCylinderSource$1.newInstance({
7878
7758
  capping: true
7879
7759
  });
@@ -7916,10 +7796,7 @@ function vtkArrowSource(publicAPI, model) {
7916
7796
  // Update output
7917
7797
  outData[0] = append.getOutputData();
7918
7798
  }
7919
- }
7920
-
7921
- // Expose methods
7922
- publicAPI.requestData = requestData;
7799
+ };
7923
7800
  }
7924
7801
 
7925
7802
  // ----------------------------------------------------------------------------