@ohif/app 3.12.0-beta.86 → 3.12.0-beta.88

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 (43) hide show
  1. package/dist/{1037.bundle.c5b7e110bee6ca994e4a.js → 1037.bundle.87a5adb8c92bd5bf53f5.js} +165 -51
  2. package/dist/{1214.bundle.01574d45655d4aed6d97.js → 1214.bundle.0015f63bce964b6ef47e.js} +170 -20
  3. package/dist/{1927.bundle.da6db325e08bacb0bca0.js → 1927.bundle.019331c266d306772371.js} +1 -1
  4. package/dist/{2518.bundle.4fd28150fb5a21d423e6.js → 2518.bundle.644302643ac0790e7374.js} +9 -1
  5. package/dist/{306.bundle.c671a09e1eacf6bcfc84.js → 306.bundle.f9faa2b3cdd7e86b5869.js} +114 -5
  6. package/dist/{4113.bundle.e5f1621632eca8b1aa53.js → 3461.bundle.801efcb1108297c5bc55.js} +17 -262
  7. package/dist/{3613.bundle.0231451edf6a513eb34a.js → 3613.bundle.6157004e0592003c0800.js} +41 -12
  8. package/dist/{4019.bundle.210bc6108a0656fc35ec.js → 4019.bundle.1be1cdd0805ad2c59d65.js} +16 -43
  9. package/dist/{414.bundle.f669e66c20b7ea2b7530.js → 414.bundle.bcb93cfec4662384fc24.js} +2 -2
  10. package/dist/{5400.bundle.3ebba479fc068cd8c700.js → 5400.bundle.c3a3fe8867efa2edfa94.js} +7 -9
  11. package/dist/{5858.bundle.99a6b9de04c621694ffd.js → 5858.bundle.d5f4bf849aaeebf5025c.js} +1 -1
  12. package/dist/{7412.bundle.9c3066742e534aaabb61.js → 7412.bundle.34fe5e72833e857edc0a.js} +202 -52
  13. package/dist/{9548.bundle.b91ebbc3a8ad7206b3aa.js → 9548.bundle.dc1d2a51c2834260179f.js} +2 -2
  14. package/dist/{app.bundle.5d10f23b4da5b116a61b.js → app.bundle.8a2402eedcc45ffb3249.js} +47 -25
  15. package/dist/app.bundle.css +1 -1
  16. package/dist/{compute.bundle.ce909c29a2b66706341f.js → compute.bundle.f3ca9fb0e7ce9e885b9c.js} +1 -1
  17. package/dist/index.html +1 -1
  18. package/dist/{polySeg.bundle.ed1926b3f492983b8ced.js → polySeg.bundle.7b8d1bb21d442a48da1d.js} +1 -1
  19. package/dist/sw.js +1 -1
  20. package/package.json +21 -21
  21. /package/dist/{1459.bundle.d44f5e52da6fb19aecc6.js → 1459.bundle.7f578dc1846aed55941a.js} +0 -0
  22. /package/dist/{147.bundle.b1edd4ebd4f25f286183.js → 147.bundle.6fc65a239d1ae1c6a918.js} +0 -0
  23. /package/dist/{1604.bundle.c31a11dc0ff99454545e.js → 1604.bundle.0dbceba7e533dc8a5538.js} +0 -0
  24. /package/dist/{1919.bundle.4ca5fe01d2f7c5a62792.js → 1919.bundle.ddc7b254b294a01071ef.js} +0 -0
  25. /package/dist/{2018.bundle.8c8676df1bfcdb0e7c7c.js → 2018.bundle.3c6b2f7616f910ecd841.js} +0 -0
  26. /package/dist/{213.bundle.d8bc7e6e70680f236847.js → 213.bundle.434cf325826eea706aaa.js} +0 -0
  27. /package/dist/{2243.bundle.1e9358b9d772507c02be.js → 2243.bundle.57ff620e2177cd42c600.js} +0 -0
  28. /package/dist/{2424.bundle.42ad0c57d8a5120b8ed5.js → 2424.bundle.c493683b794a0b640f2d.js} +0 -0
  29. /package/dist/{319.bundle.f5adcbbef5767dedc45d.js → 319.bundle.4ea0dbcfeb553c900206.js} +0 -0
  30. /package/dist/{4092.bundle.ca6b0bb4d15e5e45d891.js → 4092.bundle.65bdae18b174487c1676.js} +0 -0
  31. /package/dist/{5457.bundle.12df550c4148fda9fd19.js → 5457.bundle.e5d677b16d724b4cbf26.js} +0 -0
  32. /package/dist/{5485.bundle.f5dd3dd6313f57cf9053.js → 5485.bundle.9b70beea7330a4af35d9.js} +0 -0
  33. /package/dist/{6027.bundle.6db4480e70d0f23b1dec.js → 6027.bundle.54bcbe0f98f17755ec15.js} +0 -0
  34. /package/dist/{6201.bundle.60af9e41cfe5d1397946.js → 6201.bundle.5755b32632202c3dc29a.js} +0 -0
  35. /package/dist/{6991.bundle.e989d70e0872071c671c.js → 6991.bundle.3e77f988fa5a44852896.js} +0 -0
  36. /package/dist/{7431.bundle.cb629cddc7beedb366c8.js → 7431.bundle.55dd86000e66bee467e2.js} +0 -0
  37. /package/dist/{7639.bundle.57c8bea585ffef6ffcc0.js → 7639.bundle.33544dd89caced2b2a41.js} +0 -0
  38. /package/dist/{810.bundle.d18a4893fd961ed12dd4.js → 810.bundle.cd396218c3cbf1e10add.js} +0 -0
  39. /package/dist/{85.bundle.a4d3f7930554511f9392.js → 85.bundle.f10f07e444c16e578e69.js} +0 -0
  40. /package/dist/{8558.bundle.1e748fff1c13f0d6e6e1.js → 8558.bundle.f15f34e8139e38b1af01.js} +0 -0
  41. /package/dist/{934.bundle.9ae41e2c3feaffdf108c.js → 934.bundle.78a16ab84358c9848c26.js} +0 -0
  42. /package/dist/{9862.bundle.9f27703ec23c9c8f4cea.js → 9862.bundle.fa2e1ca195f94ef376de.js} +0 -0
  43. /package/dist/{9927.bundle.f6b0fde3f41ba52254fc.js → 9927.bundle.7ee83699e0036c10ebdc.js} +0 -0
