@ohif/app 3.10.1 → 3.10.2

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 (44) hide show
  1. package/dist/{1919.bundle.6f7de53921f3710a1d54.js → 1919.bundle.6cb4a1f5ea770e504398.js} +2 -2
  2. package/dist/{1927.bundle.83810560c4d3a90eb7cf.js → 1927.bundle.5c25b9084f704a3582d2.js} +1 -1
  3. package/dist/{3396.bundle.858cfdfc5ab560840958.js → 2482.bundle.0947bc67ad4429d5fda3.js} +289 -1353
  4. package/dist/{2701.bundle.f1f15df81406d04851c4.js → 2701.bundle.87301d8d94693b5d5fcc.js} +2 -2
  5. package/dist/{2860.bundle.5d93c30e2df60e382bda.js → 2860.bundle.130f5c83c90c83017101.js} +1368 -28
  6. package/dist/{2914.bundle.a0a5ddfebfc9d429063d.js → 2914.bundle.adefec5b51b4955af1f9.js} +2 -0
  7. package/dist/{2932.bundle.038f79dbbfdd9d1f387b.js → 2932.bundle.2757ab993a28dab49d56.js} +2 -2
  8. package/dist/{3075.bundle.0624f6bf3f676f30d1b5.js → 3075.bundle.5d83563c3791a0d884df.js} +16 -3
  9. package/dist/{3353.bundle.184ebb9668df2cbebd26.js → 3353.bundle.1b2d3da25de70f5f1042.js} +33 -4
  10. package/dist/{3984.bundle.592161af4b618c9dd56f.js → 3984.bundle.1248e382e82ee04eff72.js} +12 -7
  11. package/dist/{4113.bundle.7ec6da0eb1ab98e1b791.js → 4113.bundle.1a3202dd6a1b2e6b9d5d.js} +5 -5
  12. package/dist/{4526.bundle.fbdd617a934353019be3.js → 4526.bundle.54c0b8f753ed5c39f6c5.js} +2 -2
  13. package/dist/{6029.bundle.43e04238ac01880fa66c.js → 6029.bundle.a4206e2a2e75c7b1ad7b.js} +238 -40
  14. package/dist/{6066.bundle.345453ace06e86bc481c.js → 6066.bundle.89df990e4f257e8ac73b.js} +1466 -39
  15. package/dist/{6201.bundle.e0d8d1c967a9daed4662.js → 6201.bundle.b584d7554570344d9170.js} +4 -4
  16. package/dist/{7197.bundle.a9c6429f2859a8feeded.js → 7197.bundle.2032eea26c084877d172.js} +3 -3
  17. package/dist/{810.bundle.86ba4f6f1311ccc28d41.js → 810.bundle.8b29de53f9632f0f1bf9.js} +4 -4
  18. package/dist/{8185.bundle.b2252d9ff14ce760df9c.js → 8185.bundle.c7e0ab58fa8f7070de26.js} +22 -16
  19. package/dist/{8558.bundle.5b67110ba3e66f5525ae.js → 8558.bundle.24bb90c2d5a0857577c5.js} +1 -1
  20. package/dist/{7241.bundle.7097a0cd314605d766f5.js → 8572.bundle.bd98ac784dae1e224a52.js} +135 -47
  21. package/dist/{3166.bundle.40162f1d9f9f5fc16b16.js → 908.bundle.7f901ab4610793bb5ee3.js} +29 -5
  22. package/dist/{934.bundle.c446dfb396152899756f.js → 934.bundle.441c775536d8be5029af.js} +2 -2
  23. package/dist/{963.bundle.88152346007c0f5049a3.js → 963.bundle.4b88a54196fdd1976d6c.js} +2 -2
  24. package/dist/{9890.bundle.37d7ed265c0454337a57.js → 9890.bundle.b4c265e3609512785ae8.js} +2 -2
  25. package/dist/{9977.bundle.071821200c1921021d29.js → 9977.bundle.4f44190c1a5d6a69bc00.js} +3 -1
  26. package/dist/{app.bundle.d09601053966ecdcfe4b.js → app.bundle.223c009cd6f636320f76.js} +2148 -1758
  27. package/dist/app.bundle.css +2 -2
  28. package/dist/{compute.bundle.f0c30502c027d04e94f2.js → compute.bundle.83a75c96620eedca973e.js} +3 -3
  29. package/dist/index.html +1 -1
  30. package/dist/{polySeg.bundle.7445d00e1e9ef623d0f1.js → polySeg.bundle.30f6f13491f48e597605.js} +3 -3
  31. package/dist/sw.js +1 -1
  32. package/package.json +19 -19
  33. /package/dist/{1459.bundle.4b6682c8673e199edf64.js → 1459.bundle.ea2023918c1ef217d23a.js} +0 -0
  34. /package/dist/{1807.bundle.e8c6890ca68e62f46990.js → 1807.bundle.a04f3486b00cdcc6a305.js} +0 -0
  35. /package/dist/{213.bundle.d8495e69f1d1405d0356.js → 213.bundle.e861b773d4779d7d724a.js} +0 -0
  36. /package/dist/{2424.bundle.ef98022039ea6e87cfd9.js → 2424.bundle.425cb2260521f2a23f70.js} +0 -0
  37. /package/dist/{3658.bundle.04fdfe11b9d38cd5f3c6.js → 3658.bundle.a6a9c2e1b32d92e3b621.js} +0 -0
  38. /package/dist/{6027.bundle.155cbff7fa97c7ede627.js → 6027.bundle.8e1b6021f0d570eb85f5.js} +0 -0
  39. /package/dist/{7639.bundle.a659acbf2ab7f3f2e8f4.js → 7639.bundle.b622eafdc74d9bfc1280.js} +0 -0
  40. /package/dist/{8228.bundle.74c8ca5e66a44db80464.js → 8228.bundle.f520ecf3c0a8998e770a.js} +0 -0
  41. /package/dist/{85.bundle.e65ed829e1a136e33576.js → 85.bundle.a27a1466f85e01adf8e8.js} +0 -0
  42. /package/dist/{8815.bundle.c8a97b220635e9b15109.js → 8815.bundle.096958a5ae7253911a2e.js} +0 -0
  43. /package/dist/{9026.bundle.eb2ae9e2311a6a620751.js → 9026.bundle.019d8b4b70096b94302e.js} +0 -0
  44. /package/dist/{9862.bundle.87d8249a9cf1d8cf579d.js → 9862.bundle.b0ea941458506379f666.js} +0 -0
