@ohif/app 3.12.0-beta.53 → 3.12.0-beta.55

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 (35) hide show
  1. package/dist/{1447.bundle.ec55b67e67336fc21395.js → 1447.bundle.8edc62cf1813babc13e3.js} +2 -2
  2. package/dist/{2345.bundle.839224623fb00f805981.js → 2345.bundle.c17b90bde0073fd7dbb6.js} +7 -1
  3. package/dist/{7412.bundle.42d0b84eb71e17deea44.js → 7412.bundle.9ff692981e3c3af1dfaf.js} +75 -5
  4. package/dist/{7431.bundle.f6ee76ae243ffe1c811a.js → 7431.bundle.859d7586ac7a86c27fb8.js} +3 -0
  5. package/dist/{9819.bundle.cb36094b2dbfe6332e89.js → 9819.bundle.29fb49e6d25cf486a204.js} +1 -1
  6. package/dist/{9856.bundle.9a1396fddc3af67dcaf4.js → 9856.bundle.4d469a7b62ac0c005da2.js} +4 -0
  7. package/dist/{9892.bundle.f00828c8f4763b097271.js → 9892.bundle.34f911ad728a17a0ad60.js} +82 -6
  8. package/dist/{app.bundle.b5c364b2112dc6c8fef1.js → app.bundle.ab0f738eb8d84ab5ebe9.js} +3 -3
  9. package/dist/{compute.bundle.957cf6f00e6c9f033f51.js → compute.bundle.bf2d925bfc81c7f05c06.js} +1 -1
  10. package/dist/index.html +1 -1
  11. package/dist/{polySeg.bundle.99fe77d122f62107b12e.js → polySeg.bundle.1d99496fc36c90c48d48.js} +1 -1
  12. package/dist/sw.js +1 -1
  13. package/package.json +21 -21
  14. /package/dist/{1459.bundle.9803b32f90cade8bbab5.js → 1459.bundle.eba9cf325a6c2cf982d6.js} +0 -0
  15. /package/dist/{1604.bundle.82b3545ba77291673ab0.js → 1604.bundle.cdd956969ae8b164db20.js} +0 -0
  16. /package/dist/{1807.bundle.52567533b273a2581fe6.js → 1807.bundle.5418fa862db3b8ab3662.js} +0 -0
  17. /package/dist/{1919.bundle.4e6bd406f3e744fac297.js → 1919.bundle.18d53e01938780c38616.js} +0 -0
  18. /package/dist/{213.bundle.32923830428c6ce36969.js → 213.bundle.fe3062d4b1410f279b59.js} +0 -0
  19. /package/dist/{2243.bundle.d37af11011d841506650.js → 2243.bundle.f2b7a78835a1d4ba8114.js} +0 -0
  20. /package/dist/{2424.bundle.c757e549b61768f3907f.js → 2424.bundle.17d6619cdf2481b8eef5.js} +0 -0
  21. /package/dist/{3409.bundle.fdd66303b88b09df1755.js → 3409.bundle.220e1292a0d6bf5aded2.js} +0 -0
  22. /package/dist/{4113.bundle.8aa17598a438e0f59977.js → 4113.bundle.dd2576947990e342fb9b.js} +0 -0
  23. /package/dist/{414.bundle.2812dfdd9dcbf5ec54f4.js → 414.bundle.d73de31d4f4c14c2f71e.js} +0 -0
  24. /package/dist/{5457.bundle.a34aefc642710f3c4bfe.js → 5457.bundle.0c40d9df09852c79e57f.js} +0 -0
  25. /package/dist/{5485.bundle.6a30e022e40ee4efcf64.js → 5485.bundle.c9993586ec372bd3a56b.js} +0 -0
  26. /package/dist/{6027.bundle.13ce9445760aecded831.js → 6027.bundle.f91204827e2ab054b792.js} +0 -0
  27. /package/dist/{6201.bundle.1449ec26ca43420a516a.js → 6201.bundle.5ad8b8d56c7ae8d0669d.js} +0 -0
  28. /package/dist/{6991.bundle.80eea6ff61dba94b2879.js → 6991.bundle.56305b89ad45fff7d9fd.js} +0 -0
  29. /package/dist/{7197.bundle.20b8564f4a4af9191bef.js → 7197.bundle.531391879bf1c9a330a5.js} +0 -0
  30. /package/dist/{7639.bundle.6988d6e467128811633c.js → 7639.bundle.49e47687d6dbb37826c9.js} +0 -0
  31. /package/dist/{810.bundle.c1486b31c437a41ef7ce.js → 810.bundle.9434fe381c308740f145.js} +0 -0
  32. /package/dist/{85.bundle.a84605c91fb325b762dd.js → 85.bundle.c51ef8020630c75c5f2d.js} +0 -0
  33. /package/dist/{8558.bundle.7b39c27e2bd32e4a18aa.js → 8558.bundle.8bd87f31366f83b3c5f9.js} +0 -0
  34. /package/dist/{8815.bundle.9531838f1288ab88a108.js → 8815.bundle.2c7b7e1c4fb6c682f5b0.js} +0 -0
  35. /package/dist/{934.bundle.f62759c74362ecd45046.js → 934.bundle.e51900eb477fe7865ab7.js} +0 -0
@@ -10371,8 +10371,8 @@ function AboutModalDefault() {
10371
10371
  name
10372
10372
  } = (0,browser_detect_es5/* default */.A)();
10373
10373
  const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
10374
- const versionNumber = "3.12.0-beta.53";
10375
- const commitHash = "377d5e2fb6a7153dafec38649ebb56850f827d33";
10374
+ const versionNumber = "3.12.0-beta.55";
10375
+ const commitHash = "efe97cd01d972ce43d2d539b438aeb1cde3bd18b";
10376
10376
  const [main, beta] = versionNumber.split('-');
