@ohif/app 3.10.0-beta.13 → 3.10.0-beta.14

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 (37) hide show
  1. package/dist/{1185.bundle.2e92e5f4460a9ba10ac6.js → 1185.bundle.dfea82aca1b41717a236.js} +2 -2
  2. package/dist/{4636.bundle.3b2a32d7e1499673983d.js → 4636.bundle.67e7c3842e2fe9d8d475.js} +22 -21
  3. package/dist/{5252.bundle.a8eb753e715482b7d8c5.js → 5252.bundle.acd3d334f510ca6bf8b1.js} +73 -8
  4. package/dist/{9909.bundle.a87c9d96eefff9b0961b.js → 5437.bundle.58dc7aca17d2b9a93cdd.js} +320 -72
  5. package/dist/{5630.bundle.01be2c806e4047751682.js → 5630.bundle.f8e6cddcccddcf90e913.js} +2 -2
  6. package/dist/{5717.bundle.bf2665759535e60ad014.js → 5717.bundle.6dc063e00c1681da2323.js} +308 -343
  7. package/dist/{573.bundle.9929319cc662537c28b2.js → 573.bundle.ab494962db11282c3582.js} +6 -2
  8. package/dist/{8104.bundle.0e10e63ad1240be255cf.js → 8104.bundle.550697397baf3850e3b8.js} +236 -335
  9. package/dist/{8558.bundle.48fd7faa64b5c4e25cf0.js → 8558.bundle.d2ba0f8f0e81c4463e3f.js} +1 -0
  10. package/dist/{app.bundle.fc6b15c24f9cd6d8176a.js → app.bundle.fd0317d8b597fa315b60.js} +129 -51
  11. package/dist/{histogram-worker.bundle.b11d1dcfe28cef619c79.js → histogram-worker.bundle.0cad670e32968856226a.js} +1 -1
  12. package/dist/index.html +1 -1
  13. package/dist/{polySeg.bundle.9ad8fc1a503a6a55e34f.js → polySeg.bundle.c25e1b1462313a54b518.js} +1 -1
  14. package/dist/{suv-peak-worker.bundle.29cb580249bfaaff9ac1.js → suv-peak-worker.bundle.01ff0314fd03a9d16246.js} +3 -3
  15. package/dist/sw.js +1 -1
  16. package/package.json +18 -18
  17. /package/dist/{1266.bundle.2662dd7ecc7cdc5c9ec7.js → 1266.bundle.585e4a14ddd57535d8a8.js} +0 -0
  18. /package/dist/{1374.bundle.e62f7a2b3b0d9f238ad3.js → 1374.bundle.2a73bcdf42649cd677bd.js} +0 -0
  19. /package/dist/{213.bundle.ce3936a2ba72cc0f4f84.js → 213.bundle.7d895db235096c460ca5.js} +0 -0
  20. /package/dist/{2424.bundle.d267285b9ec2dcceedb8.js → 2424.bundle.c49cfb4d85808d79f635.js} +0 -0
  21. /package/dist/{2825.bundle.f9f50b8ea4a6ab87ad54.js → 2825.bundle.2de099edfd591b3013b0.js} +0 -0
  22. /package/dist/{3198.bundle.76e9454c9bcc112ceb9a.js → 3198.bundle.21908c96cc2e2468ea09.js} +0 -0
  23. /package/dist/{3200.bundle.4567e1ad29d1803e1b65.js → 3200.bundle.dacbed471b125cfe04e5.js} +0 -0
  24. /package/dist/{3970.bundle.05e7ea412a431ca2cfdb.js → 3970.bundle.89564e2e9cceec2b5a69.js} +0 -0
  25. /package/dist/{4834.bundle.7ad185b931edf0ed29df.js → 4834.bundle.3e631b1746f4d4659d80.js} +0 -0
  26. /package/dist/{5139.bundle.fd98ea42bca0b622b69a.js → 5139.bundle.69fba87e9d3b0716ebf0.js} +0 -0
  27. /package/dist/{5247.bundle.f2639b7d0f21d21ab9fe.js → 5247.bundle.eb47780faaec44094c23.js} +0 -0
  28. /package/dist/{5687.bundle.80baffdf7e2dee76c212.js → 5687.bundle.44b5c5ae6df08900adf9.js} +0 -0
  29. /package/dist/{717.bundle.1a7043c3db6b3640c0e9.js → 717.bundle.278798308e9d2a5d097b.js} +0 -0
  30. /package/dist/{7197.bundle.54461a631c49c719613a.js → 7197.bundle.9c812da287d70e87b1a4.js} +0 -0
  31. /package/dist/{7955.bundle.7e62bd7f53e04856f455.js → 7955.bundle.426beef17fb63cfd81b3.js} +0 -0
  32. /package/dist/{8008.bundle.044a35074b88f072db6b.js → 8008.bundle.be9044875ce6d1c7bf03.js} +0 -0
  33. /package/dist/{8228.bundle.564c39d1256540b7228e.js → 8228.bundle.e6ddb2108c0b26be6188.js} +0 -0
  34. /package/dist/{8259.bundle.a9c46ba95884c56f3e72.js → 8259.bundle.d2e2bd5b7a31280827a9.js} +0 -0
  35. /package/dist/{9551.bundle.1b3e84b22ec04a16fb11.js → 9551.bundle.b77ff67cf3ed3ba8e896.js} +0 -0
  36. /package/dist/{9611.bundle.a958c468d6ca6e91c091.js → 9611.bundle.f94bb52dc93909acada7.js} +0 -0
  37. /package/dist/{9862.bundle.05613a9c8b36ffeb9962.js → 9862.bundle.ad6694938d4524cb19d1.js} +0 -0