@@ -1940,6 +1940,7 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
1940
1940
  const locked = (0,_stateManagement_annotation_annotationLocking__WEBPACK_IMPORTED_MODULE_3__.isAnnotationLocked)(annotationUID);
1941
1941
  const lineWidth = getStyle('lineWidth');
1942
1942
  const lineDash = getStyle('lineDash');
1943
+ const angleArcLineDash = getStyle('angleArcLineDash');
1943
1944
  const color = getStyle('color');
1944
1945
  const markerSize = getStyle('markerSize');
1945
1946
  const shadow = getStyle('shadow');
@@ -1956,6 +1957,7 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
1956
1957
  shadow,
1957
1958
  textbox: textboxStyle,
1958
1959
  markerSize,
1960
+ angleArcLineDash,
1959
1961
  };
1960
1962
  }
1961
1963
  _imagePointNearToolOrHandle(element, annotation, canvasCoords, proximity) {
@@ -1302,8 +1302,8 @@ function _createGetImageSrcFromImageIdFn(extensionManager) {
1302
1302
  }
1303
1303
  }
1304
1304
  /* harmony default export */ const panels_PanelStudyBrowserTracking = (WrappedPanelStudyBrowserTracking);
1305
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 134 modules
1306
- var cornerstone_src = __webpack_require__(7241);
1305
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 135 modules
1306
+ var cornerstone_src = __webpack_require__(78572);
1307
1307
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx
1308
1308
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
1309
1309
 
@@ -5466,10 +5466,22 @@ class ColorbarTicks {
5466
5466
  return { labelPoint, tickPoints };
5467
5467
  }
5468
5468
  _getTopTickInfo({ position, labelMeasure }) {
5469
- throw new Error('Not implemented');
5469
+ const { height } = this._canvas;
5470
+ const labelY = height - this.tickSize - this._labelMargin;
5471
+ const labelPoint = [position, labelY];
5472
+ const tickPoints = {
5473
+ start: [position, height - this._tickSize],
5474
+ end: [position, height],
5475
+ };
5476
+ return { labelPoint, tickPoints };
5470
5477
  }
5471
5478
  _getBottomTickInfo({ position, labelMeasure }) {
5472
- throw new Error('Not implemented');
5479
+ const labelPoint = [position, this._tickSize + this._labelMargin];
5480
+ const tickPoints = {
5481
+ start: [position, 0],
5482
+ end: [position, this._tickSize],
5483
+ };
5484
+ return { labelPoint, tickPoints };
5473
5485
  }