10377
10377
  return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VTU, {
10378
10378
  className: "w-[400px]"
@@ -2451,7 +2451,13 @@ function _determineCorners(canvasPoints) {
2451
2451
 
2452
2452
  function getViewportForAnnotation(annotation) {
2453
2453
  const viewports = (0,_getViewportsForAnnotation__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(annotation);
2454
- return viewports.length ? viewports[0] : undefined;
2454
+ if (!viewports?.length) {
2455
+ return undefined;
2456
+ }
2457
+ const viewport = viewports.find((viewport) => viewport
2458
+ .getImageIds()
2459
+ .some((imageId) => imageId === annotation.metadata.referencedImageId));
2460
+ return viewport ?? viewports[0];
2455
2461
  }
2456
2462
 
2457
2463
 
@@ -12165,6 +12165,9 @@ OverlayGridTool.toolName = 'OverlayGrid';
12165
12165
  class PanTool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .BaseTool */ .oS {
12166
12166
  constructor(toolProps = {}, defaultToolProps = {
12167
12167
  supportedInteractionTypes: ['Mouse', 'Touch'],
12168
+ configuration: {
12169
+ limitToViewport: false,
12170
+ },
12168
12171
  }) {
12169
12172
  super(toolProps, defaultToolProps);
12170
12173
  }
@@ -12174,17 +12177,77 @@ class PanTool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .BaseTool */ .oS {
12174
12177
  mouseDragCallback(evt) {
12175
12178
  this._dragCallback(evt);
12176
12179
  }
12180
+ _checkImageInViewport(viewport, deltaPointsCanvas) {
12181
+ const { canvas } = viewport;
12182
+ const ratio = window.devicePixelRatio;
12183
+ const viewportLeft = 0;
12184
+ const viewportRight = canvas.width / ratio;
12185
+ const viewportTop = 0;
12186
+ const viewportBottom = canvas.height / ratio;
12187
+ const defaultActor = viewport.getDefaultActor();
12188
+ const renderer = viewport.getRenderer();
12189
+ let bounds;
12190
+ if (defaultActor && _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isImageActor(defaultActor)) {
12191
+ const imageData = defaultActor.actor.getMapper().getInputData();
12192
+ bounds = imageData.getBounds();
12193
+ }
12194
+ else {
12195
+ bounds = renderer.computeVisiblePropBounds();
12196
+ }
12197
+ const [imageLeft, imageTop] = viewport.worldToCanvas([
12198
+ bounds[0],
12199
+ bounds[2],
12200
+ bounds[4],
12201
+ ]);
12202
+ const [imageRight, imageBottom] = viewport.worldToCanvas([
12203
+ bounds[1],
12204
+ bounds[3],
12205
+ bounds[5],
12206
+ ]);
12207
+ const zoom = viewport.getZoom();
12208
+ if (zoom <= 1) {
12209
+ if ((imageLeft + deltaPointsCanvas[0] < viewportLeft &&
12210
+ deltaPointsCanvas[0] < 0) ||
12211
+ (imageRight + deltaPointsCanvas[0] > viewportRight &&
12212
+ deltaPointsCanvas[0] > 0) ||
12213
+ (imageTop + deltaPointsCanvas[1] < viewportTop &&
12214
+ deltaPointsCanvas[1] < 0) ||
12215
+ (imageBottom + deltaPointsCanvas[1] > viewportBottom &&
12216
+ deltaPointsCanvas[1] > 0)) {
12217
+ return false;
12218
+ }
12219
+ }
12220
+ else {
12221
+ if ((imageLeft + deltaPointsCanvas[0] > viewportLeft &&
12222
+ deltaPointsCanvas[0] > 0) ||
12223
+ (imageRight + deltaPointsCanvas[0] < viewportRight &&
12224
+ deltaPointsCanvas[0] < 0) ||
12225
+ (imageTop + deltaPointsCanvas[1] > viewportTop &&
12226
+ deltaPointsCanvas[1] > 0) ||
12227
+ (imageBottom + deltaPointsCanvas[1] < viewportBottom &&
12228
+ deltaPointsCanvas[1] < 0)) {
12229
+ return false;
12230
+ }
12231
+ }
12232
+ return true;
12233
+ }
12177
12234
  _dragCallback(evt) {
12178
12235
  const { element, deltaPoints } = evt.detail;
12179
12236
  const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
12180
12237
  const deltaPointsWorld = deltaPoints.world;
12238
+ const deltaPointsCanvas = deltaPoints.canvas;
12181
12239
  if (deltaPointsWorld[0] === 0 &&
12182
12240
  deltaPointsWorld[1] === 0 &&
12183
12241
  deltaPointsWorld[2] === 0) {
12184
12242
  return;
12185
12243
  }
12186
- const camera = enabledElement.viewport.getCamera();
12244
+ const viewport = enabledElement.viewport;
12245
+ const camera = viewport.getCamera();
12187
12246
  const { focalPoint, position } = camera;
12247
+ if (this.configuration.limitToViewport &&
12248
+ !this._checkImageInViewport(viewport, deltaPointsCanvas)) {
12249
+ return;
12250
+ }
12188
12251
  const updatedPosition = [
12189
12252
  position[0] - deltaPointsWorld[0],
12190
12253
  position[1] - deltaPointsWorld[1],
@@ -12195,11 +12258,11 @@ class PanTool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .BaseTool */ .oS {
12195
12258
  focalPoint[1] - deltaPointsWorld[1],
12196
12259
  focalPoint[2] - deltaPointsWorld[2],
12197
12260
  ];
12198
- enabledElement.viewport.setCamera({
12261
+ viewport.setCamera({
12199
12262
  focalPoint: updatedFocalPoint,
12200
12263
  position: updatedPosition,
12201
12264
  });
12202
- enabledElement.viewport.render();
12265
+ viewport.render();
12203
12266
  }
12204
12267
  }
12205
12268
  PanTool.toolName = 'Pan';
@@ -24650,7 +24713,8 @@ class SplineContourSegmentationTool extends _SplineROITool__WEBPACK_IMPORTED_MOD
24650
24713
  }
24651
24714
  annotationCutMergeCompleted(evt) {
24652
24715
  const { sourceAnnotation: annotation } = evt.detail;
24653
- if (!this.splineToolNames.includes(annotation?.metadata?.toolName) ||
24716
+ if (this.toolName !== annotation?.metadata?.toolName ||
24717
+ !this.splineToolNames.includes(annotation?.metadata?.toolName) ||
24654
24718
  !this.configuration.simplifiedSpline) {
24655
24719
  return;
24656
24720
  }
@@ -31206,6 +31270,7 @@ class LabelMapEditWithContourTool extends _annotation_PlanarFreehandContourSegme
31206
31270
  _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.ANNOTATION_COMPLETED, this.annotationCompleted);
31207
31271
  _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.TOOLGROUP_VIEWPORT_ADDED, this.onViewportAddedToToolGroupBinded);
31208
31272
  _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.SEGMENTATION_MODIFIED, this.onSegmentationModifiedBinded);
31273
+ _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.addEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.SEGMENTATION_REPRESENTATION_MODIFIED, this.onSegmentationModifiedBinded);
31209
31274
  }
31210
31275
  cleanUpListeners() {
31211
31276
  LabelMapEditWithContourTool.annotationsToViewportMap.clear();
@@ -31214,6 +31279,7 @@ class LabelMapEditWithContourTool extends _annotation_PlanarFreehandContourSegme
31214
31279
  _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.ANNOTATION_COMPLETED, this.annotationCompleted);
31215
31280
  _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.TOOLGROUP_VIEWPORT_ADDED, this.onViewportAddedToToolGroup.bind(this));
31216
31281
  _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.SEGMENTATION_MODIFIED, this.onSegmentationModified.bind(this));
31282
+ _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.eventTarget.removeEventListener(_enums__WEBPACK_IMPORTED_MODULE_0__.Events.SEGMENTATION_REPRESENTATION_MODIFIED, this.onSegmentationModified.bind(this));
31217
31283
  }
31218
31284
  async checkContourSegmentation(viewportId) {
31219
31285
  if (LabelMapEditWithContourTool.viewportIdsChecked.includes(viewportId)) {
@@ -34982,11 +35048,14 @@ var stateManagement = __webpack_require__(6802);
34982
35048
  var removeContourSegmentationAnnotation = __webpack_require__(37354);
34983
35049
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js
34984
35050
  var addContourSegmentationAnnotation = __webpack_require__(85263);
35051
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/helpers/state.js
35052
+ var state = __webpack_require__(44049);
34985
35053
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/convertContourSegmentation.js
34986
35054
 
34987
35055
 
34988
35056
 
34989
35057
 
35058
+
34990
35059
  const DEFAULT_CONTOUR_SEG_TOOL_NAME = 'PlanarFreehandContourSegmentationTool';
34991
35060
  function convertContourSegmentationAnnotation(annotation) {
34992
35061
  const { polyline } = annotation.data?.contour || {};
@@ -35030,6 +35099,7 @@ function convertContourSegmentationAnnotation(annotation) {
35030
35099
  };
35031
35100
  (0,stateManagement/* addAnnotation */.lC)(newAnnotation, annotation.metadata.FrameOfReferenceUID);
35032
35101
  (0,addContourSegmentationAnnotation/* addContourSegmentationAnnotation */.V)(newAnnotation);
35102
+ (0,state.triggerAnnotationModified)(newAnnotation);
35033
35103
  return newAnnotation;
35034
35104
  }
35035
35105
 
@@ -43991,7 +44061,7 @@ __webpack_require__.r(__webpack_exports__);
43991
44061
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
43992
44062
  /* harmony export */ r: () => (/* binding */ version)
43993
44063
  /* harmony export */ });
43994
- const version = '4.5.1';
44064
+ const version = '4.5.5';
43995
44065
 
43996
44066
 
43997
44067
  /***/ }),
@@ -3299,12 +3299,14 @@ class LabelmapSlicePropagationTool extends dist_esm.LabelmapBaseTool {
3299
3299
  if (this.segmentAI) {
3300
3300
  this.segmentAI.enabled = false;
3301
3301
  }
3302
+ this.rejectPreview();
3302
3303
  };
3303
3304
  this.onSetToolPassive = () => {
3304
3305
  this.configuration.enabled = false;
3305
3306
  if (this.segmentAI) {
3306
3307
  this.segmentAI.enabled = false;
3307
3308
  }
3309
+ this.rejectPreview();
3308
3310
  };
