@ohif/app 3.13.0-beta.22 → 3.13.0-beta.24

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 (38) hide show
  1. package/dist/{6409.bundle.24edbaa283b7c521b8f7.js → 2075.bundle.a9783d07b48ca241486e.js} +239 -168
  2. package/dist/{3081.bundle.4827fd9286b00caabfa3.js → 3081.bundle.9342d2003030eb3c9541.js} +2 -2
  3. package/dist/{3461.bundle.10a4215bacbe33fb8833.js → 3461.bundle.9502d3707ecc5d0323c1.js} +3 -3
  4. package/dist/{4287.bundle.571587a1d29d54203175.js → 4287.bundle.c6bd6cf991e2dae32044.js} +111 -35
  5. package/dist/{5028.bundle.6e230efd1a84fbc02f04.js → 5028.bundle.9e63b5082d8856ee41d3.js} +2 -2
  6. package/dist/{2031.bundle.a17bc2d85cef3a9fea57.js → 581.bundle.2bb402f7316b6e8c735b.js} +326 -231
  7. package/dist/{6280.bundle.6574101421b8a4ab6777.js → 6280.bundle.828ccda61aa5c83408a5.js} +425 -567
  8. package/dist/{2816.bundle.838fa4d72921c026083c.js → 6386.bundle.d1be64fd274877e918d9.js} +30 -58
  9. package/dist/{8665.bundle.056dcd3e86743de2526c.js → 7537.bundle.5a26371cf1368d0e5cf2.js} +321 -75
  10. package/dist/{8305.bundle.4fae34f80d4847a92b75.js → 8305.bundle.301fbc7d0a3183da4f42.js} +2 -2
  11. package/dist/{8583.bundle.8e942c4509f38b051b6d.js → 8583.bundle.93f05da9435c53fa229b.js} +2 -2
  12. package/dist/{9195.bundle.2b62b5e5603641bfb3e3.js → 9195.bundle.a49c44d839f09c1190c1.js} +4 -5
  13. package/dist/{9205.bundle.dca4f040999d069f1cc5.js → 9205.bundle.a37976b4f3ded2cbb2ab.js} +587 -709
  14. package/dist/{933.bundle.c8f45e1f380ad5a34e07.js → 933.bundle.a6220d057519db0b7651.js} +2 -2
  15. package/dist/{app.bundle.02fe1810f12db88c338c.js → app.bundle.000d2cfe6893ffbe84b7.js} +323 -116
  16. package/dist/{compute.bundle.6bc9d64acadd16a85f59.js → compute.bundle.0fa6bd11224eb79e7474.js} +3 -3
  17. package/dist/index.html +1 -1
  18. package/dist/{polySeg.bundle.41c40b57dd1b265fb425.js → polySeg.bundle.f15c8d2cc2559db627cf.js} +3 -3
  19. package/dist/sw.js +1 -1
  20. package/package.json +21 -21
  21. /package/dist/{1459.bundle.2e54707e8b0441c92529.js → 1459.bundle.5b7a328ae89a35622205.js} +0 -0
  22. /package/dist/{1933.bundle.5fc7cc04fa7173ed99f8.js → 1933.bundle.1d1345d08f29ad45a14b.js} +0 -0
  23. /package/dist/{2018.bundle.23291da4d4b0999e7d09.js → 2018.bundle.d6cdff8149ad69a965cc.js} +0 -0
  24. /package/dist/{213.bundle.ccad84ceab8ee1550a87.js → 213.bundle.393be8a0d3a201634ac1.js} +0 -0
  25. /package/dist/{2424.bundle.016d435d2a499d3ac883.js → 2424.bundle.f18df7bc54510ab32a35.js} +0 -0
  26. /package/dist/{3138.bundle.8f7afbbaffadcbc9a5fc.js → 3138.bundle.79170d908a4106874093.js} +0 -0
  27. /package/dist/{4507.bundle.f14d5e470efb072ee645.js → 4507.bundle.8969b09dd3f576cddfcf.js} +0 -0
  28. /package/dist/{4819.bundle.22278e87b9fcfe848657.js → 4819.bundle.e581d194b62f08c4eb77.js} +0 -0
  29. /package/dist/{5015.bundle.36ad9402be736e9c2be3.js → 5015.bundle.81781390053c546e29be.js} +0 -0
  30. /package/dist/{5457.bundle.2755c84844d1a15dec0b.js → 5457.bundle.7bd5092726bacbd503aa.js} +0 -0
  31. /package/dist/{5485.bundle.eafdd69f92e6475a5963.js → 5485.bundle.334868b4aca965dfacf5.js} +0 -0
  32. /package/dist/{6027.bundle.59ee43ff7d47158aaad7.js → 6027.bundle.ac07b32905cbdd321fb5.js} +0 -0
  33. /package/dist/{7431.bundle.e6f5f5835a3c49e2309c.js → 7431.bundle.8ddbd21f7b2b8528a14a.js} +0 -0
  34. /package/dist/{7639.bundle.ab61d5effce0ec748058.js → 7639.bundle.78557dd05ae0f5511807.js} +0 -0
  35. /package/dist/{8499.bundle.a6b181ee4bb1feb500f5.js → 8499.bundle.f8ea964333994b9ff842.js} +0 -0
  36. /package/dist/{85.bundle.ef705801c1f76c0b6231.js → 85.bundle.058fe8907052935c7ff9.js} +0 -0
  37. /package/dist/{8558.bundle.936313d9744e5fd94f0d.js → 8558.bundle.7be97925dbf90ed792f9.js} +0 -0
  38. /package/dist/{9927.bundle.a5605e1bbae457a20feb.js → 9927.bundle.9e5cecd52ac87d90649e.js} +0 -0
@@ -5574,13 +5574,30 @@ class BaseVolumeViewport extends Viewport/* default */.A {
5574
5574
  }
5575
5575
  }