@@ -259,7 +259,7 @@ async function addVolumesToViewports(renderingEngine, volumeInputs, viewportIds,
259
259
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js
260
260
  var volumeNewImageEventDispatcher = __webpack_require__(90740);
261
261
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js
262
- async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds) {
262
+ function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds) {
263
263
  for (const viewportId of viewportIds) {
264
264
  const viewport = renderingEngine.getStackViewport(viewportId);
265
265
  if (!viewport) {
@@ -270,11 +270,10 @@ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportI
270
270
  return;
271
271
  }
272
272
  }
273
- const addStackPromises = viewportIds.map(async (viewportId) => {
273
+ viewportIds.forEach((viewportId) => {
274
274
  const viewport = renderingEngine.getStackViewport(viewportId);
275
275
  viewport.addImages(stackInputs);
276
276
  });
277
- await Promise.all(addStackPromises);
278
277
  }
279
278
  /* harmony default export */ const helpers_addImageSlicesToViewports = (addImageSlicesToViewports);
280
279
 
@@ -840,8 +839,6 @@ var ImageQualityStatus = __webpack_require__(77474);
840
839
  var VideoEnums = __webpack_require__(13545);
841
840
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/MetadataModules.js
842
841
  var MetadataModules = __webpack_require__(69850);
843
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/VoxelManagerEnum.js
844
- var VoxelManagerEnum = __webpack_require__(6796);
845
842
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/GenerateImageType.js
846
843
  var GenerateImageType;
847
844
  (function (GenerateImageType) {
@@ -850,6 +847,8 @@ var GenerateImageType;
850
847
  GenerateImageType["AVERAGE"] = "AVERAGE";
851
848
  })(GenerateImageType || (GenerateImageType = {}));
852
849
 
850
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/VoxelManagerEnum.js
851
+ var VoxelManagerEnum = __webpack_require__(6796);
853
852
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js
854
853
 
855
854
 
@@ -996,7 +995,7 @@ function getEnabledElements() {
996
995
  /* harmony import */ var _loaders_imageLoader__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(80068);
997
996
  /* harmony import */ var _loaders_geometryLoader__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(39459);
998
997
  /* harmony import */ var _loaders_ProgressiveRetrieveImages__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(36822);
999
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(77761);
998
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(57686);
1000
999
  /* harmony import */ var _utilities_triggerEvent__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(69372);
1001
1000
  /* harmony import */ var _loaders_cornerstoneStreamingImageVolumeLoader__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(55500);
1002
1001
  /* harmony import */ var _loaders_cornerstoneStreamingDynamicImageVolumeLoader__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(55509);
@@ -3868,7 +3867,7 @@ const imageRetrieveMetadataProvider = {
3868
3867
 
3869
3868
  /***/ }),
3870
3869
 
3871
- /***/ 77761:
3870
+ /***/ 57686:
3872
3871
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3873
3872
 
3874
3873
  "use strict";
@@ -3877,6 +3876,7 @@ __webpack_require__.r(__webpack_exports__);
3877
3876
 
3878
3877
  // EXPORTS
3879
3878
  __webpack_require__.d(__webpack_exports__, {
3879
+ HistoryMemo: () => (/* reexport */ historyMemo_namespaceObject),
3880
3880
  PointsManager: () => (/* reexport */ PointsManager/* default */.A),
3881
3881
  ProgressiveIterator: () => (/* reexport */ ProgressiveIterator/* default */.A),
3882
3882
  RLEVoxelMap: () => (/* reexport */ RLEVoxelMap/* default */.A),
@@ -3976,6 +3976,14 @@ __webpack_require__.d(eventListener_namespaceObject, {
3976
3976
  TargetEventListeners: () => (TargetEventListeners)
3977
3977
  });
3978
3978
 
3979
+ // NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/historyMemo/index.js
3980
+ var historyMemo_namespaceObject = {};
3981
+ __webpack_require__.r(historyMemo_namespaceObject);
3982
+ __webpack_require__.d(historyMemo_namespaceObject, {
3983
+ DefaultHistoryMemo: () => (DefaultHistoryMemo),
3984
+ HistoryMemo: () => (HistoryMemo)
3985
+ });
3986
+
3979
3987
  // NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/color.js
3980
3988
  var color_namespaceObject = {};
3981
3989
  __webpack_require__.r(color_namespaceObject);
@@ -4545,6 +4553,62 @@ function loadImageToCanvas(options) {
4545
4553
  });
4546
4554
  }
4547
4555
 
4556
+ ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/historyMemo/index.js
4557
+ class HistoryMemo {
4558
+ constructor(label = 'Tools', size = 50) {
4559
+ this.position = -1;
4560
+ this.redoAvailable = 0;
4561
+ this.undoAvailable = 0;
4562
+ this.ring = new Array();
4563
+ this.label = label;
4564
+ this._size = size;
4565
+ }
4566
+ get size() {
4567
+ return this._size;
4568
+ }
4569
+ undo(items = 1) {
4570
+ while (items > 0 && this.undoAvailable > 0) {
4571
+ const item = this.ring[this.position];
4572
+ item.restoreMemo(true);
4573
+ items--;
4574
+ this.redoAvailable++;
4575
+ this.undoAvailable--;
4576
+ this.position = (this.position - 1 + this.size) % this.size;
4577
+ }
4578
+ }
4579
+ redo(items = 1) {
4580
+ while (items > 0 && this.redoAvailable > 0) {
4581
+ const newPosition = (this.position + 1) % this.size;
4582
+ const item = this.ring[newPosition];
4583
+ item.restoreMemo(false);
4584
+ items--;
4585
+ this.position = newPosition;
4586
+ this.undoAvailable++;
4587
+ this.redoAvailable--;
4588
+ }
4589
+ }
4590
+ push(item) {
4591
+ if (!item) {
4592
+ return;
4593
+ }
4594
+ const memo = item.restoreMemo
4595
+ ? item
4596
+ : item.createMemo?.();
4597
+ if (!memo) {
4598
+ return;
4599
+ }
4600
+ this.redoAvailable = 0;
4601
+ if (this.undoAvailable < this._size) {
4602
+ this.undoAvailable++;
4603
+ }
4604
+ this.position = (this.position + 1) % this._size;
4605
+ this.ring[this.position] = memo;
4606
+ return memo;
4607
+ }
4608
+ }
4609
+ const DefaultHistoryMemo = new HistoryMemo();
4610
+
4611
+
4548
4612
  // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
4549
4613
  var esm = __webpack_require__(3823);
4550
4614
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/worldToImageCoords.js
@@ -5617,6 +5681,7 @@ function _getImageIndexToJump(numberOfSlices, imageIndex) {
5617
5681
 
5618
5682
 
5619
5683
 
5684
+
5620
5685
 
5621
5686
 
5622
5687
  const getViewportModality = (viewport, volumeId) => _getViewportModality(viewport, volumeId, cache/* default */.Ay.getVolume);
@@ -8171,6 +8236,7 @@ var StrategyCallbacks;
8171
8236
  StrategyCallbacks["CreateIsInThreshold"] = "createIsInThreshold";
8172
8237
  StrategyCallbacks["Initialize"] = "initialize";
8173
8238
  StrategyCallbacks["INTERNAL_setValue"] = "setValue";
8239
+ StrategyCallbacks["AddPreview"] = "addPreview";
8174
8240
  StrategyCallbacks["ComputeInnerCircleRadius"] = "computeInnerCircleRadius";
8175
8241
  StrategyCallbacks["GetStatistics"] = "getStatistics";
8176
8242
  })(StrategyCallbacks || (StrategyCallbacks = {}));
@@ -8634,8 +8700,8 @@ var keyboard = __webpack_require__(39595);
8634
8700
  var SegmentationRenderingEngine = __webpack_require__(24917);
8635
8701
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js
8636
8702
  var esm = __webpack_require__(81985);
8637
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 2 modules
8638
- var segmentationState = __webpack_require__(98870);
8703
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 1 modules
8704
+ var segmentationState = __webpack_require__(83243);
8639
8705
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
8640
8706
  var enums = __webpack_require__(99737);
8641
8707
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.js
@@ -10078,6 +10144,10 @@ class PanTool extends base/* BaseTool */.oS {
10078
10144
  supportedInteractionTypes: ['Mouse', 'Touch'],
10079
10145
  }) {
10080
10146
  super(toolProps, defaultToolProps);
10147
+ this.preMouseDownCallback = (evt) => {
10148
+ this.memo = null;
10149
+ return false;
10150
+ };
10081
10151
  }