3309
3311
  this.acceptPreview = () => {
3310
3312
  const { sourceViewportId } = this.configuration;
@@ -3454,6 +3456,7 @@ class MarkerLabelmapTool extends dist_esm.LabelmapBaseTool {
3454
3456
  if (this.segmentAI) {
3455
3457
  this.segmentAI.enabled = false;
3456
3458
  }
3459
+ this.rejectPreview();
3457
3460
  };
3458
3461
  this.clearMarkers = () => {
3459
3462
  if (!this.segmentAI) {
@@ -34390,7 +34390,7 @@ function uuidv4() {
34390
34390
 
34391
34391
  "use strict";
34392
34392
  /* unused harmony export version */
34393
- const version = '4.5.1';
34393
+ const version = '4.5.5';
34394
34394
 
34395
34395
 
34396
34396
  /***/ }),
@@ -9623,11 +9623,14 @@ var stateManagement = __webpack_require__(6802);
9623
9623
  var contourSegmentation_removeContourSegmentationAnnotation = __webpack_require__(37354);
9624
9624
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js
9625
9625
  var contourSegmentation_addContourSegmentationAnnotation = __webpack_require__(85263);
9626
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/helpers/state.js
9627
+ var state = __webpack_require__(44049);
9626
9628
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/convertContourSegmentation.js
9627
9629
 
9628
9630
 
9629
9631
 
9630
9632
 
9633
+
9631
9634
  const DEFAULT_CONTOUR_SEG_TOOL_NAME = 'PlanarFreehandContourSegmentationTool';
9632
9635
  function convertContourSegmentationAnnotation(annotation) {
9633
9636
  const { polyline } = annotation.data?.contour || {};
@@ -9671,6 +9674,7 @@ function convertContourSegmentationAnnotation(annotation) {
9671
9674
  };
9672
9675
  addAnnotation(newAnnotation, annotation.metadata.FrameOfReferenceUID);
9673
9676
  addContourSegmentationAnnotation(newAnnotation);
9677
+ triggerAnnotationModified(newAnnotation);
9674
9678
  return newAnnotation;
9675
9679
  }
9676
9680
 
@@ -6925,7 +6925,7 @@ var COLOR_LUT = __webpack_require__(93952);
6925
6925
 
6926
6926
 
6927
6927
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/version.js
6928
- const version = '4.5.1';
6928
+ const version = '4.5.5';
6929
6929
 
6930
6930
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/synchronizers/callbacks/cameraSyncCallback.js
6931
6931
 
@@ -10423,6 +10423,9 @@ var base = __webpack_require__(85817);
10423
10423
  class PanTool extends base/* BaseTool */.oS {
10424
10424
  constructor(toolProps = {}, defaultToolProps = {
10425
10425
  supportedInteractionTypes: ['Mouse', 'Touch'],
10426
+ configuration: {
10427
+ limitToViewport: false,
10428
+ },
10426
10429
  }) {
10427
10430
  super(toolProps, defaultToolProps);
10428
10431
  }
@@ -10432,17 +10435,77 @@ class PanTool extends base/* BaseTool */.oS {
10432
10435
  mouseDragCallback(evt) {
10433
10436
  this._dragCallback(evt);
10434
10437
  }
10438
+ _checkImageInViewport(viewport, deltaPointsCanvas) {
10439
+ const { canvas } = viewport;
10440
+ const ratio = window.devicePixelRatio;
10441
+ const viewportLeft = 0;
10442
+ const viewportRight = canvas.width / ratio;
10443
+ const viewportTop = 0;
10444
+ const viewportBottom = canvas.height / ratio;
10445
+ const defaultActor = viewport.getDefaultActor();
10446
+ const renderer = viewport.getRenderer();
10447
+ let bounds;
10448
+ if (defaultActor && esm.utilities.isImageActor(defaultActor)) {
10449
+ const imageData = defaultActor.actor.getMapper().getInputData();
10450
+ bounds = imageData.getBounds();
10451
+ }
10452
+ else {
10453
+ bounds = renderer.computeVisiblePropBounds();
10454
+ }
10455
+ const [imageLeft, imageTop] = viewport.worldToCanvas([
10456
+ bounds[0],
10457
+ bounds[2],
10458
+ bounds[4],
10459
+ ]);
10460
+ const [imageRight, imageBottom] = viewport.worldToCanvas([
10461
+ bounds[1],
10462
+ bounds[3],
10463
+ bounds[5],
10464
+ ]);
10465
+ const zoom = viewport.getZoom();
10466
+ if (zoom <= 1) {
10467
+ if ((imageLeft + deltaPointsCanvas[0] < viewportLeft &&
10468
+ deltaPointsCanvas[0] < 0) ||
10469
+ (imageRight + deltaPointsCanvas[0] > viewportRight &&
10470
+ deltaPointsCanvas[0] > 0) ||
10471
+ (imageTop + deltaPointsCanvas[1] < viewportTop &&
10472
+ deltaPointsCanvas[1] < 0) ||
10473
+ (imageBottom + deltaPointsCanvas[1] > viewportBottom &&
10474
+ deltaPointsCanvas[1] > 0)) {
10475
+ return false;
10476
+ }
10477
+ }
10478
+ else {
10479
+ if ((imageLeft + deltaPointsCanvas[0] > viewportLeft &&
10480
+ deltaPointsCanvas[0] > 0) ||
10481
+ (imageRight + deltaPointsCanvas[0] < viewportRight &&
10482
+ deltaPointsCanvas[0] < 0) ||
10483
+ (imageTop + deltaPointsCanvas[1] > viewportTop &&
10484
+ deltaPointsCanvas[1] > 0) ||
10485
+ (imageBottom + deltaPointsCanvas[1] < viewportBottom &&
10486
+ deltaPointsCanvas[1] < 0)) {
10487
+ return false;
10488
+ }
10489
+ }
10490
+ return true;
10491
+ }
10435
10492
  _dragCallback(evt) {
10436
10493
  const { element, deltaPoints } = evt.detail;
10437
10494
  const enabledElement = (0,esm.getEnabledElement)(element);
10438
10495
  const deltaPointsWorld = deltaPoints.world;
10496
+ const deltaPointsCanvas = deltaPoints.canvas;
10439
10497
  if (deltaPointsWorld[0] === 0 &&
10440
10498
  deltaPointsWorld[1] === 0 &&
10441
10499
  deltaPointsWorld[2] === 0) {
10442
10500
  return;
10443
10501
  }
10444
- const camera = enabledElement.viewport.getCamera();
10502
+ const viewport = enabledElement.viewport;
10503
+ const camera = viewport.getCamera();
10445
10504
  const { focalPoint, position } = camera;
10505
+ if (this.configuration.limitToViewport &&
10506
+ !this._checkImageInViewport(viewport, deltaPointsCanvas)) {
10507
+ return;
10508
+ }
10446
10509
  const updatedPosition = [
10447
10510
  position[0] - deltaPointsWorld[0],
10448
10511
  position[1] - deltaPointsWorld[1],
@@ -10453,11 +10516,11 @@ class PanTool extends base/* BaseTool */.oS {
10453
10516
  focalPoint[1] - deltaPointsWorld[1],
10454
10517
  focalPoint[2] - deltaPointsWorld[2],
10455
10518
  ];
10456
- enabledElement.viewport.setCamera({
10519
+ viewport.setCamera({
10457
10520
  focalPoint: updatedFocalPoint,
10458
10521
  position: updatedPosition,
10459
10522
  });
10460
- enabledElement.viewport.render();
10523
+ viewport.render();
10461
10524
  }
10462
10525
  }
10463
10526
  PanTool.toolName = 'Pan';
@@ -22360,7 +22423,8 @@ class SplineContourSegmentationTool extends annotation_SplineROITool {
22360
22423
  }
22361
22424
  annotationCutMergeCompleted(evt) {
22362
22425
  const { sourceAnnotation: annotation } = evt.detail;
22363
- if (!this.splineToolNames.includes(annotation?.metadata?.toolName) ||
22426
+ if (this.toolName !== annotation?.metadata?.toolName ||
22427
+ !this.splineToolNames.includes(annotation?.metadata?.toolName) ||
22364
22428
  !this.configuration.simplifiedSpline) {
22365
22429
  return;
22366
22430
  }
@@ -29081,6 +29145,7 @@ class LabelMapEditWithContourTool extends PlanarFreehandContourSegmentationTool/
29081
29145
  esm.eventTarget.addEventListener(enums.Events.ANNOTATION_COMPLETED, this.annotationCompleted);
29082
29146
  esm.eventTarget.addEventListener(enums.Events.TOOLGROUP_VIEWPORT_ADDED, this.onViewportAddedToToolGroupBinded);
29083
29147
  esm.eventTarget.addEventListener(enums.Events.SEGMENTATION_MODIFIED, this.onSegmentationModifiedBinded);
29148
+ esm.eventTarget.addEventListener(enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED, this.onSegmentationModifiedBinded);
29084
29149
  }
29085
29150
  cleanUpListeners() {
29086
29151
  LabelMapEditWithContourTool.annotationsToViewportMap.clear();
@@ -29089,6 +29154,7 @@ class LabelMapEditWithContourTool extends PlanarFreehandContourSegmentationTool/
29089
29154
  esm.eventTarget.removeEventListener(enums.Events.ANNOTATION_COMPLETED, this.annotationCompleted);
29090
29155
  esm.eventTarget.removeEventListener(enums.Events.TOOLGROUP_VIEWPORT_ADDED, this.onViewportAddedToToolGroup.bind(this));
29091
29156
  esm.eventTarget.removeEventListener(enums.Events.SEGMENTATION_MODIFIED, this.onSegmentationModified.bind(this));
29157
+ esm.eventTarget.removeEventListener(enums.Events.SEGMENTATION_REPRESENTATION_MODIFIED, this.onSegmentationModified.bind(this));
29092
29158
  }
29093
29159
  async checkContourSegmentation(viewportId) {
29094
29160
  if (LabelMapEditWithContourTool.viewportIdsChecked.includes(viewportId)) {
@@ -38017,11 +38083,14 @@ var stateManagement = __webpack_require__(6802);
38017
38083
  var removeContourSegmentationAnnotation = __webpack_require__(37354);
38018
38084
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js
38019
38085
  var addContourSegmentationAnnotation = __webpack_require__(85263);
38086
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/helpers/state.js
38087
+ var state = __webpack_require__(44049);
38020
38088
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contourSegmentation/convertContourSegmentation.js
38021
38089
 
38022
38090
 
38023
38091
 
38024
38092
 
38093
+
38025
38094
  const DEFAULT_CONTOUR_SEG_TOOL_NAME = 'PlanarFreehandContourSegmentationTool';
38026
38095
  function convertContourSegmentationAnnotation(annotation) {
38027
38096
  const { polyline } = annotation.data?.contour || {};
@@ -38065,6 +38134,7 @@ function convertContourSegmentationAnnotation(annotation) {
38065
38134
  };
38066
38135
  (0,stateManagement/* addAnnotation */.lC)(newAnnotation, annotation.metadata.FrameOfReferenceUID);
38067
38136
  (0,addContourSegmentationAnnotation/* addContourSegmentationAnnotation */.V)(newAnnotation);
38137
+ (0,state.triggerAnnotationModified)(newAnnotation);
38068
38138
  return newAnnotation;
38069
38139
  }
38070
38140
 
@@ -38725,7 +38795,13 @@ function _computeBoundsIJK(imageData, directionVectors, circlePoints, centerWorl
38725
38795
 
38726
38796
  function getViewportForAnnotation(annotation) {
38727
38797
  const viewports = (0,_getViewportsForAnnotation__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(annotation);
38728
- return viewports.length ? viewports[0] : undefined;
38798
+ if (!viewports?.length) {
38799
+ return undefined;
38800
+ }
38801
+ const viewport = viewports.find((viewport) => viewport
38802
+ .getImageIds()
38803
+ .some((imageId) => imageId === annotation.metadata.referencedImageId));
38804
+ return viewport ?? viewports[0];
38729
38805
  }
38730
38806
 
38731
38807
 
@@ -44223,7 +44223,7 @@ function toLowHighRange(windowWidth, windowCenter, voiLUTFunction = _enums_VOILU
44223
44223
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44224
44224
  /* harmony export */ r: () => (/* binding */ version)
44225
44225
  /* harmony export */ });
44226
- const version = '4.5.1';
44226
+ const version = '4.5.5';
44227
44227
 
44228
44228
 
44229
44229
  /***/ }),
@@ -135428,7 +135428,7 @@ const detectionOptions = {
135428
135428
  }
135429
135429
  });
135430
135430
  ;// ../../i18n/package.json
135431
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.12.0-beta.52"}');
135431
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.12.0-beta.54"}');
135432
135432
  ;// ../../i18n/src/utils.js
135433
135433
  const languagesMap = {
135434
135434
  ar: 'Arabic',
@@ -386140,7 +386140,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
386140
386140
  /******/ // This function allow to reference async chunks
386141
386141
  /******/ __webpack_require__.u = (chunkId) => {
386142
386142
  /******/ // return url for filenames based on template
386143
- /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"a84605c91fb325b762dd","147":"30b16832e09898deaf32","213":"32923830428c6ce36969","319":"fc959064ddf2f6978b54","414":"2812dfdd9dcbf5ec54f4","572":"99fe77d122f62107b12e","732":"6978ac30a1e36abf06db","810":"c1486b31c437a41ef7ce","934":"f62759c74362ecd45046","1447":"ec55b67e67336fc21395","1459":"9803b32f90cade8bbab5","1604":"82b3545ba77291673ab0","1807":"52567533b273a2581fe6","1919":"4e6bd406f3e744fac297","1927":"8941122be98d6aea153c","2007":"f58dd6d3d25dd22cfefd","2108":"e84aa8d858d8c4f2413e","2243":"d37af11011d841506650","2345":"839224623fb00f805981","2424":"c757e549b61768f3907f","2518":"57c229a14e22d23db384","2701":"3c34bd7d28cb2d095a5c","2974":"a90a9df917b90bc02c69","3054":"b7bb02c6cd9273c422f5","3409":"fdd66303b88b09df1755","3694":"957cf6f00e6c9f033f51","4019":"13e7f662a9e489b74a27","4113":"8aa17598a438e0f59977","4202":"1cef28d8aec1155d35d1","4759":"c3bfca952eea20a0d6f9","5261":"6e1a017f8f1027557f5b","5349":"44217fe4d4ce9a3a9be3","5457":"a34aefc642710f3c4bfe","5485":"6a30e022e40ee4efcf64","5674":"8c34228471ff9e53b8c3","5802":"48b958ebd8d250156814","6027":"13ce9445760aecded831","6201":"1449ec26ca43420a516a","6939":"41fbdef87597b5172ec6","6991":"80eea6ff61dba94b2879","7159":"122cd4e6d8fd1287d07f","7197":"20b8564f4a4af9191bef","7412":"42d0b84eb71e17deea44","7431":"f6ee76ae243ffe1c811a","7639":"6988d6e467128811633c","8094":"5c44190a325ac23e3e5c","8402":"edb924cd47cd168f621c","8558":"7b39c27e2bd32e4a18aa","8740":"39b40ee21a873e824ce8","8815":"9531838f1288ab88a108","9862":"1133b0f6bd2b035c85bd"}[chunkId] + ".js";
386143
+ /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"c51ef8020630c75c5f2d","147":"30b16832e09898deaf32","213":"fe3062d4b1410f279b59","319":"fc959064ddf2f6978b54","414":"d73de31d4f4c14c2f71e","572":"1d99496fc36c90c48d48","732":"6978ac30a1e36abf06db","810":"9434fe381c308740f145","934":"e51900eb477fe7865ab7","1447":"8edc62cf1813babc13e3","1459":"eba9cf325a6c2cf982d6","1604":"cdd956969ae8b164db20","1807":"5418fa862db3b8ab3662","1919":"18d53e01938780c38616","1927":"8941122be98d6aea153c","2007":"f58dd6d3d25dd22cfefd","2108":"e84aa8d858d8c4f2413e","2243":"f2b7a78835a1d4ba8114","2345":"c17b90bde0073fd7dbb6","2424":"17d6619cdf2481b8eef5","2518":"57c229a14e22d23db384","2701":"3c34bd7d28cb2d095a5c","2974":"a90a9df917b90bc02c69","3054":"b7bb02c6cd9273c422f5","3409":"220e1292a0d6bf5aded2","3694":"bf2d925bfc81c7f05c06","4019":"13e7f662a9e489b74a27","4113":"dd2576947990e342fb9b","4202":"1cef28d8aec1155d35d1","4759":"c3bfca952eea20a0d6f9","5261":"6e1a017f8f1027557f5b","5349":"44217fe4d4ce9a3a9be3","5457":"0c40d9df09852c79e57f","5485":"c9993586ec372bd3a56b","5674":"8c34228471ff9e53b8c3","5802":"48b958ebd8d250156814","6027":"f91204827e2ab054b792","6201":"5ad8b8d56c7ae8d0669d","6939":"41fbdef87597b5172ec6","6991":"56305b89ad45fff7d9fd","7159":"122cd4e6d8fd1287d07f","7197":"531391879bf1c9a330a5","7412":"9ff692981e3c3af1dfaf","7431":"859d7586ac7a86c27fb8","7639":"49e47687d6dbb37826c9","8094":"5c44190a325ac23e3e5c","8402":"edb924cd47cd168f621c","8558":"8bd87f31366f83b3c5f9","8740":"39b40ee21a873e824ce8","8815":"2c7b7e1c4fb6c682f5b0","9862":"1133b0f6bd2b035c85bd"}[chunkId] + ".js";
386144
386144
  /******/ };
386145
386145
  /******/ })();
386146
386146
  /******/
@@ -136,7 +136,7 @@
136
136
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
137
137
  /******/ __webpack_require__.u = (chunkId) => {
138
138
  /******/ // return url for filenames based on template
139
- /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"573":"a00b1c9a43f933c220ec","2345":"839224623fb00f805981","3694":"957cf6f00e6c9f033f51","4019":"13e7f662a9e489b74a27","9819":"cb36094b2dbfe6332e89","9856":"9a1396fddc3af67dcaf4"}[chunkId] + ".js";
139
+ /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"573":"a00b1c9a43f933c220ec","2345":"c17b90bde0073fd7dbb6","3694":"bf2d925bfc81c7f05c06","4019":"13e7f662a9e489b74a27","9819":"29fb49e6d25cf486a204","9856":"4d469a7b62ac0c005da2"}[chunkId] + ".js";
140
140
  /******/ };
141
141
  /******/ })();