5576
5576
  else if (typeof orientation === 'string') {
5577
- if (orientation === 'acquisition') {
5577
+ if (orientation === enums.OrientationAxis.ACQUISITION) {
5578
5578
  return this._getAcquisitionPlaneOrientation();
5579
5579
  }
5580
- else if (orientation === 'reformat' ||
5581
- orientation.includes('_reformat')) {
5580
+ else if (orientation === enums.OrientationAxis.REFORMAT) {
5581
+ return (0,getCameraVectors/* getCameraVectors */.S8)(this, {
5582
+ useViewportNormal: true,
5583
+ });
5584
+ }
5585
+ else if (orientation === enums.OrientationAxis.AXIAL_REFORMAT ||
5586
+ orientation === enums.OrientationAxis.SAGITTAL_REFORMAT ||
5587
+ orientation === enums.OrientationAxis.CORONAL_REFORMAT) {
5588
+ let baseOrientation;
5589
+ if (orientation === enums.OrientationAxis.AXIAL_REFORMAT) {
5590
+ baseOrientation = enums.OrientationAxis.AXIAL;
5591
+ }
5592
+ else if (orientation === enums.OrientationAxis.SAGITTAL_REFORMAT) {
5593
+ baseOrientation = enums.OrientationAxis.SAGITTAL;
5594
+ }
5595
+ else {
5596
+ baseOrientation = enums.OrientationAxis.CORONAL;
5597
+ }
5582
5598
  return (0,getCameraVectors/* getCameraVectors */.S8)(this, {
5583
5599
  useViewportNormal: true,
5600
+ orientation: baseOrientation,
5584
5601
  });
5585
5602
  }
5586
5603
  else if (constants.MPR_CAMERA_VALUES[orientation]) {
@@ -5588,7 +5605,7 @@ class BaseVolumeViewport extends Viewport/* default */.A {
5588
5605
  return constants.MPR_CAMERA_VALUES[orientation];
5589
5606
  }
5590
5607
  }
5591
- throw new Error(`Invalid orientation: ${orientation}. Valid orientations are: ${Object.keys(constants.MPR_CAMERA_VALUES).join(', ')}`);
5608
+ throw new Error(`Invalid orientation: ${orientation}. Valid orientations are: ${Object.keys(constants.MPR_CAMERA_VALUES).join(', ')}, ${enums.OrientationAxis.ACQUISITION}, ${enums.OrientationAxis.REFORMAT}, ${enums.OrientationAxis.AXIAL_REFORMAT}, ${enums.OrientationAxis.SAGITTAL_REFORMAT}, ${enums.OrientationAxis.CORONAL_REFORMAT}`);
5592
5609
  }
5593
5610
  _getAcquisitionPlaneOrientation() {
5594
5611
  const actorEntry = this.getDefaultActor();
@@ -11406,12 +11423,29 @@ class VolumeViewport extends BaseVolumeViewport/* default */.A {
11406
11423
  if (orientation === enums.OrientationAxis.ACQUISITION) {
11407
11424
  ({ viewPlaneNormal, viewUp } = super._getAcquisitionPlaneOrientation());
11408
11425
  }
11409
- else if (orientation === enums.OrientationAxis.REFORMAT ||
11410
- orientation.includes('_reformat')) {
11426
+ else if (orientation === enums.OrientationAxis.REFORMAT) {
11411
11427
  ({ viewPlaneNormal, viewUp } = (0,getCameraVectors/* getCameraVectors */.S8)(this, {
11412
11428
  useViewportNormal: true,
11413
11429
  }));
11414
11430
  }
11431
+ else if (orientation === enums.OrientationAxis.AXIAL_REFORMAT ||
11432
+ orientation === enums.OrientationAxis.SAGITTAL_REFORMAT ||
11433
+ orientation === enums.OrientationAxis.CORONAL_REFORMAT) {
11434
+ let baseOrientation;
11435
+ if (orientation === enums.OrientationAxis.AXIAL_REFORMAT) {
11436
+ baseOrientation = enums.OrientationAxis.AXIAL;
11437
+ }
11438
+ else if (orientation === enums.OrientationAxis.SAGITTAL_REFORMAT) {
11439
+ baseOrientation = enums.OrientationAxis.SAGITTAL;
11440
+ }
11441
+ else {
11442
+ baseOrientation = enums.OrientationAxis.CORONAL;
11443
+ }
11444
+ ({ viewPlaneNormal, viewUp } = (0,getCameraVectors/* getCameraVectors */.S8)(this, {
11445
+ useViewportNormal: true,
11446
+ orientation: baseOrientation,
11447
+ }));
11448
+ }
11415
11449
  else if (constants.MPR_CAMERA_VALUES[orientation]) {
11416
11450
  ({ viewPlaneNormal, viewUp } = constants.MPR_CAMERA_VALUES[orientation]);
11417
11451
  }
@@ -11423,7 +11457,7 @@ class VolumeViewport extends BaseVolumeViewport/* default */.A {
11423
11457
  viewUp,
11424
11458
  });
11425
11459
  this.viewportProperties.orientation = orientation;
11426
- this.resetCamera();
11460
+ this.resetCamera({ suppressEvents: true });
11427
11461
  }
11428
11462
  else {
11429
11463
  ({ viewPlaneNormal, viewUp } = orientation);
@@ -15303,7 +15337,8 @@ function convertMapperToNotSharedMapper(sharedMapper) {
15303
15337
  /* harmony export */ S8: () => (/* binding */ getCameraVectors),
15304
15338
  /* harmony export */ jq: () => (/* binding */ calculateCameraPosition)
15305
15339
  /* harmony export */ });
15306
- /* unused harmony export getOrientationFromScanAxisNormal */
15340
+ /* unused harmony exports getOrientationFromScanAxisNormal, getAcquisitionPlaneReformatOrientation */
15341
+ /* unused harmony import specifier */ var vec3;
15307
15342
  /* harmony import */ var _metaData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74876);
15308
15343
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76491);
15309
15344
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71851);
@@ -15329,6 +15364,22 @@ function calculateCameraPosition(rowCosineVec, colCosineVec, scanAxisNormal, ori
15329
15364
  case OrientationAxis.CORONAL_REFORMAT:
15330
15365
  referenceCameraValues = MPR_CAMERA_VALUES.coronal;
15331
15366
  break;
15367
+ case OrientationAxis.REFORMAT:
15368
+ const autoDetected = getOrientationFromScanAxisNormal(scanAxisNormal);
15369
+ switch (autoDetected) {
15370
+ case OrientationAxis.AXIAL:
15371
+ referenceCameraValues = MPR_CAMERA_VALUES.axial;
15372
+ break;
15373
+ case OrientationAxis.SAGITTAL:
15374
+ referenceCameraValues = MPR_CAMERA_VALUES.sagittal;
15375
+ break;
15376
+ case OrientationAxis.CORONAL:
15377
+ referenceCameraValues = MPR_CAMERA_VALUES.coronal;
15378
+ break;
15379
+ default:
15380
+ referenceCameraValues = MPR_CAMERA_VALUES.axial;
15381
+ }
15382
+ break;
15332
15383
  default:
15333
15384
  referenceCameraValues = MPR_CAMERA_VALUES.axial;
15334
15385
  break;
@@ -15407,7 +15458,7 @@ function getCameraVectors(viewport, config) {
15407
15458
  if (useViewportNormal) {
15408
15459
  normalPlaneForOrientation = viewport.getCamera().viewPlaneNormal;
15409
15460
  }
15410
- if (!orientation) {
15461
+ if (!orientation || orientation === OrientationAxis.REFORMAT) {
15411
15462
  orientation = getOrientationFromScanAxisNormal(normalPlaneForOrientation);
15412
15463
  }
15413
15464
  return calculateCameraPosition(rowCosineVec, colCosineVec, scanAxisNormal, orientation);
@@ -15430,6 +15481,103 @@ function getOrientationFromScanAxisNormal(scanAxisNormal) {
15430
15481
  return OrientationAxis.CORONAL;
15431
15482
  }
15432
15483
  }
15484
+ function getAcquisitionPlaneReformatOrientation(imageOrientationPatient) {
15485
+ if (!imageOrientationPatient || imageOrientationPatient.length !== 6) {
15486
+ return null;
15487
+ }
15488
+ const rowVec = vec3.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
15489
+ const colVec = vec3.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
15490
+ const scanAxisNormal = vec3.create();
15491
+ vec3.cross(scanAxisNormal, rowVec, colVec);
15492
+ vec3.normalize(rowVec, rowVec);
15493
+ vec3.normalize(colVec, colVec);
15494
+ vec3.normalize(scanAxisNormal, scanAxisNormal);
15495
+ const negRowVec = vec3.create();
15496
+ vec3.negate(negRowVec, rowVec);
15497
+ const negColVec = vec3.create();
15498
+ vec3.negate(negColVec, colVec);
15499
+ const negScanAxisNormal = vec3.create();
15500
+ vec3.negate(negScanAxisNormal, scanAxisNormal);
15501
+ const acquisitionVectors = [
15502
+ { vec: rowVec, name: 'row' },
15503
+ { vec: colVec, name: 'col' },
15504
+ { vec: scanAxisNormal, name: 'scanAxis' },
15505
+ { vec: negRowVec, name: '-row' },
15506
+ { vec: negColVec, name: '-col' },
15507
+ { vec: negScanAxisNormal, name: '-scanAxis' },
15508
+ ];
15509
+ const standardViews = [
15510
+ {
15511
+ name: 'axial',
15512
+ viewPlaneNormal: vec3.fromValues(MPR_CAMERA_VALUES.axial.viewPlaneNormal[0], MPR_CAMERA_VALUES.axial.viewPlaneNormal[1], MPR_CAMERA_VALUES.axial.viewPlaneNormal[2]),
15513
+ viewUp: vec3.fromValues(MPR_CAMERA_VALUES.axial.viewUp[0], MPR_CAMERA_VALUES.axial.viewUp[1], MPR_CAMERA_VALUES.axial.viewUp[2]),
15514
+ },
15515
+ {
15516
+ name: 'sagittal',
15517
+ viewPlaneNormal: vec3.fromValues(MPR_CAMERA_VALUES.sagittal.viewPlaneNormal[0], MPR_CAMERA_VALUES.sagittal.viewPlaneNormal[1], MPR_CAMERA_VALUES.sagittal.viewPlaneNormal[2]),
15518
+ viewUp: vec3.fromValues(MPR_CAMERA_VALUES.sagittal.viewUp[0], MPR_CAMERA_VALUES.sagittal.viewUp[1], MPR_CAMERA_VALUES.sagittal.viewUp[2]),
15519
+ },
15520
+ {
15521
+ name: 'coronal',
15522
+ viewPlaneNormal: vec3.fromValues(MPR_CAMERA_VALUES.coronal.viewPlaneNormal[0], MPR_CAMERA_VALUES.coronal.viewPlaneNormal[1], MPR_CAMERA_VALUES.coronal.viewPlaneNormal[2]),
15523
+ viewUp: vec3.fromValues(MPR_CAMERA_VALUES.coronal.viewUp[0], MPR_CAMERA_VALUES.coronal.viewUp[1], MPR_CAMERA_VALUES.coronal.viewUp[2]),
15524
+ },
15525
+ ];
15526
+ let bestAlignment = -Infinity;
15527
+ let bestViewPlaneNormal = null;
15528
+ let bestViewUp = null;
15529
+ for (const standardView of standardViews) {
15530
+ let bestPairScore = -Infinity;
15531
+ let bestPairViewPlaneNormal = null;
15532
+ let bestPairViewUp = null;
15533
+ for (let i = 0; i < acquisitionVectors.length; i++) {
15534
+ for (let j = 0; j < acquisitionVectors.length; j++) {
15535
+ if (i === j)
15536
+ continue;
15537
+ const v1 = acquisitionVectors[i].vec;
15538
+ const v2 = acquisitionVectors[j].vec;
15539
+ const dotProduct = Math.abs(vec3.dot(v1, v2));
15540
+ if (dotProduct > 0.1)
15541
+ continue;
15542
+ const score1 = Math.abs(vec3.dot(v1, standardView.viewPlaneNormal));
15543
+ const score2 = Math.abs(vec3.dot(v2, standardView.viewUp));
15544
+ const totalScore = score1 + score2;
15545
+ const score1Swapped = Math.abs(vec3.dot(v2, standardView.viewPlaneNormal));
15546
+ const score2Swapped = Math.abs(vec3.dot(v1, standardView.viewUp));
15547
+ const totalScoreSwapped = score1Swapped + score2Swapped;
15548
+ if (totalScoreSwapped > totalScore &&
15549
+ totalScoreSwapped > bestPairScore) {
15550
+ bestPairScore = totalScoreSwapped;
15551
+ bestPairViewPlaneNormal = v2;
15552
+ bestPairViewUp = v1;
15553
+ }
15554
+ else if (totalScore > bestPairScore) {
15555
+ bestPairScore = totalScore;
15556
+ bestPairViewPlaneNormal = v1;
15557
+ bestPairViewUp = v2;
15558
+ }
15559
+ }
15560
+ }
15561
+ if (bestPairScore > bestAlignment &&
15562
+ bestPairViewPlaneNormal &&
15563
+ bestPairViewUp) {
15564
+ bestAlignment = bestPairScore;
15565
+ bestViewPlaneNormal = bestPairViewPlaneNormal;
15566
+ bestViewUp = bestPairViewUp;
15567
+ }
15568
+ }
15569
+ if (!bestViewPlaneNormal || !bestViewUp) {
15570
+ return null;
15571
+ }
15572
+ return {
15573
+ viewPlaneNormal: [
15574
+ bestViewPlaneNormal[0],
15575
+ bestViewPlaneNormal[1],
15576
+ bestViewPlaneNormal[2],
15577
+ ],
15578
+ viewUp: [bestViewUp[0], bestViewUp[1], bestViewUp[2]],
15579
+ };
15580
+ }
15433
15581
 
15434
15582
 
15435
15583
  /***/ },
@@ -45620,7 +45768,7 @@ function toLowHighRange(windowWidth, windowCenter, voiLUTFunction = _enums_VOILU
45620
45768
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45621
45769
  /* harmony export */ r: () => (/* binding */ version)
45622
45770
  /* harmony export */ });