5474
5486
  render() {
5475
5487
  const { _canvas: canvas } = this;
@@ -5488,7 +5500,8 @@ class ColorbarTicks {
5488
5500
  const { ticks } = this._getTicks(range);
5489
5501
  canvasContext.clearRect(0, 0, width, height);
5490
5502
  canvasContext.font = this._font;
5491
- canvasContext.textBaseline = 'middle';
5503
+ canvasContext.textBaseline = isHorizontal ? 'top' : 'middle';
5504
+ canvasContext.textAlign = isHorizontal ? 'center' : 'left';
5492
5505
  canvasContext.fillStyle = this._color;
5493
5506
  canvasContext.strokeStyle = this._color;
5494
5507
  canvasContext.lineWidth = this.tickWidth;
@@ -3768,7 +3768,18 @@ async function decodeLittleEndian(imageFrame, pixelData) {
3768
3768
  arrayBuffer = arrayBuffer.slice(offset);
3769
3769
  offset = 0;
3770
3770
  }
3771
- imageFrame.pixelData = new Float32Array(arrayBuffer, offset, length / 4);
3771
+ if (imageFrame.floatPixelData || imageFrame.doubleFloatPixelData) {
3772
+ throw new Error('Float pixel data is not supported for parsing into ImageFrame');
3773
+ }
3774
+ if (imageFrame.pixelRepresentation === 0) {
3775
+ imageFrame.pixelData = new Uint32Array(arrayBuffer, offset, length / 4);
3776
+ }
3777
+ else if (imageFrame.pixelRepresentation === 1) {
3778
+ imageFrame.pixelData = new Int32Array(arrayBuffer, offset, length / 4);
3779
+ }
3780
+ else {
3781
+ imageFrame.pixelData = new Float32Array(arrayBuffer, offset, length / 4);
3782
+ }
3772
3783
  }
3773
3784
  return imageFrame;
3774
3785
  }