@@ -1256,7 +1256,7 @@ function drawLine(svgDrawingHelper, annotationUID, lineUID, start, end, options
1256
1256
  if (isNaN(start[0]) || isNaN(start[1]) || isNaN(end[0]) || isNaN(end[1])) {
1257
1257
  return;
1258
1258
  }
1259
- const { color = 'rgb(0, 255, 0)', width = 10, lineWidth, lineDash, markerStartId = null, markerEndId = null, shadow = false, strokeOpacity = 1, } = options;
1259
+ const { color = 'rgb(0, 255, 0)', width = 10, lineWidth, lineDash, markerStartId = null, markerEndId = null, shadow = false, strokeOpacity = 1, textBoxLinkLineColor, } = options;
1260
1260
  const strokeWidth = lineWidth || width;
1261
1261
  const svgns = 'http://www.w3.org/2000/svg';
1262
1262
  const svgNodeHash = (0,_getHash__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(annotationUID, 'line', lineUID);
@@ -1268,7 +1268,7 @@ function drawLine(svgDrawingHelper, annotationUID, lineUID, start, end, options
1268
1268
  y1: `${start[1]}`,
1269
1269
  x2: `${end[0]}`,
1270
1270
  y2: `${end[1]}`,
1271
- stroke: color,
1271
+ stroke: textBoxLinkLineColor || color,
1272
1272
  style: dropShadowStyle,
1273
1273
  'stroke-width': strokeWidth,
1274
1274
  'stroke-dasharray': lineDash,
@@ -1500,9 +1500,14 @@ function drawTextBox(svgDrawingHelper, annotationUID, textUID, textLines, positi
1500
1500
  return textGroupBoundingBox;
1501
1501
  }
1502
1502
  function _drawTextGroup(svgDrawingHelper, annotationUID, textUID, textLines = [''], position, options) {
1503
- const { padding, color, fontFamily, fontSize, background } = options;
1503
+ const { padding, color, fontFamily, fontSize, background, textBoxBorderRadius, textBoxMargin, } = options;
1504
1504
  let textGroupBoundingBox;
1505
1505
  const [x, y] = [position[0] + padding, position[1] + padding];
1506
+ const backgroundStyles = {
1507
+ color: background,
1508
+ textBoxBorderRadius,
1509
+ textBoxMargin,
1510
+ };
1506
1511
  const svgns = 'http://www.w3.org/2000/svg';
1507
1512
  const svgNodeHash = (0,_getHash__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(annotationUID, 'text', textUID);
1508
1513
  const existingTextGroup = svgDrawingHelper.getSvgNode(svgNodeHash);
@@ -1534,7 +1539,7 @@ function _drawTextGroup(svgDrawingHelper, annotationUID, textUID, textLines = ['
1534
1539
  (0,_setAttributesIfNecessary__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(textAttributes, textElement);
1535
1540
  (0,_setAttributesIfNecessary__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(textGroupAttributes, existingTextGroup);
1536
1541
  existingTextGroup.setAttribute('data-annotation-uid', annotationUID);
1537
- textGroupBoundingBox = _drawTextBackground(existingTextGroup, background);
1542
+ textGroupBoundingBox = _drawTextBackground(existingTextGroup, backgroundStyles);
1538
1543
  svgDrawingHelper.setNodeTouched(svgNodeHash);
1539
1544
  }
1540
1545
  else {
@@ -1582,8 +1587,10 @@ function _createTextSpan(text) {
1582
1587
  textSpanElement.textContent = text;
1583
1588
  return textSpanElement;
1584
1589
  }
1585
- function _drawTextBackground(group, color) {
1590
+ function _drawTextBackground(group, backgroundStyles) {
1591
+ const { color, textBoxBorderRadius = 0, textBoxMargin = 0, } = backgroundStyles;
1586
1592
  let element = group.querySelector('rect.background');
1593
+ const textElement = group.querySelector('text').getBBox();
1587
1594
  if (!color) {
1588
1595
  if (element) {
1589
1596
  group.removeChild(element);
@@ -1599,10 +1606,19 @@ function _drawTextBackground(group, color) {
1599
1606
  const attributes = {
1600
1607
  x: `${bBox.x}`,
1601
1608
  y: `${bBox.y}`,
1602
- width: `${bBox.width}`,
1603
- height: `${bBox.height}`,
1609
+ width: `${textElement.width + Number(textBoxMargin) * 2}`,
1610
+ height: `${textElement.height + Number(textBoxMargin) * 2}`,
1604
1611
  fill: color,
1612
+ rx: textBoxBorderRadius,
1613
+ ry: textBoxBorderRadius,
1605
1614
  };
1615
+ if (textBoxMargin) {
1616
+ const tSpans = Array.from(group.querySelector('text').querySelectorAll('tspan'));
1617
+ tSpans.forEach((tspan, i) => {
1618
+ i === 0 && tspan.setAttribute('y', textBoxMargin);
1619
+ tspan.setAttribute('x', textBoxMargin);
1620
+ });
1621
+ }
1606
1622
  (0,_setAttributesIfNecessary__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(attributes, element);
1607
1623
  return bBox;
1608
1624
  }
@@ -4382,14 +4398,18 @@ const annotation_state = {
4382
4398
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
4383
4399
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99737);
4384
4400
  /* harmony import */ var _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18682);
4385
- /* harmony import */ var _getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93210);
4386
- /* harmony import */ var _tools_displayTools_Surface_surfaceDisplay__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67014);
4387
- /* harmony import */ var _tools_displayTools_Contour_contourDisplay__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25894);
4388
- /* harmony import */ var _tools_displayTools_Labelmap_labelmapDisplay__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(684);
4389
- /* harmony import */ var _store_addTool__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(68040);
4390
- /* harmony import */ var _store_state__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(85204);
4391
- /* harmony import */ var _tools_annotation_PlanarFreehandContourSegmentationTool__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(37590);
4392
- /* harmony import */ var _store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(77609);
4401
+ /* harmony import */ var _getSegmentation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33283);
4402
+ /* harmony import */ var _getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(93210);
4403
+ /* harmony import */ var _tools_displayTools_Surface_surfaceDisplay__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67014);
4404
+ /* harmony import */ var _tools_displayTools_Contour_contourDisplay__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(25894);
4405
+ /* harmony import */ var _tools_displayTools_Labelmap_labelmapDisplay__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(684);
4406
+ /* harmony import */ var _store_addTool__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68040);
4407
+ /* harmony import */ var _store_state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(85204);
4408
+ /* harmony import */ var _tools_annotation_PlanarFreehandContourSegmentationTool__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(37590);
4409
+ /* harmony import */ var _store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(77609);
4410
+ /* harmony import */ var _segmentationEventManager__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(10692);
4411
+
4412
+
4393
4413
 
4394
4414
 
4395
4415
 
@@ -4402,11 +4422,11 @@ const annotation_state = {
4402
4422
 
4403
4423
 
4404
4424
  const renderers = {
4405
- [_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Labelmap]: _tools_displayTools_Labelmap_labelmapDisplay__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Ay,
4406
- [_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Contour]: _tools_displayTools_Contour_contourDisplay__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A,
4407
- [_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Surface]: _tools_displayTools_Surface_surfaceDisplay__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Ay,
4425
+ [_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Labelmap]: _tools_displayTools_Labelmap_labelmapDisplay__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Ay,
4426
+ [_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Contour]: _tools_displayTools_Contour_contourDisplay__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A,
4427
+ [_enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Surface]: _tools_displayTools_Surface_surfaceDisplay__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Ay,
4408
4428
  };
4409
- const planarContourToolName = _tools_annotation_PlanarFreehandContourSegmentationTool__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A.toolName;
4429
+ const planarContourToolName = _tools_annotation_PlanarFreehandContourSegmentationTool__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A.toolName;
4410
4430
  class SegmentationRenderingEngine {
4411
4431
  constructor() {
4412
4432
  this._needsRender = new Set();
@@ -4450,13 +4470,13 @@ class SegmentationRenderingEngine {
4450
4470
  for (const viewport of viewports) {
4451
4471
  const viewportId = viewport.id;
4452
4472
  if (segmentationId) {
4453
- const segmentationRepresentations = (0,_getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_3__/* .getSegmentationRepresentations */ .r$)(viewportId, { segmentationId });
4473
+ const segmentationRepresentations = (0,_getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_4__/* .getSegmentationRepresentations */ .r$)(viewportId, { segmentationId });
4454
4474
  if (segmentationRepresentations?.length > 0) {
4455
4475
  viewportIds.push(viewportId);
4456
4476
  }
4457
4477
  }
4458
4478
  else {
4459
- const segmentationRepresentations = (0,_getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_3__/* .getSegmentationRepresentations */ .r$)(viewportId);
4479
+ const segmentationRepresentations = (0,_getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_4__/* .getSegmentationRepresentations */ .r$)(viewportId);
4460
4480
  if (segmentationRepresentations?.length > 0) {
4461
4481
  viewportIds.push(viewportId);
4462
4482
  }
@@ -4486,7 +4506,7 @@ class SegmentationRenderingEngine {
4486
4506
  }
4487
4507
  }
4488
4508
  _triggerRender(viewportId) {
4489
- const segmentationRepresentations = (0,_getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_3__/* .getSegmentationRepresentations */ .r$)(viewportId);
4509
+ const segmentationRepresentations = (0,_getSegmentationRepresentation__WEBPACK_IMPORTED_MODULE_4__/* .getSegmentationRepresentations */ .r$)(viewportId);
4490
4510
  if (!segmentationRepresentations?.length) {
4491
4511
  return;
4492
4512
  }
@@ -4494,15 +4514,19 @@ class SegmentationRenderingEngine {
4494
4514
  if (!viewport) {
4495
4515
  return;
4496
4516
  }
4497
- const viewportRenderList = [];
4498
4517
  const segmentationRenderList = segmentationRepresentations.map((representation) => {
4499
4518
  if (representation.type === _enums__WEBPACK_IMPORTED_MODULE_1__.SegmentationRepresentations.Contour) {
4500
4519
  this._addPlanarFreeHandToolIfAbsent(viewport);
4501
4520
  }
4502
4521
  const display = renderers[representation.type];
4522
+ const segmentation = (0,_getSegmentation__WEBPACK_IMPORTED_MODULE_3__/* .getSegmentation */ .T)(representation.segmentationId);
4523
+ const existingRepresentation = segmentation.representationData[representation.type] !== undefined;
4503
4524
  try {
4504
- const viewportId = display.render(viewport, representation);
4505
- viewportRenderList.push(viewportId);
4525
+ display.render(viewport, representation).then(() => {
4526
+ if (!existingRepresentation) {
4527
+ (0,_segmentationEventManager__WEBPACK_IMPORTED_MODULE_12__/* .addDefaultSegmentationListener */ .Np)(viewport, representation.segmentationId, representation.type);
4528
+ }
4529
+ });
4506
4530
  }
4507
4531
  catch (error) {
4508
4532
  console.error(error);
@@ -4536,10 +4560,10 @@ class SegmentationRenderingEngine {
4536
4560
  });
4537
4561
  }
4538
4562
  _addPlanarFreeHandToolIfAbsent(viewport) {
4539
- if (!(planarContourToolName in _store_state__WEBPACK_IMPORTED_MODULE_8__/* .state */ .wk.tools)) {
4540
- (0,_store_addTool__WEBPACK_IMPORTED_MODULE_7__/* .addTool */ .Gx)(_tools_annotation_PlanarFreehandContourSegmentationTool__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A);
4563
+ if (!(planarContourToolName in _store_state__WEBPACK_IMPORTED_MODULE_9__/* .state */ .wk.tools)) {
4564
+ (0,_store_addTool__WEBPACK_IMPORTED_MODULE_8__/* .addTool */ .Gx)(_tools_annotation_PlanarFreehandContourSegmentationTool__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A);
4541
4565
  }
4542
- const toolGroup = (0,_store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_10__.getToolGroupForViewport)(viewport.id);
4566
+ const toolGroup = (0,_store_ToolGroupManager__WEBPACK_IMPORTED_MODULE_11__.getToolGroupForViewport)(viewport.id);
4543
4567
  if (!toolGroup.hasTool(planarContourToolName)) {
4544
4568
  toolGroup.addTool(planarContourToolName);
4545
4569
  toolGroup.setToolPassive(planarContourToolName);
@@ -5764,9 +5788,11 @@ __webpack_require__.d(__webpack_exports__, {
5764
5788
  activeSegmentation: () => (/* reexport */ activeSegmentation),
5765
5789
  addContourRepresentationToViewport: () => (/* reexport */ addSegmentationRepresentationsToViewport/* addContourRepresentationToViewport */.At),
5766
5790
  addContourRepresentationToViewportMap: () => (/* reexport */ addSegmentationRepresentationsToViewport/* addContourRepresentationToViewportMap */.cs),
5791
+ addDefaultSegmentationListener: () => (/* reexport */ segmentationEventManager/* addDefaultSegmentationListener */.Np),
5767
5792
  addLabelmapRepresentationToViewport: () => (/* reexport */ addSegmentationRepresentationsToViewport/* addLabelmapRepresentationToViewport */.Wz),
5768
5793
  addLabelmapRepresentationToViewportMap: () => (/* reexport */ addSegmentationRepresentationsToViewport/* addLabelmapRepresentationToViewportMap */.w9),
5769
5794
  addRepresentationData: () => (/* reexport */ internalAddRepresentationData/* default */.A),
5795
+ addSegmentationListener: () => (/* reexport */ segmentationEventManager/* addSegmentationListener */.MC),
5770
5796
  addSegmentationRepresentations: () => (/* reexport */ addSegmentationRepresentationsToViewport/* addSegmentationRepresentations */.gR),
5771
5797
  addSegmentations: () => (/* reexport */ addSegmentations/* addSegmentations */.d),
5772
5798
  addSurfaceRepresentationToViewport: () => (/* reexport */ addSegmentationRepresentationsToViewport/* addSurfaceRepresentationToViewport */.Hr),
@@ -5778,12 +5804,14 @@ __webpack_require__.d(__webpack_exports__, {
5778
5804
  getLabelmapImageIds: () => (/* reexport */ getLabelmapImageIds),
5779
5805
  getLabelmapImageIdsForImageId: () => (/* reexport */ getCurrentLabelmapImageIdForViewport/* getLabelmapImageIdsForImageId */.T8),
5780
5806
  helpers: () => (/* binding */ helpers),
5807
+ removeAllSegmentationListeners: () => (/* reexport */ segmentationEventManager/* removeAllSegmentationListeners */.bm),
5781
5808
  removeAllSegmentationRepresentations: () => (/* reexport */ removeSegmentationRepresentations/* removeAllSegmentationRepresentations */.us),
5782
5809
  removeAllSegmentations: () => (/* reexport */ removeSegmentation/* removeAllSegmentations */.j),
5783
5810
  removeContourRepresentation: () => (/* reexport */ removeSegmentationRepresentations/* removeContourRepresentation */.OE),
5784
5811
  removeLabelmapRepresentation: () => (/* reexport */ removeSegmentationRepresentations/* removeLabelmapRepresentation */.kN),
5785
5812
  removeSegment: () => (/* reexport */ removeSegment),
5786
5813
  removeSegmentation: () => (/* reexport */ removeSegmentation/* removeSegmentation */.z),
5814
+ removeSegmentationListener: () => (/* reexport */ segmentationEventManager/* removeSegmentationListener */.L8),
5787
5815
  removeSegmentationRepresentation: () => (/* reexport */ removeSegmentationRepresentations/* removeSegmentationRepresentation */.E8),
5788
5816
  removeSegmentationRepresentations: () => (/* reexport */ removeSegmentationRepresentations/* removeSegmentationRepresentations */.nc),
5789
5817
  removeSurfaceRepresentation: () => (/* reexport */ removeSegmentationRepresentations/* removeSurfaceRepresentation */.JC),
@@ -5944,8 +5972,8 @@ var SegmentationStyle = __webpack_require__(92686);
5944
5972
  function getStyle(specifier) {
5945
5973
  return SegmentationStyle/* segmentationStyle */.Y.getStyle(specifier);
5946
5974
  }
5947
- function setStyle(specifier, style) {
5948
- SegmentationStyle/* segmentationStyle */.Y.setStyle(specifier, style);
5975
+ function setStyle(specifier, style, merge) {
5976
+ SegmentationStyle/* segmentationStyle */.Y.setStyle(specifier, style, merge);
5949
5977
  if (!specifier.viewportId && !specifier.segmentationId) {
5950
5978
  const segmentations = (0,getSegmentations/* getSegmentations */.K)();
5951
5979
  segmentations.forEach((segmentation) => {
@@ -6133,6 +6161,8 @@ var removeSegmentation = __webpack_require__(63427);
6133
6161
  var getCurrentLabelmapImageIdForViewport = __webpack_require__(97577);
6134
6162
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/getActiveSegmentation.js
6135
6163
  var getActiveSegmentation = __webpack_require__(67165);
6164
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationEventManager.js
6165
+ var segmentationEventManager = __webpack_require__(10692);
6136
6166
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/index.js
6137
6167
 
6138
6168
 
@@ -6156,6 +6186,7 @@ var getActiveSegmentation = __webpack_require__(67165);
6156
6186
 
6157
6187
 
6158
6188
 
6189
+
6159
6190
 
6160
6191
 
6161
6192
  const helpers = {
@@ -6176,13 +6207,17 @@ const helpers = {
6176
6207
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6177
6208
  /* harmony export */ U: () => (/* binding */ internalAddSegmentationRepresentation)
6178
6209
  /* harmony export */ });
6179
- /* harmony import */ var _constants_COLOR_LUT__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93952);
6180
- /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58640);
6181
- /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(99737);
6182
- /* harmony import */ var _triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49906);
6183
- /* harmony import */ var _addColorLUT__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4714);
6184
- /* harmony import */ var _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(59475);
6185
- /* harmony import */ var _segmentIndex__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70930);
6210
+ /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
6211
+ /* harmony import */ var _constants_COLOR_LUT__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93952);
6212
+ /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58640);
6213
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99737);
6214
+ /* harmony import */ var _triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49906);
6215
+ /* harmony import */ var _addColorLUT__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4714);
6216
+ /* harmony import */ var _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(59475);
6217
+ /* harmony import */ var _segmentationEventManager__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(10692);
6218
+ /* harmony import */ var _segmentIndex__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(70930);
6219
+
6220
+
6186
6221
 
6187
6222
 
6188
6223
 
@@ -6196,27 +6231,34 @@ function internalAddSegmentationRepresentation(viewportId, representationInput)
6196
6231
  colorLUTIndex: getColorLUTIndex(config),
6197
6232
  ...config,
6198
6233
  };
6199
- _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_5__/* .defaultSegmentationStateManager */ ._6.addSegmentationRepresentation(viewportId, segmentationId, representationInput.type, renderingConfig);
6200
- if (!(0,_segmentIndex__WEBPACK_IMPORTED_MODULE_6__.getActiveSegmentIndex)(segmentationId)) {
6234
+ _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_6__/* .defaultSegmentationStateManager */ ._6.addSegmentationRepresentation(viewportId, segmentationId, representationInput.type, renderingConfig);
6235
+ const { viewport } = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElementByViewportId)(viewportId) || {};
6236
+ if (viewport) {
6237
+ (0,_segmentationEventManager__WEBPACK_IMPORTED_MODULE_7__/* .addDefaultSegmentationListener */ .Np)(viewport, segmentationId, representationInput.type);
6238
+ }
6239
+ if (!(0,_segmentIndex__WEBPACK_IMPORTED_MODULE_8__.getActiveSegmentIndex)(segmentationId)) {
6201
6240
  let firstSegmentIndex = 1;
6202
- const segmentation = _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_5__/* .defaultSegmentationStateManager */ ._6.getSegmentation(segmentationId);
6241
+ const segmentation = _SegmentationStateManager__WEBPACK_IMPORTED_MODULE_6__/* .defaultSegmentationStateManager */ ._6.getSegmentation(segmentationId);
6203
6242
  if (segmentation) {
6204
6243
  const segmentKeys = Object.keys(segmentation.segments);
6205
6244
  if (segmentKeys.length > 0) {
6206
6245
  firstSegmentIndex = segmentKeys.map((k) => Number(k)).sort()[0];
6207
6246
  }
6208
- (0,_segmentIndex__WEBPACK_IMPORTED_MODULE_6__.setActiveSegmentIndex)(segmentationId, firstSegmentIndex);
6247
+ (0,_segmentIndex__WEBPACK_IMPORTED_MODULE_8__.setActiveSegmentIndex)(segmentationId, firstSegmentIndex);
6209
6248
  }
6210
6249
  }
6211
- if (representationInput.type === _enums__WEBPACK_IMPORTED_MODULE_2__.SegmentationRepresentations.Contour) {
6212
- (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_1__/* .triggerAnnotationRenderForViewportIds */ .t)([viewportId]);
6250
+ if (representationInput.type === _enums__WEBPACK_IMPORTED_MODULE_3__.SegmentationRepresentations.Contour) {
6251
+ (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_2__/* .triggerAnnotationRenderForViewportIds */ .t)([viewportId]);
6252
+ }
6253
+ if (representationInput.type === _enums__WEBPACK_IMPORTED_MODULE_3__.SegmentationRepresentations.Surface) {
6254
+ (0,_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_4__.triggerSegmentationDataModified)(segmentationId);
6213
6255
  }
6214
- (0,_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_3__.triggerSegmentationModified)(segmentationId);
6256
+ (0,_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_4__.triggerSegmentationModified)(segmentationId);
6215
6257
  }
6216
6258
  function getColorLUTIndex(config) {
6217
6259
  const { colorLUTOrIndex } = config || {};
6218
6260
  if (colorLUTOrIndex === undefined) {
6219
- const index = (0,_addColorLUT__WEBPACK_IMPORTED_MODULE_4__/* .addColorLUT */ .u)(JSON.parse(JSON.stringify(_constants_COLOR_LUT__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)));
6261
+ const index = (0,_addColorLUT__WEBPACK_IMPORTED_MODULE_5__/* .addColorLUT */ .u)(JSON.parse(JSON.stringify(_constants_COLOR_LUT__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)));
6220
6262
  return index;
6221
6263
  }
6222
6264
  if (typeof colorLUTOrIndex === 'number') {
@@ -6224,10 +6266,10 @@ function getColorLUTIndex(config) {
6224
6266
  }
6225
6267
  if (Array.isArray(colorLUTOrIndex) &&
6226
6268
  colorLUTOrIndex.every((item) => Array.isArray(item) && item.length === 4)) {
6227
- const index = (0,_addColorLUT__WEBPACK_IMPORTED_MODULE_4__/* .addColorLUT */ .u)(colorLUTOrIndex);
6269
+ const index = (0,_addColorLUT__WEBPACK_IMPORTED_MODULE_5__/* .addColorLUT */ .u)(colorLUTOrIndex);
6228
6270
  return index;
6229
6271
  }
6230
- const index = (0,_addColorLUT__WEBPACK_IMPORTED_MODULE_4__/* .addColorLUT */ .u)(JSON.parse(JSON.stringify(_constants_COLOR_LUT__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)));
6272
+ const index = (0,_addColorLUT__WEBPACK_IMPORTED_MODULE_5__/* .addColorLUT */ .u)(JSON.parse(JSON.stringify(_constants_COLOR_LUT__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)));
6231
6273
  return index;
6232
6274
  }
6233
6275
 
@@ -6307,6 +6349,8 @@ var surfaceDisplay = __webpack_require__(67014);
6307
6349
 
6308
6350
 
6309
6351
 
6352
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/segmentationEventManager.js
6353
+ var segmentationEventManager = __webpack_require__(10692);
6310
6354
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js
6311
6355
 
6312
6356
 
@@ -6315,6 +6359,7 @@ var surfaceDisplay = __webpack_require__(67014);
6315
6359
 
6316
6360
 
6317
6361
 
6362
+
6318
6363
  function removeSegmentationRepresentation(viewportId, specifier, immediate) {
6319
6364
  return _removeSegmentationRepresentations(viewportId, specifier, immediate);
6320
6365
  }
@@ -6374,6 +6419,7 @@ function _removeRepresentationObject(viewportId, segmentationId, type, immediate
6374
6419
  else if (representation.type === SegmentationRepresentations/* default */.A.Surface) {
6375
6420
  surfaceDisplay/* default */.Ay.removeRepresentation(viewportId, representation.segmentationId, immediate);
6376
6421
  }
6422
+ (0,segmentationEventManager/* removeSegmentationListener */.L8)(representation.segmentationId, representation.type);
6377
6423
  });
6378
6424
  const { viewport } = (0,esm.getEnabledElementByViewportId)(viewportId) || {};
6379
6425
  if (viewport) {
@@ -6516,6 +6562,97 @@ function getLockedSegmentIndices(segmentationId) {
6516
6562
 
6517
6563
 
6518
6564
 
6565
+ /***/ }),
6566
+
6567
+ /***/ 10692:
6568
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6569
+
6570
+ "use strict";
6571
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6572
+ /* harmony export */ L8: () => (/* binding */ removeSegmentationListener),
6573
+ /* harmony export */ MC: () => (/* binding */ addSegmentationListener),
6574
+ /* harmony export */ Np: () => (/* binding */ addDefaultSegmentationListener),
6575
+ /* harmony export */ bm: () => (/* binding */ removeAllSegmentationListeners)
6576
+ /* harmony export */ });
6577
+ /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
6578
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99737);
6579
+ /* harmony import */ var _triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49906);
6580
+ /* harmony import */ var _utilities_debounce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52905);
6581
+ /* harmony import */ var _tools_displayTools_Surface_surfaceDisplay__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67014);
6582
+ /* harmony import */ var _tools_displayTools_Contour_contourDisplay__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25894);
6583
+ /* harmony import */ var _tools_displayTools_Labelmap_labelmapDisplay__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(684);
6584
+ /* harmony import */ var _getSegmentation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33283);
6585
+
6586
+
6587
+
6588
+
6589
+
6590
+
6591
+
6592
+
6593
+ const renderers = {
6594
+ [_enums__WEBPACK_IMPORTED_MODULE_1__.SegmentationRepresentations.Labelmap]: _tools_displayTools_Labelmap_labelmapDisplay__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Ay,
6595
+ [_enums__WEBPACK_IMPORTED_MODULE_1__.SegmentationRepresentations.Contour]: _tools_displayTools_Contour_contourDisplay__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A,
6596
+ [_enums__WEBPACK_IMPORTED_MODULE_1__.SegmentationRepresentations.Surface]: _tools_displayTools_Surface_surfaceDisplay__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Ay,
6597
+ };
6598
+ const segmentationListeners = new Map();
6599
+ function addDefaultSegmentationListener(viewport, segmentationId, representationType) {
6600
+ const updateFunction = renderers[representationType].getUpdateFunction(viewport);
6601
+ if (updateFunction) {
6602
+ addSegmentationListener(segmentationId, representationType, updateFunction);
6603
+ }
6604
+ }
6605
+ function addSegmentationListener(segmentationId, representationType, updateFunction) {
6606
+ if (!segmentationListeners.has(segmentationId)) {
6607
+ segmentationListeners.set(segmentationId, new Map());
6608
+ }
6609
+ const listenerMap = segmentationListeners.get(segmentationId);
6610
+ if (listenerMap.has(representationType)) {
6611
+ removeSegmentationListener(segmentationId, representationType);
6612
+ }
6613
+ const listener = createDebouncedSegmentationListener(segmentationId, representationType, updateFunction);
6614
+ _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_1__.Events.SEGMENTATION_DATA_MODIFIED, listener);
6615
+ listenerMap.set(representationType, listener);
6616
+ }
6617
+ function removeSegmentationListener(segmentationId, representationType) {
6618
+ const listenerMap = segmentationListeners.get(segmentationId);
6619
+ if (!listenerMap) {
6620
+ return;
6621
+ }
6622
+ const listener = listenerMap.get(representationType);
6623
+ if (!listener) {
6624
+ return;
6625
+ }
6626
+ _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_1__.Events.SEGMENTATION_DATA_MODIFIED, listener);
6627
+ listenerMap.delete(representationType);
6628
+ }
6629
+ function removeAllSegmentationListeners(segmentationId) {
6630
+ const listenerMap = segmentationListeners.get(segmentationId);
6631
+ if (!listenerMap) {
6632
+ return;
6633
+ }
6634
+ for (const listener of listenerMap.values()) {
6635
+ _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_1__.Events.SEGMENTATION_DATA_MODIFIED, listener);
6636
+ }
6637
+ segmentationListeners.delete(segmentationId);
6638
+ }
6639
+ function createDebouncedSegmentationListener(segmentationId, representationType, updateFunction) {
6640
+ const debouncedHandler = (0,_utilities_debounce__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)((event) => {
6641
+ const eventSegmentationId = event.detail?.segmentationId;
6642
+ const segmentation = (0,_getSegmentation__WEBPACK_IMPORTED_MODULE_7__/* .getSegmentation */ .T)(eventSegmentationId);
6643
+ if (eventSegmentationId === segmentationId &&
6644
+ !!segmentation?.representationData?.[representationType]) {
6645
+ updateFunction(segmentationId);
6646
+ (0,_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_2__.triggerSegmentationModified)(segmentationId);
6647
+ }
6648
+ }, 300);
6649
+ return ((event) => {
6650
+ debouncedHandler(event);
6651
+ });
6652
+ }
6653
+
6654
+
6655
+
6519
6656
  /***/ }),
6520
6657
 
6521
6658
  /***/ 98870:
@@ -29468,7 +29605,7 @@ async function render(viewport, contourRepresentation) {
29468
29605
  (0,_config__WEBPACK_IMPORTED_MODULE_5__/* .getPolySeg */ .Qy)()?.canComputeRequestedRepresentation(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Contour) &&
29469
29606
  !polySegConversionInProgressForViewportId.get(viewport.id)) {
29470
29607
  polySegConversionInProgressForViewportId.set(viewport.id, true);
29471
- contourData = await (0,_utilities_segmentation_computeAndAddRepresentation__WEBPACK_IMPORTED_MODULE_6__/* .computeAndAddRepresentation */ .d)(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Contour, () => polySeg.computeContourData(segmentationId, { viewport }), () => undefined);
29608
+ contourData = await (0,_utilities_segmentation_computeAndAddRepresentation__WEBPACK_IMPORTED_MODULE_6__/* .computeAndAddRepresentation */ .d)(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Contour, () => polySeg.computeContourData(segmentationId, { viewport }));
29472
29609
  polySegConversionInProgressForViewportId.set(viewport.id, false);
29473
29610
  }
29474
29611
  else if (!contourData && !(0,_config__WEBPACK_IMPORTED_MODULE_5__/* .getPolySeg */ .Qy)()) {
@@ -29575,7 +29712,11 @@ function _checkContourNormalsMatchViewport(annotationUIDsMap, viewportNormal) {
29575
29712
  }
29576
29713
  return true;
29577
29714
  }
29715
+ function getUpdateFunction(viewport) {
29716
+ return null;
29717
+ }
29578
29718
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
29719
+ getUpdateFunction,
29579
29720
  render,
29580
29721
  removeRepresentation,
29581
29722
  });
@@ -29657,7 +29798,7 @@ async function render(viewport, representation) {
29657
29798
  !polySegConversionInProgress) {
29658
29799
  polySegConversionInProgress = true;
29659
29800
  const polySeg = (0,_config__WEBPACK_IMPORTED_MODULE_12__/* .getPolySeg */ .Qy)();
29660
- labelmapData = await (0,_utilities_segmentation_computeAndAddRepresentation__WEBPACK_IMPORTED_MODULE_13__/* .computeAndAddRepresentation */ .d)(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A.Labelmap, () => polySeg.computeLabelmapData(segmentationId, { viewport }), () => null, () => {
29801
+ labelmapData = await (0,_utilities_segmentation_computeAndAddRepresentation__WEBPACK_IMPORTED_MODULE_13__/* .computeAndAddRepresentation */ .d)(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A.Labelmap, () => polySeg.computeLabelmapData(segmentationId, { viewport }), () => {
29661
29802
  _stateManagement_segmentation_SegmentationStateManager__WEBPACK_IMPORTED_MODULE_15__/* .defaultSegmentationStateManager */ ._6.processLabelmapRepresentationAddition(viewport.id, segmentationId);
29662
29803
  setTimeout(() => {
29663
29804
  (0,_stateManagement_segmentation_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_14__.triggerSegmentationDataModified)(segmentationId);
@@ -29874,7 +30015,11 @@ async function _addLabelmapToViewport(viewport, labelmapData, segmentationId, co
29874
30015
  const result = await (0,_addLabelmapToElement__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(viewport.element, labelmapData, segmentationId, config);
29875
30016
  return result || undefined;
29876
30017
  }
30018
+ function getUpdateFunction(viewport) {
30019
+ return;
30020
+ }
29877
30021
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
30022
+ getUpdateFunction,
29878
30023
  render,
29879
30024
  removeRepresentation,
29880
30025
  });
@@ -29890,7 +30035,7 @@ async function _addLabelmapToViewport(viewport, labelmapData, segmentationId, co
29890
30035
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29891
30036
  /* harmony export */ Ay: () => (__WEBPACK_DEFAULT_EXPORT__)
29892
30037
  /* harmony export */ });
29893
- /* unused harmony exports render, removeRepresentation */
30038
+ /* unused harmony exports getUpdateFunction, render, removeRepresentation */
29894
30039
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
29895
30040
  /* harmony import */ var _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18682);
29896
30041
  /* harmony import */ var _removeSurfaceFromElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20552);
@@ -29931,7 +30076,7 @@ async function render(viewport, representation) {
29931
30076
  if (!SurfaceData &&
29932
30077
  (0,_config__WEBPACK_IMPORTED_MODULE_6__/* .getPolySeg */ .Qy)()?.canComputeRequestedRepresentation(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Surface)) {
29933
30078
  const polySeg = (0,_config__WEBPACK_IMPORTED_MODULE_6__/* .getPolySeg */ .Qy)();
29934
- SurfaceData = await (0,_utilities_segmentation_computeAndAddRepresentation__WEBPACK_IMPORTED_MODULE_7__/* .computeAndAddRepresentation */ .d)(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Surface, () => polySeg.computeSurfaceData(segmentationId, { viewport }), () => polySeg.updateSurfaceData(segmentationId, { viewport }));
30079
+ SurfaceData = await (0,_utilities_segmentation_computeAndAddRepresentation__WEBPACK_IMPORTED_MODULE_7__/* .computeAndAddRepresentation */ .d)(segmentationId, _enums_SegmentationRepresentations__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Surface, () => polySeg.computeSurfaceData(segmentationId, { viewport }));
29935
30080
  if (!SurfaceData) {
29936
30081
  throw new Error(`No Surface data found for segmentationId ${segmentationId} even we tried to compute it`);
29937
30082
  }
@@ -29971,7 +30116,12 @@ async function render(viewport, representation) {
29971
30116
  });
29972
30117
  viewport.render();
29973
30118
  }
30119
+ function getUpdateFunction(viewport) {
30120
+ const polySeg = (0,_config__WEBPACK_IMPORTED_MODULE_6__/* .getPolySeg */ .Qy)();
30121
+ return (segmentationId) => polySeg.updateSurfaceData(segmentationId, { viewport });
30122
+ }
29974
30123
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
30124
+ getUpdateFunction,
29975
30125
  render,
29976
30126
  removeRepresentation,
29977
30127
  });
@@ -44322,7 +44472,7 @@ __webpack_require__.r(__webpack_exports__);
44322
44472
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44323
44473
  /* harmony export */ r: () => (/* binding */ version)
44324
44474
  /* harmony export */ });
44325
- const version = '4.9.1';
44475
+ const version = '4.11.2';
44326
44476
 
44327
44477
 
44328
44478
  /***/ }),
@@ -10435,8 +10435,8 @@ function AboutModalDefault() {
10435
10435
  name
10436
10436
  } = (0,browser_detect_es5/* default */.A)();
10437
10437
  const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
10438
- const versionNumber = "3.12.0-beta.86";
10439
- const commitHash = "02f6744dab993f16cf2516fd5f657e0743e3fa42";
10438
+ const versionNumber = "3.12.0-beta.88";
10439
+ const commitHash = "9ca02b4071f77600f7dcd87930fecdcf3d1c249f";
10440
10440
  const [main, beta] = versionNumber.split('-');
10441
10441
  return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VTU, {
10442
10442
  className: "w-[400px]"