45623
- const version = '4.15.29';
45771
+ const version = '4.17.2';
45624
45772
 
45625
45773
 
45626
45774
  /***/ },
@@ -46043,7 +46191,7 @@ const obj = {
46043
46191
 
46044
46192
  /***/ },
46045
46193
 
46046
- /***/ 75524
46194
+ /***/ 68750
46047
46195
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
46048
46196
 
46049
46197
  "use strict";
@@ -46053,7 +46201,7 @@ __webpack_require__.d(__webpack_exports__, {
46053
46201
  Ay: () => (/* binding */ dist_esm)
46054
46202
  });
46055
46203
 
46056
- // UNUSED EXPORTS: constants, convertColorSpace, convertPALETTECOLOR, convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, createImage, decodeImageFrame, decodeJPEGBaseline8BitColor, decoders, getImageFrame, getMinMax, getPixelData, init, initializers, internal, isColorImage, isJPEGBaseline8BitColor, postProcessDecodedPixels, wadors, wadouri
46204
+ // UNUSED EXPORTS: constants, convertColorSpace, convertPaletteColor, convertPaletteColorWithFetch, convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, createImage, decodeImageFrame, decodeJPEGBaseline8BitColor, decoders, getImageFrame, getMinMax, getPixelData, init, initializers, internal, isColorImage, isJPEGBaseline8BitColor, postProcessDecodedPixels, wadors, wadouri
46057
46205
 