10082
10152
  touchDragCallback(evt) {
10083
10153
  this._dragCallback(evt);
@@ -10088,6 +10158,7 @@ class PanTool extends base/* BaseTool */.oS {
10088
10158
  _dragCallback(evt) {
10089
10159
  const { element, deltaPoints } = evt.detail;
10090
10160
  const enabledElement = (0,esm.getEnabledElement)(element);
10161
+ this.memo ||= PanTool.createZoomPanMemo(enabledElement.viewport);
10091
10162
  const deltaPointsWorld = deltaPoints.world;
10092
10163
  if (deltaPointsWorld[0] === 0 &&
10093
10164
  deltaPointsWorld[1] === 0 &&
@@ -10904,6 +10975,7 @@ class ZoomTool extends base/* BaseTool */.oS {
10904
10975
  const camera = enabledElement.viewport.getCamera();
10905
10976
  const { focalPoint } = camera;
10906
10977
  this.initialMousePosWorld = worldPos;
10978
+ this.memo = null;
10907
10979
  let dirVec = gl_matrix_esm/* vec3.fromValues */.eR.fromValues(focalPoint[0] - worldPos[0], focalPoint[1] - worldPos[1], focalPoint[2] - worldPos[2]);
10908
10980
  dirVec = gl_matrix_esm/* vec3.normalize */.eR.normalize(gl_matrix_esm/* vec3.create */.eR.create(), dirVec);
10909
10981
  this.dirVec = dirVec;
@@ -11026,6 +11098,7 @@ class ZoomTool extends base/* BaseTool */.oS {
11026
11098
  const enabledElement = (0,esm.getEnabledElement)(element);
11027
11099
  const { viewport } = enabledElement;
11028
11100
  const camera = viewport.getCamera();
11101
+ this.memo ||= ZoomTool.createZoomPanMemo(viewport);
11029
11102
  if (camera.parallelProjection) {
11030
11103
  this._dragParallelProjection(evt, viewport, camera);
11031
11104
  }
@@ -15370,6 +15443,16 @@ class LengthTool extends base/* AnnotationTool */.EC {
15370
15443
  configuration: {
15371
15444
  preventHandleOutsideImage: false,
15372
15445
  getTextLines: defaultGetTextLines,
15446
+ actions: {
15447
+ undo: {
15448
+ method: 'undo',
15449
+ bindings: [{ key: 'z' }],
15450
+ },
15451
+ redo: {
15452
+ method: 'redo',
15453
+ bindings: [{ key: 'y' }],
15454
+ },
15455
+ },
15373
15456
  },
15374
15457
  }) {
15375
15458
  super(toolProps, defaultToolProps);
@@ -16264,15 +16347,16 @@ var isViewportPreScaled = __webpack_require__(18990);
16264
16347
 
16265
16348
  const { transformWorldToIndex: ProbeTool_transformWorldToIndex } = esm.utilities;
16266
16349
  class ProbeTool extends base/* AnnotationTool */.EC {
16267
- constructor(toolProps = {}, defaultToolProps = {
16350
+ static { this.probeDefaults = {
16268
16351
  supportedInteractionTypes: ['Mouse', 'Touch'],
16269
16352
  configuration: {
16270
16353
  shadow: true,
16271
16354
  preventHandleOutsideImage: false,
16272
16355
  getTextLines: ProbeTool_defaultGetTextLines,
16273
16356
  },
16274
- }) {
16275
- super(toolProps, defaultToolProps);
16357
+ }; }
16358
+ constructor(toolProps = {}, defaultToolProps) {
16359
+ super(toolProps, base/* AnnotationTool */.EC.mergeDefaultProps(ProbeTool.probeDefaults, defaultToolProps));
16276
16360
  this.addNewAnnotation = (evt) => {
16277
16361
  const eventDetail = evt.detail;
16278
16362
  const { currentPoints, element } = eventDetail;
@@ -16414,13 +16498,13 @@ class ProbeTool extends base/* AnnotationTool */.EC {
16414
16498
  data.cachedStats = {};
16415
16499
  }
16416
16500
  if (!data.cachedStats[targetId] ||
16417
- data.cachedStats[targetId].value == null) {
16501
+ data.cachedStats[targetId].value === null) {
16418
16502
  data.cachedStats[targetId] = {
16419
16503
  Modality: null,
16420
16504
  index: null,
16421
16505
  value: null,
16422
16506
  };
16423
- this._calculateCachedStats(annotation, renderingEngine, enabledElement);
16507
+ this._calculateCachedStats(annotation, renderingEngine, enabledElement, enums.ChangeTypes.StatsUpdated);
16424
16508
  }
16425
16509
  else if (annotation.invalidated) {
16426
16510
  this._calculateCachedStats(annotation, renderingEngine, enabledElement);
@@ -16530,7 +16614,7 @@ class ProbeTool extends base/* AnnotationTool */.EC {
16530
16614
  (0,triggerAnnotationRenderForViewportIds/* default */.A)(viewportIdsToRender);
16531
16615
  evt.preventDefault();
16532
16616
  }
16533
- _calculateCachedStats(annotation, renderingEngine, enabledElement) {
16617
+ _calculateCachedStats(annotation, renderingEngine, enabledElement, changeType = enums.ChangeTypes.StatsUpdated) {
16534
16618
  const data = annotation.data;
16535
16619
  const { renderingEngineId, viewport } = enabledElement;
16536
16620
  const { element } = viewport;
@@ -16590,7 +16674,7 @@ class ProbeTool extends base/* AnnotationTool */.EC {
16590
16674
  };
16591
16675
  }
16592
16676
  annotation.invalidated = false;
16593
- (0,helpers_state/* triggerAnnotationModified */.XF)(annotation, element);
16677
+ (0,helpers_state/* triggerAnnotationModified */.XF)(annotation, element, changeType);
16594
16678
  }
16595
16679
  return cachedStats;
16596
16680
  }
@@ -16598,7 +16682,7 @@ class ProbeTool extends base/* AnnotationTool */.EC {
16598
16682
  function ProbeTool_defaultGetTextLines(data, targetId) {
16599
16683
  const cachedVolumeStats = data.cachedStats[targetId];
16600
16684
  const { index, value, modalityUnit } = cachedVolumeStats;
16601
- if (value === undefined) {
16685
+ if (value === undefined || !index) {
16602
16686
  return;
16603
16687
  }
16604
16688
  const textLines = [];
@@ -16623,6 +16707,7 @@ ProbeTool.toolName = 'Probe';
16623
16707
 
16624
16708
 
16625
16709
 
16710
+
16626
16711
  class DragProbeTool extends annotation_ProbeTool {
16627
16712
  constructor(toolProps = {}, defaultToolProps = {
16628
16713
  supportedInteractionTypes: ['Mouse', 'Touch'],
@@ -16703,7 +16788,7 @@ class DragProbeTool extends annotation_ProbeTool {
16703
16788
  styleSpecifier,
16704
16789
  });
16705
16790
  if (!data.cachedStats[targetId] ||
16706
- data.cachedStats[targetId].value == null) {
16791
+ data.cachedStats[targetId].value === null) {
16707
16792
  data.cachedStats[targetId] = {
16708
16793
  Modality: null,
16709
16794
  index: null,
@@ -19327,8 +19412,8 @@ class LivewireContourTool extends ContourSegmentationBaseTool/* default */.A {
19327
19412
  epsilon: 0.1,
19328
19413
  },
19329
19414
  actions: {
19330
- undo: {
19331
- method: 'undo',
19415
+ cancelInProgress: {
19416
+ method: 'cancelInProgress',
19332
19417
  bindings: [
19333
19418
  {
19334
19419
  key: 'Escape',
@@ -19866,8 +19951,9 @@ class LivewireContourTool extends ContourSegmentationBaseTool/* default */.A {
19866
19951
  });
19867
19952
  return annotation;
19868
19953
  }
19869
- undo(element, config, evt) {
19954
+ cancelInProgress(element, config, evt) {
19870
19955
  if (!this.editData) {
19956
+ this.undo();
19871
19957
  return;
19872
19958
  }
19873
19959
  this._endCallback(evt, true);
@@ -19894,7 +19980,7 @@ class LivewireContourTool extends ContourSegmentationBaseTool/* default */.A {
19894
19980
  }
19895
19981
  super.renderAnnotationInstance(renderContext);
19896
19982
  if (!data.cachedStats[targetId] ||
19897
- data.cachedStats[targetId].areaUnit == null) {
19983
+ data.cachedStats[targetId]?.areaUnit === null) {
19898
19984
  data.cachedStats[targetId] = {
19899
19985
  Modality: null,
19900
19986
  area: null,
@@ -22361,8 +22447,8 @@ AnnotationEraserTool.toolName = 'Eraser';
22361
22447
  var fillRectangle = __webpack_require__(10088);
22362
22448
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/segmentation/strategies/eraseRectangle.js
22363
22449
  var eraseRectangle = __webpack_require__(47347);
22364
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 2 modules
22365
- var segmentationState = __webpack_require__(98870);
22450
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 1 modules
22451
+ var segmentationState = __webpack_require__(83243);
22366
22452
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/segmentation/RectangleScissorsTool.js
22367
22453
 
22368
22454
 
@@ -25089,7 +25175,7 @@ const defaultFrameOfReferenceSpecificAnnotationManager = new FrameOfReferenceSpe
25089
25175
  /* unused harmony exports setAnnotationLocked, getAnnotationsLocked, getAnnotationsLockedCount, unlockAllAnnotations */
25090
25176
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
25091
25177
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99737);
25092
- /* harmony import */ var _getAnnotation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69059);
25178
+ /* harmony import */ var _annotationState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82056);
25093
25179
 
25094
25180
 
25095
25181
 
@@ -25136,7 +25222,7 @@ function lock(annotationUID, lockedAnnotationUIDsSet, detail) {
25136
25222
  if (!lockedAnnotationUIDsSet.has(annotationUID)) {
25137
25223
  lockedAnnotationUIDsSet.add(annotationUID);
25138
25224
  detail.added.push(annotationUID);
25139
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(annotationUID);
25225
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_2__.getAnnotation)(annotationUID);
25140
25226
  if (annotation) {
25141
25227
  annotation.isLocked = true;
25142
25228
  }
@@ -25145,7 +25231,7 @@ function lock(annotationUID, lockedAnnotationUIDsSet, detail) {
25145
25231
  function unlock(annotationUID, lockedAnnotationUIDsSet, detail) {
25146
25232
  if (lockedAnnotationUIDsSet.delete(annotationUID)) {
25147
25233
  detail.removed.push(annotationUID);
25148
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(annotationUID);
25234
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_2__.getAnnotation)(annotationUID);
25149
25235
  if (annotation) {
25150
25236
  annotation.isLocked = false;
25151
25237
  }
@@ -25179,7 +25265,7 @@ function publish(detail, lockedAnnotationUIDsSet) {
25179
25265
  /* unused harmony exports getAnnotationsSelected, getAnnotationsSelectedByToolName, getAnnotationsSelectedCount */
25180
25266
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
25181
25267
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99737);
25182
- /* harmony import */ var _getAnnotation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69059);
25268
+ /* harmony import */ var _annotationState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82056);
25183
25269
 
25184
25270
 
25185
25271
 
@@ -25196,7 +25282,7 @@ function selectAnnotation(annotationUID, preserveSelected = false) {
25196
25282
  const detail = makeEventDetail();
25197
25283
  if (!preserveSelected) {
25198
25284
  clearSelectionSet(selectedAnnotationUIDs, detail);
25199
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(annotationUID);
25285
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_2__.getAnnotation)(annotationUID);
25200
25286
  if (annotation) {
25201
25287
  annotation.isSelected = true;
25202
25288
  }
@@ -25204,7 +25290,7 @@ function selectAnnotation(annotationUID, preserveSelected = false) {
25204
25290
  if (annotationUID && !selectedAnnotationUIDs.has(annotationUID)) {
25205
25291
  selectedAnnotationUIDs.add(annotationUID);
25206
25292
  detail.added.push(annotationUID);
25207
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(annotationUID);
25293
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_2__.getAnnotation)(annotationUID);
25208
25294
  if (annotation) {
25209
25295
  annotation.isSelected = true;
25210
25296
  }
@@ -25216,7 +25302,7 @@ function deselectAnnotation(annotationUID) {
25216
25302
  if (annotationUID) {
25217
25303
  if (selectedAnnotationUIDs.delete(annotationUID)) {
25218
25304
  detail.removed.push(annotationUID);
25219
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(annotationUID);
25305
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_2__.getAnnotation)(annotationUID);
25220
25306
  annotation.isSelected = false;
25221
25307
  }
25222
25308
  }
@@ -25251,7 +25337,7 @@ function clearSelectionSet(selectionSet, detail) {
25251
25337
  selectionSet.forEach((value) => {
25252
25338
  if (selectionSet.delete(value)) {
25253
25339
  detail.removed.push(value);
25254
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(value);
25340
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_2__.getAnnotation)(value);
25255
25341
  if (annotation) {
25256
25342
  annotation.isSelected = false;
25257
25343
  }
@@ -25279,7 +25365,7 @@ __webpack_require__.r(__webpack_exports__);
25279
25365
  /* harmony export */ addChildAnnotation: () => (/* binding */ addChildAnnotation),
25280
25366
  /* harmony export */ clearParentAnnotation: () => (/* binding */ clearParentAnnotation),
25281
25367
  /* harmony export */ getAllAnnotations: () => (/* binding */ getAllAnnotations),
25282
- /* harmony export */ getAnnotation: () => (/* reexport safe */ _getAnnotation__WEBPACK_IMPORTED_MODULE_2__.g),
25368
+ /* harmony export */ getAnnotation: () => (/* binding */ getAnnotation),
25283
25369
  /* harmony export */ getAnnotationManager: () => (/* binding */ getAnnotationManager),
25284
25370
  /* harmony export */ getAnnotations: () => (/* binding */ getAnnotations),
25285
25371
  /* harmony export */ getChildAnnotations: () => (/* binding */ getChildAnnotations),
@@ -25289,49 +25375,28 @@ __webpack_require__.r(__webpack_exports__);
25289
25375
  /* harmony export */ removeAllAnnotations: () => (/* binding */ removeAllAnnotations),
25290
25376
  /* harmony export */ removeAnnotation: () => (/* binding */ removeAnnotation),
25291
25377
  /* harmony export */ removeAnnotations: () => (/* binding */ removeAnnotations),
25292
- /* harmony export */ resetAnnotationManager: () => (/* binding */ resetAnnotationManager),
25293
25378
  /* harmony export */ setAnnotationManager: () => (/* binding */ setAnnotationManager)
25294
25379
  /* harmony export */ });
25295
25380
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
25296
- /* harmony import */ var _FrameOfReferenceSpecificAnnotationManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67013);
25297
- /* harmony import */ var _getAnnotation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69059);
25298
- /* harmony import */ var _helpers_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44049);
25299
- /* harmony import */ var _annotationLocking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2076);
25300
- /* harmony import */ var _utilities_defineProperties__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82107);
25301
- /* harmony import */ var _annotationVisibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29601);
25381
+ /* harmony import */ var _helpers_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44049);
25302
25382
 
25303
25383
 
25304
-
25305
-
25306
-
25307
-
25308
-
25309
- let defaultManager = _FrameOfReferenceSpecificAnnotationManager__WEBPACK_IMPORTED_MODULE_1__/* .defaultFrameOfReferenceSpecificAnnotationManager */ .H;
25310
- const preprocessingFn = (annotation) => {
25311
- annotation = (0,_utilities_defineProperties__WEBPACK_IMPORTED_MODULE_5__/* .checkAndDefineTextBoxProperty */ .Q)(annotation);
25312
- annotation = (0,_utilities_defineProperties__WEBPACK_IMPORTED_MODULE_5__/* .checkAndDefineCachedStatsProperty */ .d)(annotation);
25313
- const uid = annotation.annotationUID;
25314
- const isLocked = (0,_annotationLocking__WEBPACK_IMPORTED_MODULE_4__.checkAndSetAnnotationLocked)(uid);
25315
- annotation.isLocked = isLocked;
25316
- const isVisible = (0,_annotationVisibility__WEBPACK_IMPORTED_MODULE_6__.checkAndSetAnnotationVisibility)(uid);
25317
- annotation.isVisible = isVisible;
25318
- return annotation;
25319
- };
25320
- defaultManager.setPreprocessingFn(preprocessingFn);
25384
+ let defaultManager;
25321
25385
  function getAnnotationManager() {
25322
25386
  return defaultManager;
25323
25387
  }
25324
25388
  function setAnnotationManager(annotationManager) {
25325
25389
  defaultManager = annotationManager;
25326
25390
  }
25327
- function resetAnnotationManager() {
25328
- defaultManager = _FrameOfReferenceSpecificAnnotationManager__WEBPACK_IMPORTED_MODULE_1__/* .defaultFrameOfReferenceSpecificAnnotationManager */ .H;
25329
- }
25330
25391
  function getAnnotations(toolName, annotationGroupSelector) {
25331
25392
  const manager = getAnnotationManager();
25332
25393
  const groupKey = manager.getGroupKey(annotationGroupSelector);
25333
25394
  return manager.getAnnotations(groupKey, toolName);
25334
25395
  }
25396
+ function getAnnotation(annotationUID) {
25397
+ const manager = getAnnotationManager();
25398
+ return manager.getAnnotation(annotationUID);
25399
+ }
25335
25400
  function getAllAnnotations() {
25336
25401
  const manager = getAnnotationManager();
25337
25402
  return manager.getAllAnnotations();
@@ -25341,7 +25406,7 @@ function clearParentAnnotation(annotation) {
25341
25406
  if (!parentAnnotationUID) {
25342
25407
  return;
25343
25408
  }
25344
- const parentAnnotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(parentAnnotationUID);
25409
+ const parentAnnotation = getAnnotation(parentAnnotationUID);
25345
25410
  const childUIDIndex = parentAnnotation.childAnnotationUIDs.indexOf(childUID);
25346
25411
  parentAnnotation.childAnnotationUIDs.splice(childUIDIndex, 1);
25347
25412
  annotation.parentAnnotationUID = undefined;
@@ -25361,11 +25426,11 @@ function addChildAnnotation(parentAnnotation, childAnnotation) {
25361
25426
  }
25362
25427
  function getParentAnnotation(annotation) {
25363
25428
  return annotation.parentAnnotationUID
25364
- ? (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(annotation.parentAnnotationUID)
25429
+ ? getAnnotation(annotation.parentAnnotationUID)
25365
25430
  : undefined;
25366
25431
  }
25367
25432
  function getChildAnnotations(annotation) {
25368
- return (annotation.childAnnotationUIDs?.map((childAnnotationUID) => (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(childAnnotationUID)) ?? []);
25433
+ return (annotation.childAnnotationUIDs?.map((childAnnotationUID) => getAnnotation(childAnnotationUID)) ?? []);
25369
25434
  }
25370
25435
  function addAnnotation(annotation, annotationGroupSelector) {
25371
25436
  if (!annotation.annotationUID) {
@@ -25375,11 +25440,11 @@ function addAnnotation(annotation, annotationGroupSelector) {
25375
25440
  if (annotationGroupSelector instanceof HTMLDivElement) {
25376
25441
  const groupKey = manager.getGroupKey(annotationGroupSelector);
25377
25442
  manager.addAnnotation(annotation, groupKey);
25378
- (0,_helpers_state__WEBPACK_IMPORTED_MODULE_3__/* .triggerAnnotationAddedForElement */ .$f)(annotation, annotationGroupSelector);
25443
+ (0,_helpers_state__WEBPACK_IMPORTED_MODULE_1__/* .triggerAnnotationAddedForElement */ .$f)(annotation, annotationGroupSelector);
25379
25444
  }
25380
25445
  else {
25381
25446
  manager.addAnnotation(annotation, undefined);
25382
- (0,_helpers_state__WEBPACK_IMPORTED_MODULE_3__/* .triggerAnnotationAddedForFOR */ ._3)(annotation);
25447
+ (0,_helpers_state__WEBPACK_IMPORTED_MODULE_1__/* .triggerAnnotationAddedForFOR */ ._3)(annotation);
25383
25448
  }
25384
25449
  return annotation.annotationUID;
25385
25450
  }
@@ -25399,13 +25464,13 @@ function removeAnnotation(annotationUID) {
25399
25464
  }
25400
25465
  annotation.childAnnotationUIDs?.forEach((childAnnotationUID) => removeAnnotation(childAnnotationUID));
25401
25466
  manager.removeAnnotation(annotationUID);
25402
- (0,_helpers_state__WEBPACK_IMPORTED_MODULE_3__/* .triggerAnnotationRemoved */ .SH)({ annotation, annotationManagerUID: manager.uid });
25467
+ (0,_helpers_state__WEBPACK_IMPORTED_MODULE_1__/* .triggerAnnotationRemoved */ .SH)({ annotation, annotationManagerUID: manager.uid });
25403
25468
  }
25404
25469
  function removeAllAnnotations() {
25405
25470
  const manager = getAnnotationManager();
25406
25471
  const removedAnnotations = manager.removeAllAnnotations();
25407
25472
  for (const annotation of removedAnnotations) {
25408
- (0,_helpers_state__WEBPACK_IMPORTED_MODULE_3__/* .triggerAnnotationRemoved */ .SH)({
25473
+ (0,_helpers_state__WEBPACK_IMPORTED_MODULE_1__/* .triggerAnnotationRemoved */ .SH)({
25409
25474
  annotation,
25410
25475
  annotationManagerUID: manager.uid,
25411
25476
  });
@@ -25416,7 +25481,7 @@ function removeAnnotations(toolName, annotationGroupSelector) {
25416
25481
  const groupKey = manager.getGroupKey(annotationGroupSelector);
25417
25482
  const removedAnnotations = manager.removeAnnotations(groupKey, toolName);
25418
25483
  for (const annotation of removedAnnotations) {
25419
- (0,_helpers_state__WEBPACK_IMPORTED_MODULE_3__/* .triggerAnnotationRemoved */ .SH)({
25484
+ (0,_helpers_state__WEBPACK_IMPORTED_MODULE_1__/* .triggerAnnotationRemoved */ .SH)({
25420
25485
  annotation,
25421
25486
  annotationManagerUID: manager.uid,
25422
25487
  });
@@ -25427,7 +25492,7 @@ function invalidateAnnotation(annotation) {
25427
25492
  while (currAnnotation) {
25428
25493
  currAnnotation.invalidated = true;
25429
25494
  currAnnotation = currAnnotation.parentAnnotationUID
25430
- ? (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_2__/* .getAnnotation */ .g)(currAnnotation.parentAnnotationUID)
25495
+ ? getAnnotation(currAnnotation.parentAnnotationUID)
25431
25496
  : undefined;
25432
25497
  }
25433
25498
  }
@@ -25448,7 +25513,7 @@ function invalidateAnnotation(annotation) {
25448
25513
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
25449
25514
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99737);
25450
25515
  /* harmony import */ var _annotationSelection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17343);
25451
- /* harmony import */ var _getAnnotation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69059);
25516
+ /* harmony import */ var _annotationState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82056);
25452
25517
 
25453
25518
 
25454
25519
 
@@ -25474,7 +25539,7 @@ function showAllAnnotations() {
25474
25539
  publish(detail);
25475
25540
  }
25476
25541
  function isAnnotationVisible(annotationUID) {
25477
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_3__/* .getAnnotation */ .g)(annotationUID);
25542
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_3__.getAnnotation)(annotationUID);
25478
25543
  if (annotation) {
25479
25544
  return !globalHiddenAnnotationUIDsSet.has(annotationUID);
25480
25545
  }
@@ -25489,7 +25554,7 @@ function makeEventDetail() {
25489
25554
  function show(annotationUID, annotationUIDsSet, detail) {
25490
25555
  if (annotationUIDsSet.delete(annotationUID)) {
25491
25556
  detail.lastVisible.push(annotationUID);
25492
- const annotation = (0,_getAnnotation__WEBPACK_IMPORTED_MODULE_3__/* .getAnnotation */ .g)(annotationUID);
25557
+ const annotation = (0,_annotationState__WEBPACK_IMPORTED_MODULE_3__.getAnnotation)(annotationUID);
25493
25558
  annotation.isVisible = true;
25494
25559
  }
25495
25560
  }
@@ -25758,24 +25823,6 @@ var ToolStyle = __webpack_require__(8710);
25758
25823
 
25759
25824
 
25760
25825
 
25761
- /***/ }),
25762
-
25763
- /***/ 69059:
25764
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25765
-
25766
- "use strict";
25767
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25768
- /* harmony export */ g: () => (/* binding */ getAnnotation)
25769
- /* harmony export */ });
25770
- /* harmony import */ var _FrameOfReferenceSpecificAnnotationManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67013);
25771
-
25772
- function getAnnotation(annotationUID) {
25773
- const manager = _FrameOfReferenceSpecificAnnotationManager__WEBPACK_IMPORTED_MODULE_0__/* .defaultFrameOfReferenceSpecificAnnotationManager */ .H;
25774
- const annotation = manager.getAnnotation(annotationUID);
25775
- return annotation;
25776
- }
25777
-
25778
-
25779
25826
  /***/ }),
25780
25827
 
25781
25828
  /***/ 44049:
@@ -25881,7 +25928,7 @@ function _triggerAnnotationCompleted(eventDetail) {
25881
25928
  // EXPORTS
25882
25929
  __webpack_require__.d(__webpack_exports__, {
25883
25930
  config: () => (/* reexport */ config),
25884
- state: () => (/* reexport */ annotationState)
25931
+ state: () => (/* binding */ state)
25885
25932
  });
25886
25933
 
25887
25934
  // UNUSED EXPORTS: AnnotationGroup, FrameOfReferenceSpecificAnnotationManager, locking, selection, visibility
@@ -25973,6 +26020,8 @@ class AnnotationGroup {
25973
26020
  }
25974
26021
  }
25975
26022
 
26023
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/resetAnnotationManager.js + 1 modules
26024
+ var resetAnnotationManager = __webpack_require__(97);
25976
26025
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/index.js
25977
26026
 
25978
26027
 
@@ -25982,6 +26031,11 @@ class AnnotationGroup {
25982
26031
 
25983
26032
 
25984
26033
 
26034
+ const state = {
26035
+ ...annotationState,
26036
+ resetAnnotationManager: resetAnnotationManager/* resetAnnotationManager */.c,
26037
+ };
26038
+
25985
26039
 
25986
26040
 
25987
26041
  /***/ }),
@@ -27346,6 +27400,23 @@ function getCurrentLabelmapImageIdForViewport(viewportId, segmentationId) {
27346
27400
  }
27347
27401
 
27348
27402
 
27403
+ /***/ }),
27404
+
27405
+ /***/ 33283:
27406
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27407
+
27408
+ "use strict";
27409
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27410
+ /* harmony export */ T: () => (/* binding */ getSegmentation)
27411
+ /* harmony export */ });
27412
+ /* harmony import */ var _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59475);
27413
+
27414
+ function getSegmentation(segmentationId) {
27415
+ const segmentationStateManager = _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_0__/* .defaultSegmentationStateManager */ ._6;
27416
+ return segmentationStateManager.getSegmentation(segmentationId);
27417
+ }
27418
+
27419
+
27349
27420
  /***/ }),
27350
27421
 
27351
27422
  /***/ 93210:
@@ -27412,6 +27483,23 @@ function getSegmentations() {
27412
27483
  }
27413
27484
 
27414
27485
 
27486
+ /***/ }),
27487
+
27488
+ /***/ 71309:
27489
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27490
+
27491
+ "use strict";
27492
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27493
+ /* harmony export */ B: () => (/* binding */ getStackSegmentationImageIdsForViewport)
27494
+ /* harmony export */ });
27495
+ /* harmony import */ var _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59475);
27496
+
27497
+ function getStackSegmentationImageIdsForViewport(viewportId, segmentationId) {
27498
+ const segmentationStateManager = _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_0__/* .defaultSegmentationStateManager */ ._6;
27499
+ return segmentationStateManager.getStackSegmentationImageIdsForViewport(viewportId, segmentationId);
27500
+ }
27501
+
27502
+
27415
27503
  /***/ }),
27416
27504
 
27417
27505
  /***/ 58859:
@@ -27528,8 +27616,8 @@ function updateSegmentations_updateSegmentations(segmentationUpdateArray, suppre
27528
27616
  var activeSegmentation = __webpack_require__(26228);
27529
27617
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentLocking.js
27530
27618
  var segmentLocking = __webpack_require__(26795);
27531
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 2 modules
27532
- var segmentationState = __webpack_require__(98870);
27619
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js + 1 modules
27620
+ var segmentationState = __webpack_require__(83243);
27533
27621
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/config/segmentationColor.js
27534
27622
  var segmentationColor = __webpack_require__(93733);
27535
27623
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js
@@ -28581,7 +28669,7 @@ function getLockedSegmentIndices(segmentationId) {
28581
28669
 
28582
28670
  /***/ }),
28583
28671
 
28584
- /***/ 98870:
28672
+ /***/ 83243:
28585
28673
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28586
28674
 
28587
28675
  "use strict";
@@ -28589,11 +28677,10 @@ function getLockedSegmentIndices(segmentationId) {
28589
28677
  // EXPORTS
28590
28678
  __webpack_require__.d(__webpack_exports__, {
28591
28679
  getCurrentLabelmapImageIdForViewport: () => (/* reexport */ getCurrentLabelmapImageIdForViewport/* getCurrentLabelmapImageIdForViewport */.v),
28592
- getSegmentation: () => (/* reexport */ getSegmentation/* getSegmentation */.T),
28593
- getStackSegmentationImageIdsForViewport: () => (/* reexport */ getStackSegmentationImageIdsForViewport)
28680
+ getSegmentation: () => (/* reexport */ getSegmentation/* getSegmentation */.T)
28594
28681
  });
28595
28682
 
28596
- // UNUSED EXPORTS: addColorLUT, addSegmentations, destroy, getColorLUT, getNextColorLUTIndex, getSegmentationRepresentation, getSegmentationRepresentations, getSegmentationRepresentationsBySegmentationId, getSegmentations, getViewportIdsWithSegmentation, getViewportSegmentations, removeAllSegmentationRepresentations, removeAllSegmentations, removeColorLUT, removeContourRepresentation, removeLabelmapRepresentation, removeSegmentation, removeSegmentationRepresentation, removeSurfaceRepresentation, updateLabelmapSegmentationImageReferences
28683
+ // UNUSED EXPORTS: addColorLUT, addSegmentations, destroy, getColorLUT, getNextColorLUTIndex, getSegmentationRepresentation, getSegmentationRepresentations, getSegmentationRepresentationsBySegmentationId, getSegmentations, getStackSegmentationImageIdsForViewport, getViewportIdsWithSegmentation, getViewportSegmentations, removeAllSegmentationRepresentations, removeAllSegmentations, removeColorLUT, removeContourRepresentation, removeLabelmapRepresentation, removeSegmentation, removeSegmentationRepresentation, removeSurfaceRepresentation, updateLabelmapSegmentationImageReferences
28597
28684
 
28598
28685
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getSegmentation.js
28599
28686
  var getSegmentation = __webpack_require__(33283);
@@ -28628,13 +28715,8 @@ var getViewportIdsWithSegmentation = __webpack_require__(58859);
28628
28715
  var getCurrentLabelmapImageIdForViewport = __webpack_require__(97577);
28629
28716
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js
28630
28717
  var updateLabelmapSegmentationImageReferences = __webpack_require__(78231);
28631
- ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getStackSegmentationImageIdsForViewport.js
28632
-
28633
- function getStackSegmentationImageIdsForViewport(viewportId, segmentationId) {
28634
- const segmentationStateManager = SegmentationStateManager/* defaultSegmentationStateManager */._6;
28635
- return segmentationStateManager.getStackSegmentationImageIdsForViewport(viewportId, segmentationId);
28636
- }
28637
-
28718
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getStackSegmentationImageIdsForViewport.js
28719
+ var getStackSegmentationImageIdsForViewport = __webpack_require__(71309);
28638
28720
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js
28639
28721
  var getSegmentationRepresentation = __webpack_require__(93210);
28640
28722
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationState.js
@@ -31456,6 +31538,45 @@ class AnnotationDisplayTool extends _BaseTool__WEBPACK_IMPORTED_MODULE_1__/* ["d
31456
31538
  const { viewport } = enabledElement;
31457
31539
  return (0,_utilities_planar_filterAnnotationsForDisplay__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(viewport, annotations);
31458
31540
  }
31541
+ createAnnotation(evt) {
31542
+ const eventDetail = evt.detail;
31543
+ const { currentPoints, element } = eventDetail;
31544
+ const { world: worldPos } = currentPoints;
31545
+ const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
31546
+ const { viewport } = enabledElement;
31547
+ const camera = viewport.getCamera();
31548
+ const { viewPlaneNormal, viewUp, position: cameraPosition } = camera;
31549
+ const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
31550
+ const viewReference = viewport.getViewReference({ points: [worldPos] });
31551
+ return {
31552
+ highlighted: true,
31553
+ invalidated: true,
31554
+ metadata: {
31555
+ toolName: this.getToolName(),
31556
+ ...viewReference,
31557
+ referencedImageId,
31558
+ viewUp,
31559
+ cameraPosition,
31560
+ },
31561
+ data: {
31562
+ cachedStats: {},
31563
+ handles: {
31564
+ points: [],
31565
+ activeHandleIndex: null,
31566
+ textBox: {
31567
+ hasMoved: false,
31568
+ worldPosition: [0, 0, 0],
31569
+ worldBoundingBox: {
31570
+ topLeft: [0, 0, 0],
31571
+ topRight: [0, 0, 0],
31572
+ bottomLeft: [0, 0, 0],
31573
+ bottomRight: [0, 0, 0],
31574
+ },
31575
+ },
31576
+ },
31577
+ },
31578
+ };
31579
+ }
31459
31580
  getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp) {
31460
31581
  const targetId = this.getTargetId(viewport);
31461
31582
  let referencedImageId = targetId.split(/^[a-zA-Z]+:/)[1];
@@ -31487,21 +31608,34 @@ AnnotationDisplayTool.toolName = 'AnnotationDisplayTool';
31487
31608
  /* harmony import */ var _enums_ToolModes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49892);
31488
31609
 
31489
31610
 
31611
+ const { DefaultHistoryMemo } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.HistoryMemo;
31490
31612
  class BaseTool {
31613
+ static { this.defaults = {
31614
+ configuration: {
31615
+ strategies: {},
31616
+ defaultStrategy: undefined,
31617
+ activeStrategy: undefined,
31618
+ strategyOptions: {},
31619
+ },
31620
+ }; }
31491
31621
  constructor(toolProps, defaultToolProps) {
31492
- const initialProps = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.deepMerge(defaultToolProps, toolProps);
31622
+ const mergedDefaults = BaseTool.mergeDefaultProps(BaseTool.defaults, defaultToolProps);
31623
+ const initialProps = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.deepMerge(mergedDefaults, toolProps);
31493
31624
  const { configuration = {}, supportedInteractionTypes, toolGroupId, } = initialProps;
31494
- if (!configuration.strategies) {
31495
- configuration.strategies = {};
31496
- configuration.defaultStrategy = undefined;
31497
- configuration.activeStrategy = undefined;
31498
- configuration.strategyOptions = {};
31499
- }
31500
31625
  this.toolGroupId = toolGroupId;
31501
31626
  this.supportedInteractionTypes = supportedInteractionTypes || [];
31502
31627
  this.configuration = Object.assign({}, configuration);
31503
31628
  this.mode = _enums_ToolModes__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Disabled;
31504
31629
  }
31630
+ static mergeDefaultProps(defaultProps = {}, additionalProps) {
31631
+ if (!additionalProps) {
31632
+ return defaultProps;
31633
+ }
31634
+ return _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.deepMerge(defaultProps, additionalProps);
31635
+ }
31636
+ get toolName() {
31637
+ return this.getToolName();
31638
+ }
31505
31639
  getToolName() {
31506
31640
  return this.constructor.toolName;
31507
31641
  }
@@ -31565,6 +31699,32 @@ class BaseTool {
31565
31699
  }
31566
31700
  throw new Error('getTargetId: viewport must have a getViewReferenceId method');
31567
31701
  }
31702
+ undo() {
31703
+ DefaultHistoryMemo.undo();
31704
+ this.memo = null;
31705
+ }
31706
+ redo() {
31707
+ DefaultHistoryMemo.redo();
31708
+ }
31709
+ static createZoomPanMemo(viewport) {
31710
+ const state = {
31711
+ pan: viewport.getPan(),
31712
+ zoom: viewport.getZoom(),
31713
+ };
31714
+ const zoomPanMemo = {
31715
+ restoreMemo: () => {
31716
+ const currentPan = viewport.getPan();
31717
+ const currentZoom = viewport.getZoom();
31718
+ viewport.setZoom(state.zoom);
31719
+ viewport.setPan(state.pan);
31720
+ viewport.render();
31721
+ state.pan = currentPan;
31722
+ state.zoom = currentZoom;
31723
+ },
31724
+ };
31725
+ DefaultHistoryMemo.push(zoomPanMemo);
31726
+ return zoomPanMemo;
31727
+ }
31568
31728
  }
31569
31729
  BaseTool.toolName = 'BaseTool';
31570
31730
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BaseTool);
@@ -32028,20 +32188,15 @@ async function render(viewport, representation) {
32028
32188
  /* harmony export */ });
32029
32189
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81985);
32030
32190
  /* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3823);
32031
- /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85817);
32032
- /* harmony import */ var _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17492);
32033
- /* harmony import */ var _strategies_eraseSphere__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1989);
32034
- /* harmony import */ var _strategies_fillCircle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(56789);
32035
- /* harmony import */ var _strategies_eraseCircle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33852);
32036
- /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(99737);
32037
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(89578);
32038
- /* harmony import */ var _cursors_elementCursor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7001);
32039
- /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(58640);
32040
- /* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(98870);
32041
- /* harmony import */ var _stateManagement_segmentation_segmentLocking__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(26795);
32042
- /* harmony import */ var _stateManagement_segmentation_getActiveSegmentIndex__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(60740);
32043
- /* harmony import */ var _stateManagement_segmentation_config_segmentationColor__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(93733);
32044
- /* harmony import */ var _stateManagement_segmentation_getActiveSegmentation__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(67165);
32191
+ /* harmony import */ var _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17492);
32192
+ /* harmony import */ var _strategies_eraseSphere__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1989);
32193
+ /* harmony import */ var _strategies_fillCircle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(56789);
32194
+ /* harmony import */ var _strategies_eraseCircle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33852);
32195
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(99737);
32196
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89578);
32197
+ /* harmony import */ var _cursors_elementCursor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7001);
32198
+ /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(58640);
32199
+ /* harmony import */ var _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(23631);
32045
32200
 