@@ -4382,7 +4393,7 @@ function decodeHTJ2K_getPixelData(frameInfo, decodedBuffer) {
4382
4393
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/esm/shared/scaling/scaleArray.js
4383
4394
  function scaleArray(array, scalingParameters) {
4384
4395
  const arrayLength = array.length;
4385
- const { rescaleSlope, rescaleIntercept, suvbw } = scalingParameters;
4396
+ const { rescaleSlope, rescaleIntercept, suvbw, doseGridScaling } = scalingParameters;
4386
4397
  if (scalingParameters.modality === 'PT' &&
4387
4398
  typeof suvbw === 'number' &&
4388
4399
  !isNaN(suvbw)) {
@@ -4390,6 +4401,13 @@ function scaleArray(array, scalingParameters) {
4390
4401
  array[i] = suvbw * (array[i] * rescaleSlope + rescaleIntercept);
4391
4402
  }
4392
4403
  }
4404
+ else if (scalingParameters.modality === 'RTDOSE' &&
4405
+ typeof doseGridScaling === 'number' &&
4406
+ !isNaN(doseGridScaling)) {
4407
+ for (let i = 0; i < arrayLength; i++) {
4408
+ array[i] = array[i] * doseGridScaling;
4409
+ }
4410
+ }
4393
4411
  else {
4394
4412
  for (let i = 0; i < arrayLength; i++) {
4395
4413
  array[i] = array[i] * rescaleSlope + rescaleIntercept;
@@ -4430,6 +4448,7 @@ const typedArrayConstructors = {
4430
4448
  Uint16Array,
4431
4449
  Int16Array,
4432
4450
  Float32Array,
4451
+ Uint32Array,
4433
4452
  };
4434
4453
  function postProcessDecodedPixels(imageFrame, options, start, decodeConfig) {
4435
4454
  const shouldShift = imageFrame.pixelRepresentation !== undefined &&
@@ -4476,8 +4495,8 @@ function postProcessDecodedPixels(imageFrame, options, start, decodeConfig) {
4476
4495
  const scalingParameters = options.preScale.scalingParameters;
4477
4496
  _validateScalingParameters(scalingParameters);
4478
4497
  const { rescaleSlope, rescaleIntercept } = scalingParameters;
4479
- const isSlopeAndInterceptNumbers = typeof rescaleSlope === 'number' && typeof rescaleIntercept === 'number';
4480
- if (isSlopeAndInterceptNumbers) {
4498
+ const isRequiredScaling = _isRequiredScaling(scalingParameters);
4499
+ if (isRequiredScaling) {
4481
4500
  scaleArray(pixelDataArray, scalingParameters);
4482
4501
  imageFrame.preScale = {
4483
4502
  ...options.preScale,
@@ -4507,6 +4526,13 @@ function postProcessDecodedPixels(imageFrame, options, start, decodeConfig) {
4507
4526
  imageFrame.decodeTimeInMS = end - start;
4508
4527
  return imageFrame;
4509
4528
  }
4529
+ function _isRequiredScaling(scalingParameters) {
4530
+ const { rescaleSlope, rescaleIntercept, modality, doseGridScaling, suvbw } = scalingParameters;
4531
+ const hasRescaleValues = typeof rescaleSlope === 'number' && typeof rescaleIntercept === 'number';
4532
+ const isRTDOSEWithScaling = modality === 'RTDOSE' && typeof doseGridScaling === 'number';
4533
+ const isPTWithSUV = modality === 'PT' && typeof suvbw === 'number';
4534
+ return hasRescaleValues || isRTDOSEWithScaling || isPTWithSUV;
4535
+ }
4510
4536
  function _handleTargetBuffer(options, imageFrame, typedArrayConstructors, pixelDataArray) {
4511
4537
  const { arrayBuffer, type, offset: rawOffset = 0, length: rawLength, rows, } = options.targetBuffer;
4512
4538
  const TypedArrayConstructor = typedArrayConstructors[type];
@@ -4723,6 +4749,9 @@ function getPixelDataTypeFromMinMax(min, max) {
4723
4749
  else if (max <= 65535) {
4724
4750
  pixelDataType = Uint16Array;
4725
4751
  }
4752
+ else if (max <= 4294967295) {
4753
+ pixelDataType = Uint32Array;
4754
+ }
4726
4755
  }
4727
4756
  else {
4728
4757
  if (min >= -128 && max <= 127) {
@@ -670,6 +670,7 @@ __webpack_require__.d(__webpack_exports__, {
670
670
  MoreDropdownMenu: () => (/* reexport */ MoreDropdownMenu/* default */.A),
671
671
  PanelStudyBrowserHeader: () => (/* reexport */ PanelStudyBrowserHeader/* PanelStudyBrowserHeader */.T),
672
672
  StaticWadoClient: () => (/* reexport */ StaticWadoClient),
673
+ Toolbar: () => (/* reexport */ Toolbar),
673
674
  Toolbox: () => (/* reexport */ Toolbox),
674
675
  callInputDialog: () => (/* reexport */ callInputDialog),
675
676
  callInputDialogAutoComplete: () => (/* reexport */ callInputDialogAutoComplete),
@@ -3887,7 +3888,7 @@ const collapsedInsideBorderSize = 4;
3887
3888
  const collapsedOutsideBorderSize = 4;
3888
3889
  const collapsedWidth = 25;
3889
3890
  const rightPanelInitialExpandedWidth = 280;
3890
- const leftPanelInitialExpandedWidth = 292;
3891
+ const leftPanelInitialExpandedWidth = 282;
3891
3892
  const panelGroupDefinition = {
3892
3893
  groupId: 'viewerLayoutResizablePanelGroup',
3893
3894
  shared: {
@@ -6250,6 +6251,7 @@ class ContextMenuController {
6250
6251
  this.services.uiDialogService.hide('context-menu');
6251
6252
  this.services.uiDialogService.show({
6252
6253
  id: 'context-menu',
6254
+ showOverlay: false,
6253
6255
  defaultPosition: ContextMenuController._getDefaultPosition(defaultPointsPosition, event?.detail || event, viewportElement),
6254
6256
  content: ContextMenu,
6255
6257
  shouldCloseOnEsc: true,
@@ -6732,7 +6734,7 @@ const DicomTagBrowser = ({
6732
6734
  }, /*#__PURE__*/react.createElement("div", {
6733
6735
  className: "flex w-1/3 flex-col"
6734
6736
  }, /*#__PURE__*/react.createElement("span", {
6735
- className: "text-muted-foreground flex h-6 items-center text-xs"
6737
+ className: "text-muted-foreground flex h-6 items-center pb-2 text-base"
6736
6738
  }, "Series"), /*#__PURE__*/react.createElement(ui_next_src/* Select */.l6P, {
6737
6739
  value: selectedDisplaySetInstanceUID,
6738
6740
  onValueChange: value => onSelectChange({
@@ -6748,7 +6750,7 @@ const DicomTagBrowser = ({
6748
6750
  })))), shouldShowInstanceList && /*#__PURE__*/react.createElement("div", {
6749
6751
  className: "mx-auto mt-0.5 flex w-1/4 flex-col"
6750
6752
  }, /*#__PURE__*/react.createElement("span", {
6751
- className: "text-muted-foreground flex h-6 items-center text-xs"
6753
+ className: "text-muted-foreground flex h-6 items-center pb-2 text-base"
6752
6754
  }, "Instance Number (", instanceNumber, " of ", activeDisplaySet?.images?.length, ")"), /*#__PURE__*/react.createElement(ui_next_src/* Slider */.Apm, {
6753
6755
  value: [instanceNumber],
6754
6756
  onValueChange: ([value]) => {
@@ -6761,14 +6763,16 @@ const DicomTagBrowser = ({
6761
6763
  })), /*#__PURE__*/react.createElement("div", {
6762
6764
  className: "ml-auto mr-1 flex w-1/3 flex-col"
6763
6765
  }, /*#__PURE__*/react.createElement("span", {
6764
- className: "text-muted-foreground flex h-6 items-center text-xs"
6766
+ className: "text-muted-foreground flex h-6 items-center pb-2 text-base"
6765
6767
  }, "Search metadata"), /*#__PURE__*/react.createElement(ui_next_src/* InputFilter */.zbB, {
6766
6768
  className: "text-muted-foreground",
6767
6769
  onChange: setFilterValue
6768
6770
  }, /*#__PURE__*/react.createElement(ui_next_src/* InputFilter */.zbB.SearchIcon, null), /*#__PURE__*/react.createElement(ui_next_src/* InputFilter */.zbB.Input, {
6769
6771
  placeholder: "Search metadata",
6770
6772
  className: "pl-9 pr-9"
6771
- }), /*#__PURE__*/react.createElement(ui_next_src/* InputFilter */.zbB.ClearButton, null))))), /*#__PURE__*/react.createElement(DicomTagBrowser_DicomTagTable, {
6773
+ }), /*#__PURE__*/react.createElement(ui_next_src/* InputFilter */.zbB.ClearButton, {
6774
+ className: "text-primary mr-0.5 p-0.5"
6775
+ }))))), /*#__PURE__*/react.createElement(DicomTagBrowser_DicomTagTable, {
6772
6776
  rows: filteredRows
6773
6777
  }));
6774
6778
  };
@@ -10260,8 +10264,8 @@ function AboutModalDefault() {
10260
10264
  name
10261
10265
  } = (0,browser_detect_es5/* default */.A)();
10262
10266
  const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
10263
- const versionNumber = "3.10.1";
10264
- const commitHash = "aaba8bf1b04be6c00a88f1f5f29cb24133b0c39e";
10267
+ const versionNumber = "3.10.2";
10268
+ const commitHash = "36813e0c2f1ea48953714e8e48aff6e9d4516449";
10265
10269
  const [main, beta] = versionNumber.split('-');
10266
10270
  return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VTU, {
10267
10271
  className: "w-[400px]"
@@ -11531,6 +11535,7 @@ var MoreDropdownMenu = __webpack_require__(52675);
11531
11535
 
11532
11536
 
11533
11537
 
11538
+
11534
11539
 
11535
11540
 
11536
11541
  const defaultExtension = {
@@ -11,7 +11,7 @@
11
11
  /* harmony export */ sh: () => (/* binding */ SCOORDTypes)
12
12
  /* harmony export */ });
13
13
  /* unused harmony export RelationshipType */
14
- /* harmony import */ var _cornerstonejs_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59874);
14
+ /* harmony import */ var _cornerstonejs_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93468);
15
15
 
16
16
  const {
17
17
  CodeScheme: Cornerstone3DCodeScheme
@@ -75,10 +75,10 @@ __webpack_require__.d(__webpack_exports__, {
75
75
  var react = __webpack_require__(86326);
76
76
  // EXTERNAL MODULE: ../../core/src/index.ts + 69 modules
77
77
  var src = __webpack_require__(62037);
78
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 134 modules
79
- var cornerstone_src = __webpack_require__(7241);
80
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 64 modules
81
- var esm = __webpack_require__(59874);
78
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 135 modules
79
+ var cornerstone_src = __webpack_require__(78572);
80
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 65 modules
81
+ var esm = __webpack_require__(93468);
82
82
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
83
83
  var dist_esm = __webpack_require__(4667);
84
84
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
@@ -142,8 +142,8 @@ function _getStatusComponent({
142
142
  side: "bottom"
143
143
  }, /*#__PURE__*/react.createElement(ToolTipMessage, null))), !ToolTipMessage && /*#__PURE__*/react.createElement(StatusArea, null));
144
144
  }
145
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 134 modules
146
- var cornerstone_src = __webpack_require__(7241);
145
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 135 modules
146
+ var cornerstone_src = __webpack_require__(78572);
147
147
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js + 2 modules
148
148
  var enums = __webpack_require__(99737);
149
149
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/viewports/OHIFCornerstoneSEGViewport.tsx