46058
46206
  // NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/constants/index.js
46059
46207
  var constants_namespaceObject = {};
@@ -46235,16 +46383,8 @@ __webpack_require__.d(constants_namespaceObject, {
46235
46383
 
46236
46384
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
46237
46385
  var esm = __webpack_require__(15327);
46238
- ;// ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js
46386
+ ;// ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/colorSpaceConverters/fetchPaletteData.js
46239
46387
 
46240
- function convertLUTto8Bit(lut, shift) {
46241
- const numEntries = lut.length;
46242
- const cleanedLUT = new Uint8ClampedArray(numEntries);
46243
- for (let i = 0; i < numEntries; ++i) {
46244
- cleanedLUT[i] = lut[i] >> shift;
46245
- }
46246
- return cleanedLUT;
46247
- }
46248
46388
  function fetchPaletteData(imageFrame, color, fallback) {
46249
46389
  const data = imageFrame[`${color}PaletteColorLookupTableData`];
46250
46390
  if (data) {
@@ -46258,44 +46398,61 @@ function fetchPaletteData(imageFrame, color, fallback) {
46258
46398
  return Promise.resolve(result ? result[`${color}PaletteColorLookupTableData`] : fallback);
46259
46399
  }
46260
46400
  }
46261
- /* harmony default export */ function convertPALETTECOLOR(imageFrame, colorBuffer, useRGBA) {
46401
+
46402
+ ;// ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/colorSpaceConverters/fetchLUTForInstance.js
46403
+
46404
+
46405
+ async function fetchLUTForInstance(imageFrame) {
46406
+ const fetchPromises = [];
46407
+ const needsPaletteLUT = !imageFrame.redPaletteColorLookupTableData ||
46408
+ !imageFrame.greenPaletteColorLookupTableData ||
46409
+ !imageFrame.bluePaletteColorLookupTableData;
46410
+ if (needsPaletteLUT) {
46411
+ const palettePromises = Promise.all([
46412
+ fetchPaletteData(imageFrame, 'red', null),
46413
+ fetchPaletteData(imageFrame, 'green', null),
46414
+ fetchPaletteData(imageFrame, 'blue', null),
46415
+ ]).then(([redData, greenData, blueData]) => {
46416
+ imageFrame.redPaletteColorLookupTableData = redData;
46417
+ imageFrame.greenPaletteColorLookupTableData = greenData;
46418
+ imageFrame.bluePaletteColorLookupTableData = blueData;
46419
+ });
46420
+ fetchPromises.push(palettePromises);
46421
+ }
46422
+ if (fetchPromises.length > 0) {
46423
+ await Promise.all(fetchPromises);
46424
+ }
46425
+ }
46426
+
46427
+ ;// ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js
46428
+
46429
+ function convertLUTto8Bit(lut, shift) {
46430
+ const numEntries = lut.length;
46431
+ const cleanedLUT = new Uint8ClampedArray(numEntries);
46432
+ for (let i = 0; i < numEntries; ++i) {
46433
+ cleanedLUT[i] = lut[i] >> shift;
46434
+ }
46435
+ return cleanedLUT;
46436
+ }
46437
+ function convertPaletteColor(imageFrame, colorBuffer, useRGBA) {
46262
46438
  const numPixels = imageFrame.columns * imageFrame.rows;
46263
46439
  const pixelData = imageFrame.pixelData;
46264
- Promise.all([
46265
- fetchPaletteData(imageFrame, 'red', null),
46266
- fetchPaletteData(imageFrame, 'green', null),
46267
- fetchPaletteData(imageFrame, 'blue', null),
46268
- ]).then(([rData, gData, bData]) => {
46269
- if (!rData || !gData || !bData) {
46270
- throw new Error('The image does not have a complete color palette. R, G, and B palette data are required.');
46271
- }
46272
- const len = rData.length;
46273
- let palIndex = 0;
46274
- let bufferIndex = 0;
46275
- const start = imageFrame.redPaletteColorLookupTableDescriptor[1];
46276
- const shift = imageFrame.redPaletteColorLookupTableDescriptor[2] === 8 ? 0 : 8;
46277
- const rDataCleaned = convertLUTto8Bit(rData, shift);
46278
- const gDataCleaned = convertLUTto8Bit(gData, shift);
46279
- const bDataCleaned = convertLUTto8Bit(bData, shift);
46280
- if (useRGBA) {
46281
- for (let i = 0; i < numPixels; ++i) {
46282
- let value = pixelData[palIndex++];
46283
- if (value < start) {
46284
- value = 0;
46285
- }
46286
- else if (value > start + len - 1) {
46287
- value = len - 1;
46288
- }
46289
- else {
46290
- value -= start;
46291
- }
46292
- colorBuffer[bufferIndex++] = rDataCleaned[value];
46293
- colorBuffer[bufferIndex++] = gDataCleaned[value];
46294
- colorBuffer[bufferIndex++] = bDataCleaned[value];
46295
- colorBuffer[bufferIndex++] = 255;
46296
- }
46297
- return;
46298
- }
46440
+ const rData = imageFrame.redPaletteColorLookupTableData;
46441
+ const gData = imageFrame.greenPaletteColorLookupTableData;
46442
+ const bData = imageFrame.bluePaletteColorLookupTableData;
46443
+ if (!rData || !gData || !bData) {
46444
+ throw new Error('The image does not have a complete color palette. R, G, and B palette data are required.');
46445
+ }
46446
+ const len = rData.length;
46447
+ let palIndex = 0;
46448
+ let bufferIndex = 0;
46449
+ const start = imageFrame.redPaletteColorLookupTableDescriptor[1];
46450
+ const bitsStored = imageFrame.redPaletteColorLookupTableDescriptor[2];
46451
+ const shift = bitsStored > 8 || rData.some((num) => num > 255) ? 8 : 0;
46452
+ const rDataCleaned = convertLUTto8Bit(rData, shift);
46453
+ const gDataCleaned = convertLUTto8Bit(gData, shift);
46454
+ const bDataCleaned = convertLUTto8Bit(bData, shift);
46455
+ if (useRGBA) {
46299
46456
  for (let i = 0; i < numPixels; ++i) {
46300
46457
  let value = pixelData[palIndex++];
46301
46458
  if (value < start) {
@@ -46310,8 +46467,29 @@ function fetchPaletteData(imageFrame, color, fallback) {
46310
46467
  colorBuffer[bufferIndex++] = rDataCleaned[value];
46311
46468
  colorBuffer[bufferIndex++] = gDataCleaned[value];
46312
46469
  colorBuffer[bufferIndex++] = bDataCleaned[value];
46470
+ colorBuffer[bufferIndex++] = 255;
46313
46471
  }
46314
- });
46472
+ return;
46473
+ }
46474
+ for (let i = 0; i < numPixels; ++i) {
46475
+ let value = pixelData[palIndex++];
46476
+ if (value < start) {
46477
+ value = 0;
46478
+ }
46479
+ else if (value > start + len - 1) {
46480
+ value = len - 1;
46481
+ }
46482
+ else {
46483
+ value -= start;
46484
+ }
46485
+ colorBuffer[bufferIndex++] = rDataCleaned[value];
46486
+ colorBuffer[bufferIndex++] = gDataCleaned[value];
46487
+ colorBuffer[bufferIndex++] = bDataCleaned[value];
46488
+ }
46489
+ }
46490
+ async function convertPaletteColorWithFetch(imageFrame, colorBuffer, useRGBA) {
46491
+ await fetchLUTForInstance(imageFrame);
46492
+ convertPaletteColor(imageFrame, colorBuffer, useRGBA);
46315
46493
  }
46316
46494
 
46317
46495
  ;// ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/colorSpaceConverters/index.js
@@ -46323,6 +46501,7 @@ function fetchPaletteData(imageFrame, color, fallback) {
46323
46501
 
46324
46502
 
46325
46503
 
46504
+
46326
46505
  ;// ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/imageLoader/wadouri/metaData/getImagePixelModule.js
46327
46506
  function getLutDescriptor(dataSet, tag) {
46328
46507
  if (!dataSet.elements[tag] || dataSet.elements[tag].length !== 6) {
@@ -47864,7 +48043,7 @@ function convertColorSpace(imageFrame, colorBuffer, useRGBA) {
47864
48043
  convertRGBColorByPixel(imageFrame.pixelData, colorBuffer, useRGBA);
47865
48044
  }
47866
48045
  else if (imageFrame.photometricInterpretation === 'PALETTE COLOR') {
47867
- convertPALETTECOLOR(imageFrame, colorBuffer, useRGBA);
48046
+ convertPaletteColor(imageFrame, colorBuffer, useRGBA);
47868
48047
  }
47869
48048
  else if (imageFrame.photometricInterpretation === 'YBR_FULL_422') {
47870
48049
  convertYBRFull422ByPixel(imageFrame.pixelData, colorBuffer, useRGBA);
@@ -48141,8 +48320,9 @@ function setPixelDataType(imageFrame) {
48141
48320
 
48142
48321
 
48143
48322
 
48323
+
48144
48324
  let lastImageIdDrawn = '';
48145
- function createImage(imageId, pixelData, transferSyntax, options = {}) {
48325
+ async function createImage(imageId, pixelData, transferSyntax, options = {}) {
48146
48326
  const useRGBA = options.useRGBA;
48147
48327
  options.preScale = {
48148
48328
  enabled: options.preScale && options.preScale.enabled !== undefined
@@ -48157,6 +48337,14 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
48157
48337
  const imageFrame = imageLoader_getImageFrame(imageId);
48158
48338
  imageFrame.decodeLevel = options.decodeLevel;
48159
48339
  options.allowFloatRendering = (0,esm.canRenderFloatTextures)();
48340
+ let redData, greenData, blueData;
48341
+ if (imageFrame.photometricInterpretation === 'PALETTE COLOR') {
48342
+ [redData, greenData, blueData] = await Promise.all([
48343
+ fetchPaletteData(imageFrame, 'red', null),
48344
+ fetchPaletteData(imageFrame, 'green', null),
48345
+ fetchPaletteData(imageFrame, 'blue', null),
48346
+ ]);
48347
+ }
48160
48348
  if (options.preScale.enabled) {
48161
48349
  const scalingParameters = getScalingParameters(esm.metaData, imageId);
48162
48350
  if (scalingParameters) {
@@ -48216,6 +48404,11 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
48216
48404
  const sopCommonModule = esm.metaData.get(MetadataModules.SOP_COMMON, imageId) || {};
48217
48405
  const calibrationModule = esm.metaData.get(MetadataModules.CALIBRATION, imageId) || {};
48218
48406
  const { rows, columns } = imageFrame;
48407
+ if (imageFrame.photometricInterpretation === 'PALETTE COLOR') {
48408
+ imageFrame.redPaletteColorLookupTableData = redData;
48409
+ imageFrame.greenPaletteColorLookupTableData = greenData;
48410
+ imageFrame.bluePaletteColorLookupTableData = blueData;
48411
+ }
48219
48412
  if (isColorImage) {
48220
48413
  if (isColorConversionRequired(imageFrame)) {
48221
48414
  canvas.height = imageFrame.rows;
@@ -49676,7 +49869,8 @@ const cornerstoneDICOMImageLoader = {
49676
49869
  convertRGBColorByPlane: convertRGBColorByPlane,
49677
49870
  convertYBRFullByPixel: convertYBRFullByPixel,
49678
49871
  convertYBRFullByPlane: convertYBRFullByPlane,
49679
- convertPALETTECOLOR: convertPALETTECOLOR,
49872
+ convertPaletteColor: convertPaletteColor,
49873
+ convertPaletteColorWithFetch: convertPaletteColorWithFetch,
49680
49874
  wadouri: wadouri,
49681
49875
  wadors: wadors,
49682
49876
  init: esm_init,
@@ -72056,15 +72250,18 @@ function fetchPaletteColorLookupTableData(item, tag, descriptorTag) {
72056
72250
  return _getPaletteColor(item[tag], item[descriptorTag]);
72057
72251
  }
72058
72252
  function _getPaletteColor(paletteColorLookupTableData, lutDescriptor) {
72059
- const numLutEntries = lutDescriptor[0];
72060
- const bits = lutDescriptor[2];
72253
+ // DICOM standard says to use 64k instead of 0 as 64k isn't specifiable in
72254
+ // 2 bytes.
72255
+ const numLutEntries = lutDescriptor[0] || 65536;
72256
+ const bitsAllocated = lutDescriptor[2];
72061
72257
  if (!paletteColorLookupTableData) {
72062
72258
  return undefined;
72063
72259
  }
72064
72260
  const arrayBufferToPaletteColorLUT = arraybuffer => {
72065
72261
  // Handle both ArrayBuffer and TypedArray inputs
72066
72262
  const buffer = arraybuffer.buffer || arraybuffer;
72067
- const data = bits === 16 ? new Uint16Array(buffer) : new Uint8Array(buffer);
72263
+ // See note in PS3.3 C7.6.3.1.5 around 8 bit data encoded as 16 bit
72264
+ const data = buffer.byteLength === 2 * numLutEntries || bitsAllocated > 8 ? new Uint16Array(buffer) : new Uint8Array(buffer);
72068
72265
  const lut = [];
72069
72266
  for (let i = 0; i < numLutEntries; i++) {
72070
72267
  lut[i] = data[i];
@@ -72083,6 +72280,10 @@ function _getPaletteColor(paletteColorLookupTableData, lutDescriptor) {
72083
72280
  return undefined;
72084
72281
  }
72085
72282
  }
72283
+ const arrayPalette = Array.isArray(paletteColorLookupTableData) ? paletteColorLookupTableData[0] : paletteColorLookupTableData;
72284
+ if (arrayPalette instanceof ArrayBuffer) {
72285
+ return paletteColorLookupTableData.palette = arrayBufferToPaletteColorLUT(arrayPalette);
72286
+ }
72086
72287
  if (paletteColorLookupTableData.retrieveBulkData) {
72087
72288
  return paletteColorLookupTableData.retrieveBulkData().then(val => paletteColorLookupTableData.palette = arrayBufferToPaletteColorLUT(val));
72088
72289
  }
@@ -79643,7 +79844,7 @@ const detectionOptions = {
79643
79844
  }
79644
79845
  });
79645
79846
  ;// ../../i18n/package.json
79646
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.13.0-beta.21"}');
79847
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.13.0-beta.23"}');
79647
79848
  ;// ../../i18n/src/utils.js
79648
79849
  const languagesMap = {
79649
79850
  ar: 'Arabic',
@@ -215860,7 +216061,6 @@ SegmentationSegments.displayName = 'SegmentationTable.Segments';
215860
216061
 
215861
216062
 
215862
216063
 
215863
-
215864
216064
  const SegmentationTableConfig = ({
215865
216065
  children
215866
216066
  }) => {
@@ -215888,6 +216088,7 @@ const SegmentationTableConfig = ({
215888
216088
  if (!data?.length) {
215889
216089
  return null;
215890
216090
  }
216091
+ const dataCyTypeSuffix = segmentationRepresentationTypes ? `-${segmentationRepresentationTypes[0]}` : '';
215891
216092
  return /*#__PURE__*/react.createElement("div", {
215892
216093
  className: "bg-muted mb-0.5 space-y-2 rounded-b px-1.5 pt-0.5 pb-3"
215893
216094
  }, /*#__PURE__*/react.createElement("div", {
@@ -215957,41 +216158,41 @@ const SegmentationTableConfig = ({
215957
216158
  className: "my-2 flex items-center"
215958
216159
  }, /*#__PURE__*/react.createElement(Label_Label, {
215959
216160
  className: "text-muted-foreground w-14 flex-none whitespace-nowrap text-xs"
215960
- }, t('Opacity')), /*#__PURE__*/react.createElement(Slider_Slider, {
216161
+ }, t('Opacity')), /*#__PURE__*/react.createElement("div", {
215961
216162
  className: "mx-1 flex-1",
215962
- value: [fillAlpha],
215963
- onValueChange: ([value]) => setFillAlpha({
215964
- type: segmentationRepresentationTypes?.[0]
215965
- }, value),
215966
- max: 1,
216163
+ "data-cy": `segmentation-config-opacity${dataCyTypeSuffix}`
216164
+ }, /*#__PURE__*/react.createElement(components_Numeric.Container, {
216165
+ mode: "singleRange",
215967
216166
  min: 0,
215968
- step: 0.1
215969
- }), /*#__PURE__*/react.createElement(Input, {
215970
- className: "mx-1 w-10 flex-none",
216167
+ max: 1,
216168
+ step: 0.1,
215971
216169
  value: fillAlpha,
215972
- onChange: e => setFillAlpha({
216170
+ onChange: value => setFillAlpha({
215973
216171
  type: segmentationRepresentationTypes?.[0]
215974
- }, Number(e.target.value))
215975
- })), /*#__PURE__*/react.createElement("div", {
216172
+ }, value)
216173
+ }, /*#__PURE__*/react.createElement(components_Numeric.SingleRange, {
216174
+ showNumberInput: true,
216175
+ numberInputClassName: "w-10 text-center"
216176
+ })))), /*#__PURE__*/react.createElement("div", {
215976
216177
  className: "my-2 flex items-center"
215977
216178
  }, /*#__PURE__*/react.createElement(Label_Label, {
215978
216179
  className: "text-muted-foreground w-14 flex-none whitespace-nowrap text-xs"
215979
- }, t('Border')), /*#__PURE__*/react.createElement(Slider_Slider, {
215980
- value: [outlineWidth],
215981
- onValueChange: ([value]) => setOutlineWidth({
215982
- type: segmentationRepresentationTypes?.[0]
215983
- }, value),
215984
- max: 10,
216180
+ }, t('Border')), /*#__PURE__*/react.createElement("div", {
216181
+ className: "mx-1 flex-1",
216182
+ "data-cy": `segmentation-config-border${dataCyTypeSuffix}`
216183
+ }, /*#__PURE__*/react.createElement(components_Numeric.Container, {
216184
+ mode: "singleRange",
215985
216185
  min: 0,
216186
+ max: 10,
215986
216187
  step: 0.1,
215987
- className: "mx-1 flex-1"
215988
- }), /*#__PURE__*/react.createElement(Input, {
215989
216188
  value: outlineWidth,
215990
- onChange: e => setOutlineWidth({
216189
+ onChange: value => setOutlineWidth({
215991
216190
  type: segmentationRepresentationTypes?.[0]
215992
- }, Number(e.target.value)),
215993
- className: "mx-1 w-10 flex-none text-center"
215994
- }))), /*#__PURE__*/react.createElement("div", {
216191
+ }, value)
216192
+ }, /*#__PURE__*/react.createElement(components_Numeric.SingleRange, {
216193
+ showNumberInput: true,
216194
+ numberInputClassName: "w-10 text-center"
216195
+ }))))), /*#__PURE__*/react.createElement("div", {
215995
216196
  className: "border-input w-full border"
215996
216197
  }), /*#__PURE__*/react.createElement("div", {
215997
216198
  className: "my-2 flex items-center pl-1"
@@ -216004,18 +216205,20 @@ const SegmentationTableConfig = ({
216004
216205
  className: "my-2 flex items-center"
216005
216206
  }, /*#__PURE__*/react.createElement(Label_Label, {
216006
216207
  className: "text-muted-foreground w-14 flex-none whitespace-nowrap text-xs"
216007
- }, t('Opacity')), /*#__PURE__*/react.createElement(Slider_Slider, {
216208
+ }, t('Opacity')), /*#__PURE__*/react.createElement("div", {
216008
216209
  className: "mx-1 flex-1",
216009
- value: [fillAlphaInactive],
216010
- onValueChange: ([value]) => setFillAlphaInactive({}, value),
216011
- max: 1,
216210
+ "data-cy": `segmentation-config-opacity-inactive${dataCyTypeSuffix}`
216211
+ }, /*#__PURE__*/react.createElement(components_Numeric.Container, {
216212
+ mode: "singleRange",
216012
216213
  min: 0,
216013
- step: 0.1
216014
- }), /*#__PURE__*/react.createElement(Input, {
216015
- className: "mx-1 w-10 flex-none",
216214
+ max: 1,
216215
+ step: 0.1,
216016
216216
  value: fillAlphaInactive,
216017
- onChange: e => setFillAlphaInactive({}, Number(e.target.value))
216018
- })), children);
216217
+ onChange: value => setFillAlphaInactive({}, value)
216218
+ }, /*#__PURE__*/react.createElement(components_Numeric.SingleRange, {
216219
+ showNumberInput: true,
216220
+ numberInputClassName: "w-10 text-center"
216221
+ })))), children);
216019
216222
  };
216020
216223
  ;// ../../ui-next/src/components/SegmentationTable/AddSegmentRow.tsx
216021
216224
 
@@ -216476,6 +216679,7 @@ const SegmentationTableRoot = props => {
216476
216679
  children,
216477
216680
  showConfig: externalShowConfig,
216478
216681
  selectedSegmentationIdForType,
216682
+ segmentationRepresentationTypes,
216479
216683
  ...contextProps
216480
216684
  } = props;
216481
216685
  const [internalShowConfig, setInternalShowConfig] = (0,react.useState)(false);
@@ -216518,6 +216722,7 @@ const SegmentationTableRoot = props => {
216518
216722
  setInternalShowConfig(!internalShowConfig);
216519
216723
  }
216520
216724
  };
216725
+ const dataCyTypeSuffix = segmentationRepresentationTypes ? `-${segmentationRepresentationTypes[0]}` : '';
216521
216726
  return /*#__PURE__*/react.createElement(SegmentationTableProvider, {
216522
216727
  value: {
216523
216728
  data,
@@ -216534,6 +216739,7 @@ const SegmentationTableRoot = props => {
216534
216739
  activeSegmentation,
216535
216740
  activeRepresentation,
216536
216741
  selectedSegmentationIdForType,
216742
+ segmentationRepresentationTypes,
216537
216743
  ...contextProps,
216538
216744
  setShowConfig: toggleShowConfig
216539
216745
  }
@@ -216542,7 +216748,8 @@ const SegmentationTableRoot = props => {
216542
216748
  }, /*#__PURE__*/react.createElement(PanelSection.Header, {
216543
216749
  className: "flex items-center justify-between"
216544
216750
  }, /*#__PURE__*/react.createElement("span", null, t(title)), hasConfigComponent && /*#__PURE__*/react.createElement("div", {
216545
- className: "ml-auto mr-2"
216751
+ className: "ml-auto mr-2",
216752
+ "data-cy": `segmentation-config-toggle${dataCyTypeSuffix}`
216546
216753
  }, /*#__PURE__*/react.createElement(components_Icons.Settings, {
216547
216754
  className: "text-primary h-4 w-4",
216548
216755
  onClick: e => {
@@ -239708,8 +239915,8 @@ function _sortStringDates(s1, s2, sortModifier) {
239708
239915
 
239709
239916
  // EXTERNAL MODULE: ../../../node_modules/react-dropzone/dist/es/index.js + 4 modules
239710
239917
  var dist_es = __webpack_require__(85252);
239711
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/index.js + 77 modules
239712
- var esm = __webpack_require__(75524);
239918
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/index.js + 79 modules
239919
+ var esm = __webpack_require__(68750);
239713
239920
  ;// ./routes/Local/fileLoader.js
239714
239921
  class FileLoader {
239715
239922
  constructor() {
@@ -240387,35 +240594,35 @@ modes.push("@ohif/mode-ultrasound-pleura-bline");
240387
240594
  async function loadModule(module) {
240388
240595
  if (typeof module !== 'string') return module;
240389
240596
  if (module === "@ohif/extension-default") {
240390
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(9195), __webpack_require__.e(2591)]).then(__webpack_require__.bind(__webpack_require__, 39195));
240597
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(9195), __webpack_require__.e(2591)]).then(__webpack_require__.bind(__webpack_require__, 39195));
240391
240598
  return imported.default;
240392
240599
  }
240393
240600
  if (module === "@ohif/extension-cornerstone") {
240394
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(4972)]).then(__webpack_require__.bind(__webpack_require__, 63081));
240601
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(4972)]).then(__webpack_require__.bind(__webpack_require__, 63081));
240395
240602
  return imported.default;
240396
240603
  }
240397
240604
  if (module === "@ohif/extension-measurement-tracking") {
240398
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(2031), __webpack_require__.e(5261), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(3461), __webpack_require__.e(4819)]).then(__webpack_require__.bind(__webpack_require__, 8877));
240605
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(581), __webpack_require__.e(5261), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(3461), __webpack_require__.e(4819)]).then(__webpack_require__.bind(__webpack_require__, 8877));
240399
240606
  return imported.default;
240400
240607
  }
240401
240608
  if (module === "@ohif/extension-cornerstone-dicom-sr") {
240402
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(2031), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(3461), __webpack_require__.e(7829)]).then(__webpack_require__.bind(__webpack_require__, 93461));
240609
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(581), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(3461), __webpack_require__.e(7829)]).then(__webpack_require__.bind(__webpack_require__, 93461));
240403
240610
  return imported.default;
240404
240611
  }
240405
240612
  if (module === "@ohif/extension-cornerstone-dicom-seg") {
240406
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(2031), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(8305)]).then(__webpack_require__.bind(__webpack_require__, 9099));
240613
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(581), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(8305)]).then(__webpack_require__.bind(__webpack_require__, 9099));
240407
240614
  return imported.default;
240408
240615
  }
240409
240616
  if (module === "@ohif/extension-cornerstone-dicom-pmap") {
240410
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(2031), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(5028)]).then(__webpack_require__.bind(__webpack_require__, 82098));
240617
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(581), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(5028)]).then(__webpack_require__.bind(__webpack_require__, 82098));
240411
240618
  return imported.default;
240412
240619
  }
240413
240620
  if (module === "@ohif/extension-cornerstone-dynamic-volume") {
240414
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(3138)]).then(__webpack_require__.bind(__webpack_require__, 14696));
240621
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(3138)]).then(__webpack_require__.bind(__webpack_require__, 14696));
240415
240622
  return imported.default;
240416
240623
  }
240417
240624
  if (module === "@ohif/extension-dicom-microscopy") {
240418
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(4406), __webpack_require__.e(9195), __webpack_require__.e(1933)]).then(__webpack_require__.bind(__webpack_require__, 6015));
240625
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(4406), __webpack_require__.e(9195), __webpack_require__.e(1933)]).then(__webpack_require__.bind(__webpack_require__, 6015));
240419
240626
  return imported.default;