32046
32201
 
32047
32202
 
@@ -32053,23 +32208,18 @@ async function render(viewport, representation) {
32053
32208
 
32054
32209
 
32055
32210
 
32056
-
32057
-
32058
-
32059
-
32060
-
32061
- class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32211
+ class BrushTool extends _LabelmapBaseTool__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A {
32062
32212
  constructor(toolProps = {}, defaultToolProps = {
32063
32213
  supportedInteractionTypes: ['Mouse', 'Touch'],
32064
32214
  configuration: {
32065
32215
  strategies: {
32066
- FILL_INSIDE_CIRCLE: _strategies_fillCircle__WEBPACK_IMPORTED_MODULE_5__/* .fillInsideCircle */ .kr,
32067
- ERASE_INSIDE_CIRCLE: _strategies_eraseCircle__WEBPACK_IMPORTED_MODULE_6__/* .eraseInsideCircle */ .r,
32068
- FILL_INSIDE_SPHERE: _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_3__/* .fillInsideSphere */ .Jq,
32069
- ERASE_INSIDE_SPHERE: _strategies_eraseSphere__WEBPACK_IMPORTED_MODULE_4__/* .eraseInsideSphere */ ._,
32070
- THRESHOLD_INSIDE_CIRCLE: _strategies_fillCircle__WEBPACK_IMPORTED_MODULE_5__/* .thresholdInsideCircle */ .q,
32071
- THRESHOLD_INSIDE_SPHERE: _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_3__/* .thresholdInsideSphere */ .rd,
32072
- THRESHOLD_INSIDE_SPHERE_WITH_ISLAND_REMOVAL: _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_3__/* .thresholdInsideSphereIsland */ .Sw,
32216
+ FILL_INSIDE_CIRCLE: _strategies_fillCircle__WEBPACK_IMPORTED_MODULE_4__/* .fillInsideCircle */ .kr,
32217
+ ERASE_INSIDE_CIRCLE: _strategies_eraseCircle__WEBPACK_IMPORTED_MODULE_5__/* .eraseInsideCircle */ .r,
32218
+ FILL_INSIDE_SPHERE: _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_2__/* .fillInsideSphere */ .Jq,
32219
+ ERASE_INSIDE_SPHERE: _strategies_eraseSphere__WEBPACK_IMPORTED_MODULE_3__/* .eraseInsideSphere */ ._,
32220
+ THRESHOLD_INSIDE_CIRCLE: _strategies_fillCircle__WEBPACK_IMPORTED_MODULE_4__/* .thresholdInsideCircle */ .q,
32221
+ THRESHOLD_INSIDE_SPHERE: _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_2__/* .thresholdInsideSphere */ .rd,
32222
+ THRESHOLD_INSIDE_SPHERE_WITH_ISLAND_REMOVAL: _strategies_fillSphere__WEBPACK_IMPORTED_MODULE_2__/* .thresholdInsideSphereIsland */ .Sw,
32073
32223
  },
32074
32224
  strategySpecificConfiguration: {
32075
32225
  THRESHOLD: {
@@ -32089,8 +32239,8 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32089
32239
  dragTimeMs: 500,
32090
32240
  },
32091
32241
  actions: {
32092
- [_enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.AcceptPreview]: {
32093
- method: _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.AcceptPreview,
32242
+ [_enums__WEBPACK_IMPORTED_MODULE_6__.StrategyCallbacks.AcceptPreview]: {
32243
+ method: _enums__WEBPACK_IMPORTED_MODULE_6__.StrategyCallbacks.AcceptPreview,
32094
32244
  bindings: [
32095
32245
  {
32096
32246
  key: 'Enter',
@@ -32101,14 +32251,6 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32101
32251
  },
32102
32252
  }) {
32103
32253
  super(toolProps, defaultToolProps);
32104
- this._previewData = {
32105
- preview: null,
32106
- element: null,
32107
- timerStart: 0,
32108
- timer: null,
32109
- startPoint: [NaN, NaN],
32110
- isDrag: false,
32111
- };
32112
32254
  this.onSetToolPassive = (evt) => {
32113
32255
  this.disableCursor();
32114
32256
  };
@@ -32124,18 +32266,18 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32124
32266
  const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32125
32267
  this._editData = this.createEditData(element);
32126
32268
  this._activateDraw(element);
32127
- (0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_9__.hideElementCursor)(element);
32269
+ (0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_8__.hideElementCursor)(element);
32128
32270
  evt.preventDefault();
32129
32271
  this._previewData.isDrag = false;
32130
32272
  this._previewData.timerStart = Date.now();
32131
32273
  const hoverData = this._hoverData || this.createHoverData(element);
32132
- (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(hoverData.viewportIdsToRender);
32274
+ (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(hoverData.viewportIdsToRender);
32133
32275
  const operationData = this.getOperationData(element);
32134
- this.applyActiveStrategyCallback(enabledElement, operationData, _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.OnInteractionStart);
32276
+ this.applyActiveStrategyCallback(enabledElement, operationData, _enums__WEBPACK_IMPORTED_MODULE_6__.StrategyCallbacks.OnInteractionStart);
32135
32277
  return true;
32136
32278
  };
32137
32279
  this.mouseMoveCallback = (evt) => {
32138
- if (this.mode === _enums__WEBPACK_IMPORTED_MODULE_7__.ToolModes.Active) {
32280
+ if (this.mode === _enums__WEBPACK_IMPORTED_MODULE_6__.ToolModes.Active) {
32139
32281
  this.updateCursor(evt);
32140
32282
  if (!this.configuration.preview.enabled) {
32141
32283
  return;
@@ -32172,7 +32314,7 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32172
32314
  if (this._previewData.preview) {
32173
32315
  return;
32174
32316
  }
32175
- this._previewData.preview = this.applyActiveStrategyCallback((0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(this._previewData.element), this.getOperationData(this._previewData.element), _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.Preview);
32317
+ this._previewData.preview = this.applyActiveStrategyCallback((0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(this._previewData.element), this.getOperationData(this._previewData.element), _enums__WEBPACK_IMPORTED_MODULE_6__.StrategyCallbacks.Preview);
32176
32318
  };
32177
32319
  this._dragCallback = (evt) => {
32178
32320
  const eventData = evt.detail;
@@ -32180,7 +32322,7 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32180
32322
  const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32181
32323
  this.updateCursor(evt);
32182
32324
  const { viewportIdsToRender } = this._hoverData;
32183
- (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(viewportIdsToRender);
32325
+ (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(viewportIdsToRender);
32184
32326
  const delta = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec2.distance */ .Zc.distance(currentPoints.canvas, this._previewData.startPoint);
32185
32327
  const { dragTimeMs, dragMoveDistance } = this.configuration.preview;
32186
32328
  if (!this._previewData.isDrag &&
@@ -32204,167 +32346,29 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32204
32346
  this.applyActiveStrategy(enabledElement, operationData);
32205
32347
  }
32206
32348
  this._deactivateDraw(element);
32207
- (0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_9__.resetElementCursor)(element);
32349
+ (0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_8__.resetElementCursor)(element);
32208
32350
  this.updateCursor(evt);
32209
32351
  this._editData = null;
32210
- this.applyActiveStrategyCallback(enabledElement, operationData, _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.OnInteractionEnd);
32352
+ this.applyActiveStrategyCallback(enabledElement, operationData, _enums__WEBPACK_IMPORTED_MODULE_6__.StrategyCallbacks.OnInteractionEnd);
32211
32353
  if (!this._previewData.isDrag) {
32212
32354
  this.acceptPreview(element);
32213
32355
  }
32214
32356
  };
32215
32357
  this._activateDraw = (element) => {
32216
- element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_7__.Events.MOUSE_UP, this._endCallback);
32217
- element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_7__.Events.MOUSE_DRAG, this._dragCallback);
32218
- element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_7__.Events.MOUSE_CLICK, this._endCallback);
32358
+ element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_6__.Events.MOUSE_UP, this._endCallback);
32359
+ element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_6__.Events.MOUSE_DRAG, this._dragCallback);
32360
+ element.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_6__.Events.MOUSE_CLICK, this._endCallback);
32219
32361
  };
32220
32362
  this._deactivateDraw = (element) => {
32221
- element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_7__.Events.MOUSE_UP, this._endCallback);
32222
- element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_7__.Events.MOUSE_DRAG, this._dragCallback);
32223
- element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_7__.Events.MOUSE_CLICK, this._endCallback);
32363
+ element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_6__.Events.MOUSE_UP, this._endCallback);
32364
+ element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_6__.Events.MOUSE_DRAG, this._dragCallback);
32365
+ element.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_6__.Events.MOUSE_CLICK, this._endCallback);
32224
32366
  };
32225
32367
  }
32226
32368
  disableCursor() {
32227
32369
  this._hoverData = undefined;
32228
32370
  this.rejectPreview();
32229
32371
  }
32230
- createEditData(element) {
32231
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32232
- const { viewport } = enabledElement;
32233
- const activeSegmentation = (0,_stateManagement_segmentation_getActiveSegmentation__WEBPACK_IMPORTED_MODULE_15__/* .getActiveSegmentation */ .T)(viewport.id);
32234
- if (!activeSegmentation) {
32235
- const event = new CustomEvent(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.Enums.Events.ERROR_EVENT, {
32236
- detail: {
32237
- type: 'Segmentation',
32238
- message: 'No active segmentation detected, create a segmentation representation before using the brush tool',
32239
- },
32240
- cancelable: true,
32241
- });
32242
- _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.dispatchEvent(event);
32243
- return null;
32244
- }
32245
- const { segmentationId } = activeSegmentation;
32246
- const segmentsLocked = (0,_stateManagement_segmentation_segmentLocking__WEBPACK_IMPORTED_MODULE_12__.getLockedSegmentIndices)(segmentationId);
32247
- const { representationData } = (0,_stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_11__.getSegmentation)(segmentationId);
32248
- if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
32249
- const { volumeId } = representationData[_enums__WEBPACK_IMPORTED_MODULE_7__.SegmentationRepresentations.Labelmap];
32250
- const actors = viewport.getActors();
32251
- const isStackViewport = viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.StackViewport;
32252
- if (isStackViewport) {
32253
- const event = new CustomEvent(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.Enums.Events.ERROR_EVENT, {
32254
- detail: {
32255
- type: 'Segmentation',
32256
- message: 'Cannot perform brush operation on the selected viewport',
32257
- },
32258
- cancelable: true,
32259
- });
32260
- _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.dispatchEvent(event);
32261
- return null;
32262
- }
32263
- const volumes = actors.map((actorEntry) => _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(actorEntry.referencedId));
32264
- const segmentationVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
32265
- const referencedVolumeIdToThreshold = volumes.find((volume) => _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isEqual(volume.dimensions, segmentationVolume.dimensions))?.volumeId || volumes[0]?.volumeId;
32266
- return {
32267
- volumeId,
32268
- referencedVolumeId: this.configuration.thresholdVolumeId ?? referencedVolumeIdToThreshold,
32269
- segmentsLocked,
32270
- };
32271
- }
32272
- else {
32273
- const segmentationImageId = (0,_stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_11__.getCurrentLabelmapImageIdForViewport)(viewport.id, segmentationId);
32274
- if (!segmentationImageId) {
32275
- return;
32276
- }
32277
- if (this.configuration.activeStrategy.includes('SPHERE')) {
32278
- const referencedImageIds = viewport.getImageIds();
32279
- const isValidVolumeForSphere = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isValidVolume(referencedImageIds);
32280
- if (!isValidVolumeForSphere) {
32281
- throw new Error('Volume is not reconstructable for sphere manipulation');
32282
- }
32283
- const volumeId = `${segmentationId}_${viewport.id}`;
32284
- const volume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
32285
- if (volume) {
32286
- return {
32287
- imageId: segmentationImageId,
32288
- segmentsLocked,
32289
- override: {
32290
- voxelManager: volume.voxelManager,
32291
- imageData: volume.imageData,
32292
- },
32293
- };
32294
- }
32295
- else {
32296
- const labelmapImageIds = (0,_stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_11__.getStackSegmentationImageIdsForViewport)(viewport.id, segmentationId);
32297
- if (!labelmapImageIds || labelmapImageIds.length === 1) {
32298
- return {
32299
- imageId: segmentationImageId,
32300
- segmentsLocked,
32301
- };
32302
- }
32303
- const volume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.volumeLoader.createAndCacheVolumeFromImagesSync(volumeId, labelmapImageIds);
32304
- return {
32305
- imageId: segmentationImageId,
32306
- segmentsLocked,
32307
- override: {
32308
- voxelManager: volume.voxelManager,
32309
- imageData: volume.imageData,
32310
- },
32311
- };
32312
- }
32313
- }
32314
- else {
32315
- return {
32316
- imageId: segmentationImageId,
32317
- segmentsLocked,
32318
- };
32319
- }
32320
- }
32321
- }
32322
- createHoverData(element, centerCanvas) {
32323
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32324
- const { viewport } = enabledElement;
32325
- const camera = viewport.getCamera();
32326
- const { viewPlaneNormal, viewUp } = camera;
32327
- const viewportIdsToRender = [viewport.id];
32328
- const { segmentIndex, segmentationId, segmentColor } = this.getActiveSegmentationData(viewport) || {};
32329
- const brushCursor = {
32330
- metadata: {
32331
- viewPlaneNormal: [...viewPlaneNormal],
32332
- viewUp: [...viewUp],
32333
- FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
32334
- referencedImageId: '',
32335
- toolName: this.getToolName(),
32336
- segmentColor,
32337
- },
32338
- data: {},
32339
- };
32340
- return {
32341
- brushCursor,
32342
- centerCanvas,
32343
- segmentIndex,
32344
- viewport,
32345
- segmentationId,
32346
- segmentColor,
32347
- viewportIdsToRender,
32348
- };
32349
- }
32350
- getActiveSegmentationData(viewport) {
32351
- const viewportId = viewport.id;
32352
- const activeRepresentation = (0,_stateManagement_segmentation_getActiveSegmentation__WEBPACK_IMPORTED_MODULE_15__/* .getActiveSegmentation */ .T)(viewportId);
32353
- if (!activeRepresentation) {
32354
- return;
32355
- }
32356
- const { segmentationId } = activeRepresentation;
32357
- const segmentIndex = (0,_stateManagement_segmentation_getActiveSegmentIndex__WEBPACK_IMPORTED_MODULE_13__/* .getActiveSegmentIndex */ .Q)(segmentationId);
32358
- if (!segmentIndex) {
32359
- return;
32360
- }
32361
- const segmentColor = (0,_stateManagement_segmentation_config_segmentationColor__WEBPACK_IMPORTED_MODULE_14__.getSegmentIndexColor)(viewportId, segmentationId, segmentIndex);
32362
- return {
32363
- segmentIndex,
32364
- segmentationId,
32365
- segmentColor,
32366
- };
32367
- }
32368
32372
  updateCursor(evt) {
32369
32373
  const eventData = evt.detail;
32370
32374
  const { element } = eventData;
@@ -32375,28 +32379,7 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32375
32379
  if (!this._hoverData) {
32376
32380
  return;
32377
32381
  }
32378
- (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(this._hoverData.viewportIdsToRender);
32379
- }
32380
- getOperationData(element) {
32381
- const editData = this._editData || this.createEditData(element);
32382
- const { segmentIndex, segmentationId, brushCursor } = this._hoverData || this.createHoverData(element);
32383
- const { data, metadata = {} } = brushCursor || {};
32384
- const { viewPlaneNormal, viewUp } = metadata;
32385
- const operationData = {
32386
- ...editData,
32387
- points: data?.handles?.points,
32388
- segmentIndex,
32389
- previewColors: this.configuration.preview.enabled
32390
- ? this.configuration.preview.previewColors
32391
- : null,
32392
- viewPlaneNormal,
32393
- toolGroupId: this.toolGroupId,
32394
- segmentationId,
32395
- viewUp,
32396
- strategySpecificConfiguration: this.configuration.strategySpecificConfiguration,
32397
- preview: this._previewData?.preview,
32398
- };
32399
- return operationData;
32382
+ (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this._hoverData.viewportIdsToRender);
32400
32383
  }
32401
32384
  _calculateCursor(element, centerCanvas) {
32402
32385
  const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
@@ -32451,27 +32434,9 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32451
32434
  return;
32452
32435
  }
32453
32436
  const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32454
- const stats = this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.GetStatistics, segmentIndices);
32437
+ const stats = this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_6__.StrategyCallbacks.GetStatistics, segmentIndices);
32455
32438
  return stats;
32456
32439
  }
32457
- rejectPreview(element = this._previewData.element) {
32458
- if (!element || !this._previewData.preview) {
32459
- return;
32460
- }
32461
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32462
- this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.RejectPreview);
32463
- this._previewData.preview = null;
32464
- this._previewData.isDrag = false;
32465
- }
32466
- acceptPreview(element = this._previewData.element) {
32467
- if (!element) {
32468
- return;
32469
- }
32470
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
32471
- this.applyActiveStrategyCallback(enabledElement, this.getOperationData(element), _enums__WEBPACK_IMPORTED_MODULE_7__.StrategyCallbacks.AcceptPreview);
32472
- this._previewData.isDrag = false;
32473
- this._previewData.preview = null;
32474
- }
32475
32440
  invalidateBrushCursor() {
32476
32441
  if (this._hoverData === undefined) {
32477
32442
  return;
@@ -32518,7 +32483,7 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32518
32483
  return;
32519
32484
  }
32520
32485
  const circleUID = '0';
32521
- (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_8__.drawCircle)(svgDrawingHelper, annotationUID, circleUID, center, radius, {
32486
+ (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_7__.drawCircle)(svgDrawingHelper, annotationUID, circleUID, center, radius, {
32522
32487
  color,
32523
32488
  });
32524
32489
  const activeStrategy = this.configuration.activeStrategy;
@@ -32528,7 +32493,7 @@ class BrushTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .BaseTool */ .oS {
32528
32493
  };
32529
32494
  if (dynamicRadiusInCanvas) {
32530
32495
  const circleUID1 = '1';
32531
- (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_8__.drawCircle)(svgDrawingHelper, annotationUID, circleUID1, center, dynamicRadiusInCanvas, {
32496
+ (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_7__.drawCircle)(svgDrawingHelper, annotationUID, circleUID1, center, dynamicRadiusInCanvas, {
32532
32497
  color,
32533
32498
  });
32534
32499
  }