142
142
  /******/
package/dist/index.html CHANGED
@@ -3,4 +3,4 @@
3
3
  return import(moduleId);
4
4
  }
5
5
 
6
- window.PUBLIC_URL = '/';</script><script defer="defer" src="/app.bundle.b5c364b2112dc6c8fef1.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="react-portal"></div><div id="root"></div></body></html>
6
+ window.PUBLIC_URL = '/';</script><script defer="defer" src="/app.bundle.ab0f738eb8d84ab5ebe9.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="react-portal"></div><div id="root"></div></body></html>
@@ -136,7 +136,7 @@
136
136
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
137
137
  /******/ __webpack_require__.u = (chunkId) => {
138
138
  /******/ // return url for filenames based on template
139
- /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"319":"fc959064ddf2f6978b54","573":"a00b1c9a43f933c220ec","3694":"957cf6f00e6c9f033f51","4019":"13e7f662a9e489b74a27","7758":"c8d106364298e7d288f0","9819":"cb36094b2dbfe6332e89","9892":"f00828c8f4763b097271"}[chunkId] + ".js";
139
+ /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"319":"fc959064ddf2f6978b54","573":"a00b1c9a43f933c220ec","3694":"bf2d925bfc81c7f05c06","4019":"13e7f662a9e489b74a27","7758":"c8d106364298e7d288f0","9819":"29fb49e6d25cf486a204","9892":"34f911ad728a17a0ad60"}[chunkId] + ".js";
140
140
  /******/ };
141
141
  /******/ })();
142
142
  /******/
package/dist/sw.js CHANGED
@@ -50,7 +50,7 @@ self.addEventListener('message', event => {
50
50
  }
51
51
  }
52
52
  });