240420
240627
  }
240421
240628
  if (module === "@ohif/extension-dicom-pdf") {
@@ -240427,19 +240634,19 @@ async function loadModule(module) {
240427
240634
  return imported.default;
240428
240635
  }
240429
240636
  if (module === "@ohif/extension-tmtv") {
240430
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(2031), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(8583)]).then(__webpack_require__.bind(__webpack_require__, 57289));
240637
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(581), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(8583)]).then(__webpack_require__.bind(__webpack_require__, 57289));
240431
240638
  return imported.default;
240432
240639
  }
240433
240640
  if (module === "@ohif/extension-test") {
240434
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(8499)]).then(__webpack_require__.bind(__webpack_require__, 94285));
240641
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(2108), __webpack_require__.e(7431), __webpack_require__.e(9195), __webpack_require__.e(3081), __webpack_require__.e(8499)]).then(__webpack_require__.bind(__webpack_require__, 94285));
240435
240642
  return imported.default;
240436
240643
  }
240437
240644
  if (module === "@ohif/extension-cornerstone-dicom-rt") {
240438
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(8558)]).then(__webpack_require__.bind(__webpack_require__, 78558));
240645
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(8558)]).then(__webpack_require__.bind(__webpack_require__, 78558));
240439
240646
  return imported.default;
240440
240647
  }
240441
240648
  if (module === "@ohif/extension-ultrasound-pleura-bline") {
240442
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(5015)]).then(__webpack_require__.bind(__webpack_require__, 55015));
240649
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(5015)]).then(__webpack_require__.bind(__webpack_require__, 55015));
240443
240650
  return imported.default;
240444
240651
  }
240445
240652
  if (module === "@ohif/mode-longitudinal") {
@@ -240475,7 +240682,7 @@ async function loadModule(module) {
240475
240682
  return imported.default;
240476
240683
  }
240477
240684
  if (module === "@ohif/mode-ultrasound-pleura-bline") {
240478
- const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(6409), __webpack_require__.e(9205), __webpack_require__.e(4507)]).then(__webpack_require__.bind(__webpack_require__, 94507));
240685
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(4287), __webpack_require__.e(933), __webpack_require__.e(2075), __webpack_require__.e(9205), __webpack_require__.e(4507)]).then(__webpack_require__.bind(__webpack_require__, 94507));
240479
240686
  return imported.default;
240480
240687
  }
240481
240688
  if (module === "dicom-microscopy-viewer") {
@@ -395453,7 +395660,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
395453
395660
  /******/ // This function allow to reference async chunks
395454
395661
  /******/ __webpack_require__.u = (chunkId) => {
395455
395662
  /******/ // return url for filenames based on template
395456
- /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"ef705801c1f76c0b6231","147":"15c3dffbc73dab1085f5","213":"ccad84ceab8ee1550a87","572":"41c40b57dd1b265fb425","732":"ea6f9d8504e37e01a208","933":"c8f45e1f380ad5a34e07","1459":"2e54707e8b0441c92529","1608":"7a4a3b49cae10f6ba2cf","1927":"be67b3aafe238ca9f191","1933":"5fc7cc04fa7173ed99f8","2007":"072a28b303f2dbafe05c","2018":"23291da4d4b0999e7d09","2031":"a17bc2d85cef3a9fea57","2108":"f1ef8e8746eb3936bb47","2424":"016d435d2a499d3ac883","2701":"8abdc7f6578c00d4539f","3054":"5b679ce4142c803c80a4","3081":"4827fd9286b00caabfa3","3138":"8f7afbbaffadcbc9a5fc","3461":"10a4215bacbe33fb8833","3694":"6bc9d64acadd16a85f59","4202":"dd592e5575b8e302689a","4287":"571587a1d29d54203175","4406":"573d234b4641d23cf8db","4507":"f14d5e470efb072ee645","4819":"22278e87b9fcfe848657","5015":"36ad9402be736e9c2be3","5028":"6e230efd1a84fbc02f04","5261":"2655560097e9250eac44","5457":"2755c84844d1a15dec0b","5485":"eafdd69f92e6475a5963","5802":"70600f8f701ac920b932","6027":"59ee43ff7d47158aaad7","6409":"24edbaa283b7c521b8f7","6939":"41fbdef87597b5172ec6","7159":"fb9df255868960f69765","7431":"e6f5f5835a3c49e2309c","7639":"ab61d5effce0ec748058","8094":"148a66619607e37cbf19","8305":"4fae34f80d4847a92b75","8499":"a6b181ee4bb1feb500f5","8558":"936313d9744e5fd94f0d","8583":"8e942c4509f38b051b6d","9195":"2b62b5e5603641bfb3e3","9205":"dca4f040999d069f1cc5","9845":"d52e8993eb5cde995219","9862":"4704bce0c5b039dfdec3","9927":"a5605e1bbae457a20feb"}[chunkId] + ".js";
395663
+ /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"058fe8907052935c7ff9","147":"15c3dffbc73dab1085f5","213":"393be8a0d3a201634ac1","572":"f15c8d2cc2559db627cf","581":"2bb402f7316b6e8c735b","732":"ea6f9d8504e37e01a208","933":"a6220d057519db0b7651","1459":"5b7a328ae89a35622205","1608":"7a4a3b49cae10f6ba2cf","1927":"be67b3aafe238ca9f191","1933":"1d1345d08f29ad45a14b","2007":"072a28b303f2dbafe05c","2018":"d6cdff8149ad69a965cc","2075":"a9783d07b48ca241486e","2108":"f1ef8e8746eb3936bb47","2424":"f18df7bc54510ab32a35","2701":"8abdc7f6578c00d4539f","3054":"5b679ce4142c803c80a4","3081":"9342d2003030eb3c9541","3138":"79170d908a4106874093","3461":"9502d3707ecc5d0323c1","3694":"0fa6bd11224eb79e7474","4202":"dd592e5575b8e302689a","4287":"c6bd6cf991e2dae32044","4406":"573d234b4641d23cf8db","4507":"8969b09dd3f576cddfcf","4819":"e581d194b62f08c4eb77","5015":"81781390053c546e29be","5028":"9e63b5082d8856ee41d3","5261":"2655560097e9250eac44","5457":"7bd5092726bacbd503aa","5485":"334868b4aca965dfacf5","5802":"70600f8f701ac920b932","6027":"ac07b32905cbdd321fb5","6939":"41fbdef87597b5172ec6","7159":"fb9df255868960f69765","7431":"8ddbd21f7b2b8528a14a","7639":"78557dd05ae0f5511807","8094":"148a66619607e37cbf19","8305":"301fbc7d0a3183da4f42","8499":"f8ea964333994b9ff842","8558":"7be97925dbf90ed792f9","8583":"93f05da9435c53fa229b","9195":"a49c44d839f09c1190c1","9205":"a37976b4f3ded2cbb2ab","9845":"d52e8993eb5cde995219","9862":"4704bce0c5b039dfdec3","9927":"9e5cecd52ac87d90649e"}[chunkId] + ".js";
395457
395664
  /******/ };
395458
395665
  /******/ })();
395459
395666
  /******/