53
- workbox.precaching.precacheAndRoute([{'revision':null,'url':'/031089e563a18ada8441.wasm'},{'revision':null,'url':'/1447.bundle.ec55b67e67336fc21395.js'},{'revision':null,'url':'/1459.bundle.9803b32f90cade8bbab5.js'},{'revision':null,'url':'/147.bundle.30b16832e09898deaf32.js'},{'revision':'e0cfcadcf2c2fbc1f117196b9f62bf3e','url':'/147.css'},{'revision':null,'url':'/1604.bundle.82b3545ba77291673ab0.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/1604.css'},{'revision':null,'url':'/17dd54813d5acc10bf8f.wasm'},{'revision':null,'url':'/1807.bundle.52567533b273a2581fe6.js'},{'revision':null,'url':'/1919.bundle.4e6bd406f3e744fac297.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/1919.css'},{'revision':null,'url':'/1927.bundle.8941122be98d6aea153c.js'},{'revision':null,'url':'/2108.bundle.e84aa8d858d8c4f2413e.js'},{'revision':null,'url':'/213.bundle.32923830428c6ce36969.js'},{'revision':null,'url':'/2243.bundle.d37af11011d841506650.js'},{'revision':null,'url':'/2345.bundle.839224623fb00f805981.js'},{'revision':null,'url':'/2424.bundle.c757e549b61768f3907f.js'},{'revision':null,'url':'/2516.bundle.1ea0988d309a757bb6da.js'},{'revision':null,'url':'/2518.bundle.57c229a14e22d23db384.js'},{'revision':null,'url':'/2701.bundle.3c34bd7d28cb2d095a5c.js'},{'revision':null,'url':'/2974.bundle.a90a9df917b90bc02c69.js'},{'revision':null,'url':'/319.bundle.fc959064ddf2f6978b54.js'},{'revision':null,'url':'/31fb9346313fc3740d7b.woff2'},{'revision':null,'url':'/3353.bundle.17c72a3af46917166980.js'},{'revision':null,'url':'/3409.bundle.fdd66303b88b09df1755.js'},{'revision':null,'url':'/4019.bundle.13e7f662a9e489b74a27.js'},{'revision':null,'url':'/4113.bundle.8aa17598a438e0f59977.js'},{'revision':null,'url':'/414.bundle.2812dfdd9dcbf5ec54f4.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/414.css'},{'revision':null,'url':'/4202.bundle.1cef28d8aec1155d35d1.js'},{'revision':null,'url':'/4759.bundle.c3bfca952eea20a0d6f9.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/4759.css'},{'revision':null,'url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/5261.bundle.6e1a017f8f1027557f5b.js'},{'revision':null,'url':'/5349.bundle.44217fe4d4ce9a3a9be3.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/5349.css'},{'revision':null,'url':'/5457.bundle.a34aefc642710f3c4bfe.js'},{'revision':null,'url':'/5485.bundle.6a30e022e40ee4efcf64.js'},{'revision':null,'url':'/5674.bundle.8c34228471ff9e53b8c3.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/5674.css'},{'revision':null,'url':'/573.bundle.a00b1c9a43f933c220ec.js'},{'revision':null,'url':'/5802.bundle.48b958ebd8d250156814.js'},{'revision':'78c6e381862b3f33316bcffadde4ccd6','url':'/5802.css'},{'revision':null,'url':'/5830.bundle.b073c265c4fcea1afff3.js'},{'revision':null,'url':'/6027.bundle.13ce9445760aecded831.js'},{'revision':null,'url':'/6201.bundle.1449ec26ca43420a516a.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/6201.css'},{'revision':null,'url':'/6376.bundle.272e755bdcbb5615a44e.js'},{'revision':null,'url':'/6939.bundle.41fbdef87597b5172ec6.js'},{'revision':null,'url':'/6991.bundle.80eea6ff61dba94b2879.js'},{'revision':null,'url':'/7159.bundle.122cd4e6d8fd1287d07f.js'},{'revision':'20a92cf14c2d8be6cd580f68780cc7fa','url':'/7159.css'},{'revision':null,'url':'/7190.bundle.d731ae6cf6e933a2c408.js'},{'revision':null,'url':'/7197.bundle.20b8564f4a4af9191bef.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/7197.css'},{'revision':null,'url':'/732.bundle.6978ac30a1e36abf06db.js'},{'revision':null,'url':'/7412.bundle.42d0b84eb71e17deea44.js'},{'revision':null,'url':'/7431.bundle.f6ee76ae243ffe1c811a.js'},{'revision':null,'url':'/7639.bundle.6988d6e467128811633c.js'},{'revision':null,'url':'/7758.bundle.c8d106364298e7d288f0.js'},{'revision':null,'url':'/8094.bundle.5c44190a325ac23e3e5c.js'},{'revision':null,'url':'/810.bundle.c1486b31c437a41ef7ce.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/810.css'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/8402.css'},{'revision':null,'url':'/85.bundle.a84605c91fb325b762dd.js'},{'revision':null,'url':'/8558.bundle.7b39c27e2bd32e4a18aa.js'},{'revision':null,'url':'/8740.bundle.39b40ee21a873e824ce8.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/8740.css'},{'revision':null,'url':'/8815.bundle.9531838f1288ab88a108.js'},{'revision':null,'url':'/934.bundle.f62759c74362ecd45046.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/934.css'},{'revision':null,'url':'/9742.bundle.b6a8307f0fe8be2aae1e.js'},{'revision':null,'url':'/9819.bundle.cb36094b2dbfe6332e89.js'},{'revision':null,'url':'/9856.bundle.9a1396fddc3af67dcaf4.js'},{'revision':null,'url':'/9862.bundle.1133b0f6bd2b035c85bd.js'},{'revision':null,'url':'/9892.bundle.f00828c8f4763b097271.js'},{'revision':'d41d8cd98f00b204e9800998ecf8427e','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':null,'url':'/a957c5cd315f89b6feb1.wasm'},{'revision':'4ac4acf118f4a1986b57343da3af1d5a','url':'/app-config.js'},{'revision':null,'url':'/app.bundle.b5c364b2112dc6c8fef1.js'},{'revision':'1dd4af7d2d314cc71174056b94010bcd','url':'/app.bundle.css'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2547879ee2928a5fd56dca483bcbd967','url':'/assets/images/CT-AAA.png'},{'revision':'245628fb9d18d6c5cd529615079f8e86','url':'/assets/images/CT-AAA2.png'},{'revision':'997a9c8b57e7b4e46d8f01fb49d078c6','url':'/assets/images/CT-Air.png'},{'revision':'e7ed89711f63348d49898da3a2b73ab9','url':'/assets/images/CT-Bone.png'},{'revision':'09d1dc6efebb10a60cdf85ed74a10214','url':'/assets/images/CT-Bones.png'},{'revision':'f8ae9bafd3b90ba3efbdcbe8901db187','url':'/assets/images/CT-Cardiac.png'},{'revision':'ed0cc538aba90d6a1c029923ca9b47db','url':'/assets/images/CT-Cardiac2.png'},{'revision':'dfdaf4e4889aefbf09514545f45726bb','url':'/assets/images/CT-Cardiac3.png'},{'revision':'5d4b9a331136a1a5d7ce7ccf7dfcca36','url':'/assets/images/CT-Chest-Contrast-Enhanced.png'},{'revision':'5fb264499a5bb42487663b00e42d1513','url':'/assets/images/CT-Chest-Vessels.png'},{'revision':'ab8f0e569c972388ddaaa61b92449fac','url':'/assets/images/CT-Coronary-Arteries-2.png'},{'revision':'e4e7e2e3cc09bc8c4fb03b6441bd2845','url':'/assets/images/CT-Coronary-Arteries-3.png'},{'revision':'79a2962a2d3cbe4bd3b675b5ca83c659','url':'/assets/images/CT-Coronary-Arteries.png'},{'revision':'6502a6bdab1c70e2188c3bf12ce5d4e4','url':'/assets/images/CT-Cropped-Volume-Bone.png'},{'revision':'e28ad3cf5ed2006fc5a7cffd602736fc','url':'/assets/images/CT-Fat.png'},{'revision':'ca1c5be76053edee27e68ffbf9105101','url':'/assets/images/CT-Liver-Vasculature.png'},{'revision':'d6c9ab857ed2ad19f1ff20bea02b6655','url':'/assets/images/CT-Lung.png'},{'revision':'ddb599c6a163bdf28ece8de1a337470a','url':'/assets/images/CT-MIP.png'},{'revision':'0b0dcf7940a555e2a9a0900f7f84d4d3','url':'/assets/images/CT-Muscle.png'},{'revision':'6082d383f9ce375a5873e2a00fc4d372','url':'/assets/images/CT-Pulmonary-Arteries.png'},{'revision':'b317366149ee2607bec95d63eb4d7661','url':'/assets/images/CT-Soft-Tissue.png'},{'revision':'4b0cd5a673ebb71da22a91ed608d6695','url':'/assets/images/DTI-FA-Brain.png'},{'revision':'3ea1cbee022af5b94710b73726308832','url':'/assets/images/MR-Angio.png'},{'revision':'bd25ca7b166193547f34950eed440e5c','url':'/assets/images/MR-Default.png'},{'revision':'2e50a49b859aeb316a1c23f911fce9ad','url':'/assets/images/MR-MIP.png'},{'revision':'6ba74de6961e08652ff9e2f1871b473d','url':'/assets/images/MR-T2-Brain.png'},{'revision':'42406bb474f0f87cf04a5afbbcd5e389','url':'/assets/images/VolumeRendering.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':null,'url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':null,'url':'/compute.bundle.957cf6f00e6c9f033f51.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/dicom-microscopy-viewer/charlswasm_decode.wasm'},{'revision':'9214592a1edd456ad2ef69772201398e','url':'/dicom-microscopy-viewer/dataLoader.worker.min.js'},{'revision':'813dee9adb3a3478dedc6dfe1479e15b','url':'/dicom-microscopy-viewer/dataLoader.worker.min.js.map'},{'revision':'7c294f8c09330616edfe79446cbf63d8','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js'},{'revision':'8c4deac68531aea6527f05d3d30dd597','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.map'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/dicom-microscopy-viewer/dicomiccwasm.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/dicom-microscopy-viewer/libjpegturbowasm_decode.wasm'},{'revision':'54a25d82a224dfd401569baffc8b478d','url':'/dicom-microscopy-viewer/openjpegwasm_decode.wasm'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'92b01d0a387d59841e02cc3a4c994657','url':'/google.js'},{'revision':null,'url':'/histogram-worker.bundle.b7bb02c6cd9273c422f5.js'},{'revision':'421356c29e6c8505f2630769d2ebe8b0','url':'/index.html'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':null,'url':'/interpolation.bundle.f58dd6d3d25dd22cfefd.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':'242abae066a3d4717e09f218703f1923','url':'/ort/cjs/ort.all.min.js'},{'revision':'039ea411b3b655094035e85bb2e245d4','url':'/ort/cjs/ort.all.min.js.map'},{'revision':'fb509ab752acf788c3cc25459ae72e62','url':'/ort/cjs/ort.min.js'},{'revision':'30087ad61fc31272eb6094962e3a0451','url':'/ort/cjs/ort.min.js.map'},{'revision':'0fad6d8ca65291350ca8a1751659a536','url':'/ort/cjs/ort.training.wasm.min.js'},{'revision':'da692fb2cd7f67223b92a90955b87cb3','url':'/ort/cjs/ort.training.wasm.min.js.map'},{'revision':'f471b605fb03df54c63d5bc77a32226b','url':'/ort/cjs/ort.wasm-core.min.js'},{'revision':'cc4475faebff69233b4fdc1a78eb0399','url':'/ort/cjs/ort.wasm-core.min.js.map'},{'revision':'d228221765171d0a4cf3cb3909dd0be3','url':'/ort/cjs/ort.wasm.min.js'},{'revision':'6d132c02e5eeadf4da54c8bcc0c15200','url':'/ort/cjs/ort.wasm.min.js.map'},{'revision':'9a463e37f9550d7a23f5a47076b6b3d8','url':'/ort/cjs/ort.webgl.min.js'},{'revision':'26e251b6aee08c91a3d6e1af1410659d','url':'/ort/cjs/ort.webgl.min.js.map'},{'revision':'5cd623012201d7c5ddbbdb57224ac26d','url':'/ort/cjs/ort.webgpu.min.js'},{'revision':'e53c54f9663a5d7573b66dd3d25fb93a','url':'/ort/cjs/ort.webgpu.min.js.map'},{'revision':'a6b7eb31b5dcf3835a90ea0d201f21e3','url':'/ort/cjs/package.json'},{'revision':'2ccbe0c4397149108dd0d7ced00b5879','url':'/ort/esm/ort.all.min.js'},{'revision':'2b2ff793ba11a59563a504067aa1e469','url':'/ort/esm/ort.all.min.js.map'},{'revision':'978e978337e66e848c2351da61fd7e8e','url':'/ort/esm/ort.min.js'},{'revision':'add9f88f20194b214c8a97b200c4eac0','url':'/ort/esm/ort.min.js.map'},{'revision':'61471773b94ac06d0d814b49cf619233','url':'/ort/esm/ort.training.wasm.min.js'},{'revision':'60057feb2e9c1d39d7e52b165e450e72','url':'/ort/esm/ort.training.wasm.min.js.map'},{'revision':'12635093e14a67921565de89f678c470','url':'/ort/esm/ort.wasm-core.min.js'},{'revision':'1d2c905465e8b47dc023beaf715bb6ae','url':'/ort/esm/ort.wasm-core.min.js.map'},{'revision':'f2780d73ea108c5728b4c4fb6bd1e8df','url':'/ort/esm/ort.wasm.min.js'},{'revision':'e1af0f0e8befaa973a9192cdc1a882fb','url':'/ort/esm/ort.wasm.min.js.map'},{'revision':'c5a2e8ed939ccfb0211336d8b385d81a','url':'/ort/esm/ort.webgl.min.js'},{'revision':'9e0198bc10517578066aed6c8baef1a3','url':'/ort/esm/ort.webgl.min.js.map'},{'revision':'0c96a22438d8ffdf94f13b1693dbed8b','url':'/ort/esm/ort.webgpu.min.js'},{'revision':'24126f825e1c2dd678b4b85cde6c4e3a','url':'/ort/esm/ort.webgpu.min.js.map'},{'revision':'b305354b5d3207dc798e87449005a1de','url':'/ort/esm/package.json'},{'revision':'10ba4d1a5289405cff7d9b5f453b60b4','url':'/ort/ort-training-wasm-simd.wasm'},{'revision':'f7380fb5928344460bac0e5833ee4a82','url':'/ort/ort-wasm-simd-threaded.jsep.wasm'},{'revision':'068e15f5aba004197782c011a782c500','url':'/ort/ort-wasm-simd-threaded.wasm'},{'revision':'8a468bda81bfb9e375907f0b6da8ffee','url':'/ort/ort-wasm-simd.jsep.wasm'},{'revision':'27a8292511e77fc50ced64326875ca4a','url':'/ort/ort-wasm-simd.wasm'},{'revision':'c9cf2d09cfabe6ea517c87620091a2fb','url':'/ort/ort-wasm-threaded.wasm'},{'revision':'88cb0475e8c4228b29dd201646223f0c','url':'/ort/ort-wasm.wasm'},{'revision':'708def774c211a2b036384d9e14dbfe7','url':'/ort/ort.all.js'},{'revision':'32e292212f5767983e5433f0a88d3425','url':'/ort/ort.all.min.js'},{'revision':'c4a4b66af400491c83591ab732dac868','url':'/ort/ort.all.min.js.map'},{'revision':'5d78ec66bcab8a26756d43b8c63a8f1e','url':'/ort/ort.js'},{'revision':'d552a78742409520bd30fb824a88a266','url':'/ort/ort.min.js'},{'revision':'a1fdb4abef4a6130f72148fe469ca114','url':'/ort/ort.min.js.map'},{'revision':'e3b420cb98f192d8755934dde7c014db','url':'/ort/ort.node.min.js'},{'revision':'9b0c2098e6c9b0f6d6e54e8cb434ed76','url':'/ort/ort.node.min.js.map'},{'revision':'722dabcfbb18772ca80ef96ef9b9a036','url':'/ort/ort.training.wasm.min.js'},{'revision':'de35b3d2e302163bdcb80d3e20c84266','url':'/ort/ort.training.wasm.min.js.map'},{'revision':'f92b62229fc36d346f720b2410e63576','url':'/ort/ort.wasm-core.min.js'},{'revision':'8f56640956155afecadc318d8a32e0f6','url':'/ort/ort.wasm-core.min.js.map'},{'revision':'5ac1ffe964e3bd1f0d2e6a3a18a5a1ba','url':'/ort/ort.wasm.min.js'},{'revision':'9b0a74e48529a07b61428b1a48233b39','url':'/ort/ort.wasm.min.js.map'},{'revision':'4591c9c641ab0151b9a8cdc1ce110286','url':'/ort/ort.webgl.min.js'},{'revision':'77e632e10b98c8d10e17bb3071d5cba4','url':'/ort/ort.webgl.min.js.map'},{'revision':'027aca68552f5081e90a08f7fb064fb7','url':'/ort/ort.webgpu.min.js'},{'revision':'12dc9d5c577bac166f0f74590e4d27dd','url':'/ort/ort.webgpu.min.js.map'},{'revision':null,'url':'/polySeg.bundle.99fe77d122f62107b12e.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'981ac7f7543b8330e3826aff72c33382','url':'/serve.json'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
53
+ workbox.precaching.precacheAndRoute([{'revision':null,'url':'/031089e563a18ada8441.wasm'},{'revision':null,'url':'/1447.bundle.8edc62cf1813babc13e3.js'},{'revision':null,'url':'/1459.bundle.eba9cf325a6c2cf982d6.js'},{'revision':null,'url':'/147.bundle.30b16832e09898deaf32.js'},{'revision':'e0cfcadcf2c2fbc1f117196b9f62bf3e','url':'/147.css'},{'revision':null,'url':'/1604.bundle.cdd956969ae8b164db20.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/1604.css'},{'revision':null,'url':'/17dd54813d5acc10bf8f.wasm'},{'revision':null,'url':'/1807.bundle.5418fa862db3b8ab3662.js'},{'revision':null,'url':'/1919.bundle.18d53e01938780c38616.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/1919.css'},{'revision':null,'url':'/1927.bundle.8941122be98d6aea153c.js'},{'revision':null,'url':'/2108.bundle.e84aa8d858d8c4f2413e.js'},{'revision':null,'url':'/213.bundle.fe3062d4b1410f279b59.js'},{'revision':null,'url':'/2243.bundle.f2b7a78835a1d4ba8114.js'},{'revision':null,'url':'/2345.bundle.c17b90bde0073fd7dbb6.js'},{'revision':null,'url':'/2424.bundle.17d6619cdf2481b8eef5.js'},{'revision':null,'url':'/2516.bundle.1ea0988d309a757bb6da.js'},{'revision':null,'url':'/2518.bundle.57c229a14e22d23db384.js'},{'revision':null,'url':'/2701.bundle.3c34bd7d28cb2d095a5c.js'},{'revision':null,'url':'/2974.bundle.a90a9df917b90bc02c69.js'},{'revision':null,'url':'/319.bundle.fc959064ddf2f6978b54.js'},{'revision':null,'url':'/31fb9346313fc3740d7b.woff2'},{'revision':null,'url':'/3353.bundle.17c72a3af46917166980.js'},{'revision':null,'url':'/3409.bundle.220e1292a0d6bf5aded2.js'},{'revision':null,'url':'/4019.bundle.13e7f662a9e489b74a27.js'},{'revision':null,'url':'/4113.bundle.dd2576947990e342fb9b.js'},{'revision':null,'url':'/414.bundle.d73de31d4f4c14c2f71e.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/414.css'},{'revision':null,'url':'/4202.bundle.1cef28d8aec1155d35d1.js'},{'revision':null,'url':'/4759.bundle.c3bfca952eea20a0d6f9.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/4759.css'},{'revision':null,'url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/5261.bundle.6e1a017f8f1027557f5b.js'},{'revision':null,'url':'/5349.bundle.44217fe4d4ce9a3a9be3.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/5349.css'},{'revision':null,'url':'/5457.bundle.0c40d9df09852c79e57f.js'},{'revision':null,'url':'/5485.bundle.c9993586ec372bd3a56b.js'},{'revision':null,'url':'/5674.bundle.8c34228471ff9e53b8c3.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/5674.css'},{'revision':null,'url':'/573.bundle.a00b1c9a43f933c220ec.js'},{'revision':null,'url':'/5802.bundle.48b958ebd8d250156814.js'},{'revision':'78c6e381862b3f33316bcffadde4ccd6','url':'/5802.css'},{'revision':null,'url':'/5830.bundle.b073c265c4fcea1afff3.js'},{'revision':null,'url':'/6027.bundle.f91204827e2ab054b792.js'},{'revision':null,'url':'/6201.bundle.5ad8b8d56c7ae8d0669d.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/6201.css'},{'revision':null,'url':'/6376.bundle.272e755bdcbb5615a44e.js'},{'revision':null,'url':'/6939.bundle.41fbdef87597b5172ec6.js'},{'revision':null,'url':'/6991.bundle.56305b89ad45fff7d9fd.js'},{'revision':null,'url':'/7159.bundle.122cd4e6d8fd1287d07f.js'},{'revision':'20a92cf14c2d8be6cd580f68780cc7fa','url':'/7159.css'},{'revision':null,'url':'/7190.bundle.d731ae6cf6e933a2c408.js'},{'revision':null,'url':'/7197.bundle.531391879bf1c9a330a5.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/7197.css'},{'revision':null,'url':'/732.bundle.6978ac30a1e36abf06db.js'},{'revision':null,'url':'/7412.bundle.9ff692981e3c3af1dfaf.js'},{'revision':null,'url':'/7431.bundle.859d7586ac7a86c27fb8.js'},{'revision':null,'url':'/7639.bundle.49e47687d6dbb37826c9.js'},{'revision':null,'url':'/7758.bundle.c8d106364298e7d288f0.js'},{'revision':null,'url':'/8094.bundle.5c44190a325ac23e3e5c.js'},{'revision':null,'url':'/810.bundle.9434fe381c308740f145.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/810.css'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/8402.css'},{'revision':null,'url':'/85.bundle.c51ef8020630c75c5f2d.js'},{'revision':null,'url':'/8558.bundle.8bd87f31366f83b3c5f9.js'},{'revision':null,'url':'/8740.bundle.39b40ee21a873e824ce8.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/8740.css'},{'revision':null,'url':'/8815.bundle.2c7b7e1c4fb6c682f5b0.js'},{'revision':null,'url':'/934.bundle.e51900eb477fe7865ab7.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/934.css'},{'revision':null,'url':'/9742.bundle.b6a8307f0fe8be2aae1e.js'},{'revision':null,'url':'/9819.bundle.29fb49e6d25cf486a204.js'},{'revision':null,'url':'/9856.bundle.4d469a7b62ac0c005da2.js'},{'revision':null,'url':'/9862.bundle.1133b0f6bd2b035c85bd.js'},{'revision':null,'url':'/9892.bundle.34f911ad728a17a0ad60.js'},{'revision':'d41d8cd98f00b204e9800998ecf8427e','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':null,'url':'/a957c5cd315f89b6feb1.wasm'},{'revision':'4ac4acf118f4a1986b57343da3af1d5a','url':'/app-config.js'},{'revision':null,'url':'/app.bundle.ab0f738eb8d84ab5ebe9.js'},{'revision':'1dd4af7d2d314cc71174056b94010bcd','url':'/app.bundle.css'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2547879ee2928a5fd56dca483bcbd967','url':'/assets/images/CT-AAA.png'},{'revision':'245628fb9d18d6c5cd529615079f8e86','url':'/assets/images/CT-AAA2.png'},{'revision':'997a9c8b57e7b4e46d8f01fb49d078c6','url':'/assets/images/CT-Air.png'},{'revision':'e7ed89711f63348d49898da3a2b73ab9','url':'/assets/images/CT-Bone.png'},{'revision':'09d1dc6efebb10a60cdf85ed74a10214','url':'/assets/images/CT-Bones.png'},{'revision':'f8ae9bafd3b90ba3efbdcbe8901db187','url':'/assets/images/CT-Cardiac.png'},{'revision':'ed0cc538aba90d6a1c029923ca9b47db','url':'/assets/images/CT-Cardiac2.png'},{'revision':'dfdaf4e4889aefbf09514545f45726bb','url':'/assets/images/CT-Cardiac3.png'},{'revision':'5d4b9a331136a1a5d7ce7ccf7dfcca36','url':'/assets/images/CT-Chest-Contrast-Enhanced.png'},{'revision':'5fb264499a5bb42487663b00e42d1513','url':'/assets/images/CT-Chest-Vessels.png'},{'revision':'ab8f0e569c972388ddaaa61b92449fac','url':'/assets/images/CT-Coronary-Arteries-2.png'},{'revision':'e4e7e2e3cc09bc8c4fb03b6441bd2845','url':'/assets/images/CT-Coronary-Arteries-3.png'},{'revision':'79a2962a2d3cbe4bd3b675b5ca83c659','url':'/assets/images/CT-Coronary-Arteries.png'},{'revision':'6502a6bdab1c70e2188c3bf12ce5d4e4','url':'/assets/images/CT-Cropped-Volume-Bone.png'},{'revision':'e28ad3cf5ed2006fc5a7cffd602736fc','url':'/assets/images/CT-Fat.png'},{'revision':'ca1c5be76053edee27e68ffbf9105101','url':'/assets/images/CT-Liver-Vasculature.png'},{'revision':'d6c9ab857ed2ad19f1ff20bea02b6655','url':'/assets/images/CT-Lung.png'},{'revision':'ddb599c6a163bdf28ece8de1a337470a','url':'/assets/images/CT-MIP.png'},{'revision':'0b0dcf7940a555e2a9a0900f7f84d4d3','url':'/assets/images/CT-Muscle.png'},{'revision':'6082d383f9ce375a5873e2a00fc4d372','url':'/assets/images/CT-Pulmonary-Arteries.png'},{'revision':'b317366149ee2607bec95d63eb4d7661','url':'/assets/images/CT-Soft-Tissue.png'},{'revision':'4b0cd5a673ebb71da22a91ed608d6695','url':'/assets/images/DTI-FA-Brain.png'},{'revision':'3ea1cbee022af5b94710b73726308832','url':'/assets/images/MR-Angio.png'},{'revision':'bd25ca7b166193547f34950eed440e5c','url':'/assets/images/MR-Default.png'},{'revision':'2e50a49b859aeb316a1c23f911fce9ad','url':'/assets/images/MR-MIP.png'},{'revision':'6ba74de6961e08652ff9e2f1871b473d','url':'/assets/images/MR-T2-Brain.png'},{'revision':'42406bb474f0f87cf04a5afbbcd5e389','url':'/assets/images/VolumeRendering.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':null,'url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':null,'url':'/compute.bundle.bf2d925bfc81c7f05c06.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/dicom-microscopy-viewer/charlswasm_decode.wasm'},{'revision':'9214592a1edd456ad2ef69772201398e','url':'/dicom-microscopy-viewer/dataLoader.worker.min.js'},{'revision':'813dee9adb3a3478dedc6dfe1479e15b','url':'/dicom-microscopy-viewer/dataLoader.worker.min.js.map'},{'revision':'7c294f8c09330616edfe79446cbf63d8','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js'},{'revision':'8c4deac68531aea6527f05d3d30dd597','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.map'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/dicom-microscopy-viewer/dicomiccwasm.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/dicom-microscopy-viewer/libjpegturbowasm_decode.wasm'},{'revision':'54a25d82a224dfd401569baffc8b478d','url':'/dicom-microscopy-viewer/openjpegwasm_decode.wasm'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'92b01d0a387d59841e02cc3a4c994657','url':'/google.js'},{'revision':null,'url':'/histogram-worker.bundle.b7bb02c6cd9273c422f5.js'},{'revision':'25494578dae64d89d274771ead5e0448','url':'/index.html'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':null,'url':'/interpolation.bundle.f58dd6d3d25dd22cfefd.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':'242abae066a3d4717e09f218703f1923','url':'/ort/cjs/ort.all.min.js'},{'revision':'039ea411b3b655094035e85bb2e245d4','url':'/ort/cjs/ort.all.min.js.map'},{'revision':'fb509ab752acf788c3cc25459ae72e62','url':'/ort/cjs/ort.min.js'},{'revision':'30087ad61fc31272eb6094962e3a0451','url':'/ort/cjs/ort.min.js.map'},{'revision':'0fad6d8ca65291350ca8a1751659a536','url':'/ort/cjs/ort.training.wasm.min.js'},{'revision':'da692fb2cd7f67223b92a90955b87cb3','url':'/ort/cjs/ort.training.wasm.min.js.map'},{'revision':'f471b605fb03df54c63d5bc77a32226b','url':'/ort/cjs/ort.wasm-core.min.js'},{'revision':'cc4475faebff69233b4fdc1a78eb0399','url':'/ort/cjs/ort.wasm-core.min.js.map'},{'revision':'d228221765171d0a4cf3cb3909dd0be3','url':'/ort/cjs/ort.wasm.min.js'},{'revision':'6d132c02e5eeadf4da54c8bcc0c15200','url':'/ort/cjs/ort.wasm.min.js.map'},{'revision':'9a463e37f9550d7a23f5a47076b6b3d8','url':'/ort/cjs/ort.webgl.min.js'},{'revision':'26e251b6aee08c91a3d6e1af1410659d','url':'/ort/cjs/ort.webgl.min.js.map'},{'revision':'5cd623012201d7c5ddbbdb57224ac26d','url':'/ort/cjs/ort.webgpu.min.js'},{'revision':'e53c54f9663a5d7573b66dd3d25fb93a','url':'/ort/cjs/ort.webgpu.min.js.map'},{'revision':'a6b7eb31b5dcf3835a90ea0d201f21e3','url':'/ort/cjs/package.json'},{'revision':'2ccbe0c4397149108dd0d7ced00b5879','url':'/ort/esm/ort.all.min.js'},{'revision':'2b2ff793ba11a59563a504067aa1e469','url':'/ort/esm/ort.all.min.js.map'},{'revision':'978e978337e66e848c2351da61fd7e8e','url':'/ort/esm/ort.min.js'},{'revision':'add9f88f20194b214c8a97b200c4eac0','url':'/ort/esm/ort.min.js.map'},{'revision':'61471773b94ac06d0d814b49cf619233','url':'/ort/esm/ort.training.wasm.min.js'},{'revision':'60057feb2e9c1d39d7e52b165e450e72','url':'/ort/esm/ort.training.wasm.min.js.map'},{'revision':'12635093e14a67921565de89f678c470','url':'/ort/esm/ort.wasm-core.min.js'},{'revision':'1d2c905465e8b47dc023beaf715bb6ae','url':'/ort/esm/ort.wasm-core.min.js.map'},{'revision':'f2780d73ea108c5728b4c4fb6bd1e8df','url':'/ort/esm/ort.wasm.min.js'},{'revision':'e1af0f0e8befaa973a9192cdc1a882fb','url':'/ort/esm/ort.wasm.min.js.map'},{'revision':'c5a2e8ed939ccfb0211336d8b385d81a','url':'/ort/esm/ort.webgl.min.js'},{'revision':'9e0198bc10517578066aed6c8baef1a3','url':'/ort/esm/ort.webgl.min.js.map'},{'revision':'0c96a22438d8ffdf94f13b1693dbed8b','url':'/ort/esm/ort.webgpu.min.js'},{'revision':'24126f825e1c2dd678b4b85cde6c4e3a','url':'/ort/esm/ort.webgpu.min.js.map'},{'revision':'b305354b5d3207dc798e87449005a1de','url':'/ort/esm/package.json'},{'revision':'10ba4d1a5289405cff7d9b5f453b60b4','url':'/ort/ort-training-wasm-simd.wasm'},{'revision':'f7380fb5928344460bac0e5833ee4a82','url':'/ort/ort-wasm-simd-threaded.jsep.wasm'},{'revision':'068e15f5aba004197782c011a782c500','url':'/ort/ort-wasm-simd-threaded.wasm'},{'revision':'8a468bda81bfb9e375907f0b6da8ffee','url':'/ort/ort-wasm-simd.jsep.wasm'},{'revision':'27a8292511e77fc50ced64326875ca4a','url':'/ort/ort-wasm-simd.wasm'},{'revision':'c9cf2d09cfabe6ea517c87620091a2fb','url':'/ort/ort-wasm-threaded.wasm'},{'revision':'88cb0475e8c4228b29dd201646223f0c','url':'/ort/ort-wasm.wasm'},{'revision':'708def774c211a2b036384d9e14dbfe7','url':'/ort/ort.all.js'},{'revision':'32e292212f5767983e5433f0a88d3425','url':'/ort/ort.all.min.js'},{'revision':'c4a4b66af400491c83591ab732dac868','url':'/ort/ort.all.min.js.map'},{'revision':'5d78ec66bcab8a26756d43b8c63a8f1e','url':'/ort/ort.js'},{'revision':'d552a78742409520bd30fb824a88a266','url':'/ort/ort.min.js'},{'revision':'a1fdb4abef4a6130f72148fe469ca114','url':'/ort/ort.min.js.map'},{'revision':'e3b420cb98f192d8755934dde7c014db','url':'/ort/ort.node.min.js'},{'revision':'9b0c2098e6c9b0f6d6e54e8cb434ed76','url':'/ort/ort.node.min.js.map'},{'revision':'722dabcfbb18772ca80ef96ef9b9a036','url':'/ort/ort.training.wasm.min.js'},{'revision':'de35b3d2e302163bdcb80d3e20c84266','url':'/ort/ort.training.wasm.min.js.map'},{'revision':'f92b62229fc36d346f720b2410e63576','url':'/ort/ort.wasm-core.min.js'},{'revision':'8f56640956155afecadc318d8a32e0f6','url':'/ort/ort.wasm-core.min.js.map'},{'revision':'5ac1ffe964e3bd1f0d2e6a3a18a5a1ba','url':'/ort/ort.wasm.min.js'},{'revision':'9b0a74e48529a07b61428b1a48233b39','url':'/ort/ort.wasm.min.js.map'},{'revision':'4591c9c641ab0151b9a8cdc1ce110286','url':'/ort/ort.webgl.min.js'},{'revision':'77e632e10b98c8d10e17bb3071d5cba4','url':'/ort/ort.webgl.min.js.map'},{'revision':'027aca68552f5081e90a08f7fb064fb7','url':'/ort/ort.webgpu.min.js'},{'revision':'12dc9d5c577bac166f0f74590e4d27dd','url':'/ort/ort.webgpu.min.js.map'},{'revision':null,'url':'/polySeg.bundle.1d99496fc36c90c48d48.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'981ac7f7543b8330e3826aff72c33382','url':'/serve.json'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
54
54
 
55
55
  // TODO: Cache API
56
56
  // https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ohif/app",
3
- "version": "3.12.0-beta.53",
3
+ "version": "3.12.0-beta.55",
4
4
  "productVersion": "3.4.0",
5
5
  "description": "OHIF Viewer",
6
6
  "author": "OHIF Contributors",
@@ -53,27 +53,27 @@
53
53
  "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
54
54
  "@cornerstonejs/codec-openjpeg": "^1.2.4",
55
55
  "@cornerstonejs/codec-openjph": "^2.4.5",
56
- "@cornerstonejs/dicom-image-loader": "4.5.1",
56
+ "@cornerstonejs/dicom-image-loader": "4.5.5",
57
57
  "@emotion/serialize": "^1.1.3",
58
- "@ohif/core": "3.12.0-beta.53",
59
- "@ohif/extension-cornerstone": "3.12.0-beta.53",
60
- "@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.53",
61
- "@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.53",
62
- "@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.53",
63
- "@ohif/extension-default": "3.12.0-beta.53",
64
- "@ohif/extension-dicom-microscopy": "3.12.0-beta.53",
65
- "@ohif/extension-dicom-pdf": "3.12.0-beta.53",
66
- "@ohif/extension-dicom-video": "3.12.0-beta.53",
67
- "@ohif/extension-test": "3.12.0-beta.53",
68
- "@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.53",
69
- "@ohif/i18n": "3.12.0-beta.53",
70
- "@ohif/mode-basic-dev-mode": "3.12.0-beta.53",
71
- "@ohif/mode-longitudinal": "3.12.0-beta.53",
72
- "@ohif/mode-microscopy": "3.12.0-beta.53",
73
- "@ohif/mode-test": "3.12.0-beta.53",
74
- "@ohif/mode-ultrasound-pleura-bline": "3.12.0-beta.53",
75
- "@ohif/ui": "3.12.0-beta.53",
76
- "@ohif/ui-next": "3.12.0-beta.53",
58
+ "@ohif/core": "3.12.0-beta.55",
59
+ "@ohif/extension-cornerstone": "3.12.0-beta.55",
60
+ "@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.55",
61
+ "@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.55",
62
+ "@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.55",
63
+ "@ohif/extension-default": "3.12.0-beta.55",
64
+ "@ohif/extension-dicom-microscopy": "3.12.0-beta.55",
65
+ "@ohif/extension-dicom-pdf": "3.12.0-beta.55",
66
+ "@ohif/extension-dicom-video": "3.12.0-beta.55",
67
+ "@ohif/extension-test": "3.12.0-beta.55",
68
+ "@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.55",
69
+ "@ohif/i18n": "3.12.0-beta.55",
70
+ "@ohif/mode-basic-dev-mode": "3.12.0-beta.55",
71
+ "@ohif/mode-longitudinal": "3.12.0-beta.55",
72
+ "@ohif/mode-microscopy": "3.12.0-beta.55",
73
+ "@ohif/mode-test": "3.12.0-beta.55",
74
+ "@ohif/mode-ultrasound-pleura-bline": "3.12.0-beta.55",
75
+ "@ohif/ui": "3.12.0-beta.55",
76
+ "@ohif/ui-next": "3.12.0-beta.55",
77
77
  "@svgr/webpack": "^8.1.0",
78
78
  "@types/react": "^18.3.3",
79
79
  "classnames": "^2.3.2",