@ohif/app 3.9.0-beta.10 → 3.9.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/{117.bundle.a80b1511ef4b302fb7cc.js → 117.bundle.58f96ac1d52fd08db5c2.js} +49 -15
  2. package/dist/{164.bundle.1da1cadb56951caef1d6.js → 164.bundle.db5eee347be4e24f6fdd.js} +315 -41
  3. package/dist/{236.bundle.4ca7987e1d57f60ec13a.js → 236.bundle.e128a6f4c3e4600c55b0.js} +376 -52
  4. package/dist/{342.bundle.340982440de15f540a89.js → 342.bundle.8da40c53fe26b492a0a1.js} +7 -0
  5. package/dist/{473.bundle.6cd4be953853f35b29c3.js → 367.bundle.da5db5b510b537e43888.js} +278 -29
  6. package/dist/{806.bundle.50e039eb624382ee1fce.js → 370.bundle.d009a20516eae7c98921.js} +77 -9
  7. package/dist/{390.bundle.cc22afb1fbd172483685.js → 390.bundle.41fd0a538167790d9d47.js} +2 -2
  8. package/dist/{483.bundle.a353efc5a5dd563c903c.js → 483.bundle.67e9abdcf23262c94606.js} +16 -3
  9. package/dist/{35.bundle.0168d78bfad0cb784112.js → 501.bundle.d5262ba2d61a134e80f9.js} +739 -244
  10. package/dist/{550.bundle.5eeb4aafe96a3638b37e.js → 550.bundle.a716f910818556a3fe25.js} +1 -0
  11. package/dist/{722.bundle.2547630541b670f10d6e.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
  12. package/dist/{889.bundle.f82b6f155026ad1ac1a6.js → 889.bundle.452d430a2de1befbb4b6.js} +1 -1
  13. package/dist/{app.bundle.218eab530840339a9b1d.js → app.bundle.4aad780d7de60fbea88c.js} +420 -218
  14. package/dist/index.html +1 -1
  15. package/dist/{polySeg.bundle.1799686b019040500219.js → polySeg.bundle.e577ad8d051493b01ed8.js} +3 -3
  16. package/dist/{suv-peak-worker.bundle.25f8b85eab9ec06da48d.js → suv-peak-worker.bundle.63bd26cc0f6f37ade9c9.js} +3 -3
  17. package/dist/sw.js +1 -1
  18. package/package.json +20 -19
  19. /package/dist/{243.bundle.1f9a962620b0bf56e1f2.js → 243.bundle.d1aebc1b37fbc79b4efa.js} +0 -0
  20. /package/dist/{325.bundle.f66ce293e4da43b8265a.js → 325.bundle.b9562b2d87395c98c6fd.js} +0 -0
  21. /package/dist/{448.bundle.5217fef3c97aa24f372a.js → 448.bundle.8cc61deda2bc80acba01.js} +0 -0
  22. /package/dist/{487.bundle.06bb8192c2549a477d98.js → 487.bundle.95038d078cb68e2ef2fb.js} +0 -0
  23. /package/dist/{544.bundle.e8227e98860e39636a00.js → 544.bundle.4d1fb477b572f50f4220.js} +0 -0
  24. /package/dist/{574.bundle.72bd5061ccd504235419.js → 574.bundle.a09bcafd228eaa261546.js} +0 -0
  25. /package/dist/{682.bundle.f411ab56eccea1d22d8f.js → 682.bundle.a1fa16d4d12332743a01.js} +0 -0
  26. /package/dist/{699.bundle.50f53a876d7f6add8bd3.js → 699.bundle.ce1da733d32e72f233dc.js} +0 -0
  27. /package/dist/{721.bundle.8866191388a953936146.js → 721.bundle.24b04bc522eb42eed661.js} +0 -0
  28. /package/dist/{776.bundle.016de692163e683cc11a.js → 776.bundle.4b13326929e972f1b556.js} +0 -0
  29. /package/dist/{783.bundle.ca757d64c5a3fe609b3c.js → 783.bundle.82c773591d704fd43704.js} +0 -0
  30. /package/dist/{862.bundle.55dde21bab4c841b6259.js → 862.bundle.1380dc65a7782ec98457.js} +0 -0
  31. /package/dist/{905.bundle.7a8e7c20922db4f85e70.js → 905.bundle.7cdf93c8dcb4a64cf85a.js} +0 -0
  32. /package/dist/{907.bundle.db37949266a9b79c12b8.js → 907.bundle.770adbc99f6c80f17ab2.js} +0 -0
  33. /package/dist/{94.bundle.43efc46965f713884e2c.js → 94.bundle.830180a268276294cb20.js} +0 -0
  34. /package/dist/{961.bundle.e8b0b51dad251e90be8c.js → 961.bundle.ebc13fc1dd54a0a4c577.js} +0 -0
  35. /package/dist/{981.bundle.4fab5871bfc81cfadcda.js → 981.bundle.acde3b12915e455d660c.js} +0 -0
  36. /package/dist/{989.bundle.9155edb5aee01580a8b4.js → 989.bundle.852be152ceda813c34b8.js} +0 -0
  37. /package/dist/{998.bundle.76824b99c0ce6acfd75d.js → 998.bundle.cd8fbf4a16475a9eaa13.js} +0 -0
@@ -879,6 +879,7 @@ function WorkList({
879
879
  const studyTime = time && moment_default()(time, ['HH', 'HHmm', 'HHmmss', 'HHmmss.SSS']).isValid() && moment_default()(time, ['HH', 'HHmm', 'HHmmss', 'HHmmss.SSS']).format(t('Common:localTimeFormat', 'hh:mm A'));
880
880
  return {
881
881
  dataCY: `studyRow-${studyInstanceUid}`,
882
+ clickableCY: studyInstanceUid,
882
883
  row: [{
883
884
  key: 'patientName',
884
885
  content: patientName ? /*#__PURE__*/react.createElement(ui_src/* TooltipClipboard */.ax, null, patientName) : /*#__PURE__*/react.createElement("span", {
@@ -1004,8 +1005,8 @@ function WorkList({
1004
1005
  };
1005
1006
  });
1006
1007
  const hasStudies = numOfStudies > 0;
1007
- const versionNumber = "3.9.0-beta.10";
1008
- const commitHash = "70bb6c46267b3733a665f12534b849c890ce54ad";
1008
+ const versionNumber = "3.9.0-beta.12";
1009
+ const commitHash = "29944c8512c35718af03c03ef82bc43675ee1872";
1009
1010
  const menuOptions = [{
1010
1011
  title: t('Header:About'),
1011
1012
  icon: 'info',
@@ -1174,7 +1175,7 @@ function WorkList_getQueryFilterValues(params) {
1174
1175
  sortBy: params.get('sortby'),
1175
1176
  sortDirection: params.get('sortdirection'),
1176
1177
  pageNumber: _tryParseInt(params.get('pagenumber'), undefined),
1177
- resultsPerPage: _tryParseInt(params.get('resultsperpage'), undefined),
1178
+ resultsPerPage: _tryParseInt(params.get('resultsPerPage'), undefined),
1178
1179
  datasources: params.get('datasources'),
1179
1180
  configUrl: params.get('configurl')
1180
1181
  };
@@ -1924,27 +1925,27 @@ modes.push("@ohif/mode-preclinical-4d");
1924
1925
  async function loadModule(module) {
1925
1926
  if (typeof module !== 'string') return module;
1926
1927
  if (module === "@ohif/extension-default") {
1927
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(931), __webpack_require__.e(390), __webpack_require__.e(481)]).then(__webpack_require__.bind(__webpack_require__, 47390));
1928
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(931), __webpack_require__.e(390), __webpack_require__.e(481)]).then(__webpack_require__.bind(__webpack_require__, 47390));
1928
1929
  return imported.default;
1929
1930
  }
1930
1931
  if (module === "@ohif/extension-cornerstone") {
1931
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(722), __webpack_require__.e(445), __webpack_require__.e(550)]).then(__webpack_require__.bind(__webpack_require__, 550));
1932
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(722), __webpack_require__.e(445), __webpack_require__.e(550)]).then(__webpack_require__.bind(__webpack_require__, 550));
1932
1933
  return imported.default;
1933
1934
  }
1934
1935
  if (module === "@ohif/extension-measurement-tracking") {
1935
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(342), __webpack_require__.e(931), __webpack_require__.e(835), __webpack_require__.e(390), __webpack_require__.e(721), __webpack_require__.e(325)]).then(__webpack_require__.bind(__webpack_require__, 84284));
1936
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(342), __webpack_require__.e(931), __webpack_require__.e(835), __webpack_require__.e(390), __webpack_require__.e(721), __webpack_require__.e(325)]).then(__webpack_require__.bind(__webpack_require__, 84284));
1936
1937
  return imported.default;
1937
1938
  }
1938
1939
  if (module === "@ohif/extension-cornerstone-dicom-sr") {
1939
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(342), __webpack_require__.e(721)]).then(__webpack_require__.bind(__webpack_require__, 14721));
1940
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(342), __webpack_require__.e(721)]).then(__webpack_require__.bind(__webpack_require__, 14721));
1940
1941
  return imported.default;
1941
1942
  }
1942
1943
  if (module === "@ohif/extension-cornerstone-dicom-seg") {
1943
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(342), __webpack_require__.e(931), __webpack_require__.e(726), __webpack_require__.e(390), __webpack_require__.e(998)]).then(__webpack_require__.bind(__webpack_require__, 32009));
1944
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(644), __webpack_require__.e(342), __webpack_require__.e(931), __webpack_require__.e(726), __webpack_require__.e(390), __webpack_require__.e(998)]).then(__webpack_require__.bind(__webpack_require__, 32009));
1944
1945
  return imported.default;
1945
1946
  }
1946
1947
  if (module === "@ohif/extension-cornerstone-dynamic-volume") {
1947
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(722), __webpack_require__.e(487)]).then(__webpack_require__.bind(__webpack_require__, 26487));
1948
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(722), __webpack_require__.e(487)]).then(__webpack_require__.bind(__webpack_require__, 26487));
1948
1949
  return imported.default;
1949
1950
  }
1950
1951
  if (module === "@ohif/extension-dicom-microscopy") {
@@ -1960,7 +1961,7 @@ async function loadModule(module) {
1960
1961
  return imported.default;
1961
1962
  }
1962
1963
  if (module === "@ohif/extension-tmtv") {
1963
- const imported = await Promise.all(/* import() */[__webpack_require__.e(806), __webpack_require__.e(473), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(342), __webpack_require__.e(981)]).then(__webpack_require__.bind(__webpack_require__, 93981));
1964
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(370), __webpack_require__.e(367), __webpack_require__.e(483), __webpack_require__.e(236), __webpack_require__.e(342), __webpack_require__.e(981)]).then(__webpack_require__.bind(__webpack_require__, 93981));
1964
1965
  return imported.default;
1965
1966
  }
1966
1967
  if (module === "@ohif/extension-test") {
@@ -6614,7 +6615,7 @@ const detectionOptions = {
6614
6615
  }
6615
6616
  });
6616
6617
  ;// CONCATENATED MODULE: ../../i18n/package.json
6617
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.9.0-beta.9"}');
6618
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.9.0-beta.11"}');
6618
6619
  ;// CONCATENATED MODULE: ../../i18n/src/utils.js
6619
6620
  const languagesMap = {
6620
6621
  ar: 'Arabic',
@@ -37148,7 +37149,8 @@ const StudyListTableRow = props => {
37148
37149
  expandedContent,
37149
37150
  onClickRow,
37150
37151
  isExpanded,
37151
- dataCY
37152
+ dataCY,
37153
+ clickableCY
37152
37154
  } = tableData;
37153
37155
  return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("tr", {
37154
37156
  className: "select-none",
@@ -37171,7 +37173,8 @@ const StudyListTableRow = props => {
37171
37173
  }, {
37172
37174
  'bg-secondary-dark': isExpanded
37173
37175
  }),
37174
- onClick: onClickRow
37176
+ onClick: onClickRow,
37177
+ "data-cy": clickableCY
37175
37178
  }, row.map((cell, index) => {
37176
37179
  const {
37177
37180
  content,
@@ -37219,7 +37222,8 @@ StudyListTableRow.propTypes = {
37219
37222
  expandedContent: (prop_types_default()).node.isRequired,
37220
37223
  onClickRow: (prop_types_default()).func.isRequired,
37221
37224
  isExpanded: (prop_types_default()).bool.isRequired,
37222
- dataCY: (prop_types_default()).string
37225
+ dataCY: (prop_types_default()).string,
37226
+ clickableCY: (prop_types_default()).string
37223
37227
  })
37224
37228
  };
37225
37229
  /* harmony default export */ const StudyListTable_StudyListTableRow = (StudyListTableRow);
@@ -62935,7 +62939,8 @@ const InvestigationalUseDialog = ({
62935
62939
  }, "Learn more about OHIF Viewer")))), /*#__PURE__*/react.createElement(components_Button, {
62936
62940
  type: type.primary,
62937
62941
  onClick: handleConfirmAndHide,
62938
- className: "bg-primary-main"
62942
+ className: "bg-primary-main",
62943
+ dataCY: "confirm-and-hide-button"
62939
62944
  }, "Confirm and Hide")));
62940
62945
  };
62941
62946
  InvestigationalUseDialog.propTypes = {
@@ -72610,7 +72615,7 @@ webpackContext.id = 64692;
72610
72615
  /* harmony import */ var _eventTarget__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51884);
72611
72616
  /* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(71702);
72612
72617
  /* harmony import */ var _loaders_volumeLoader__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(82041);
72613
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(35678);
72618
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(20228);
72614
72619
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(90601);
72615
72620
  /* harmony import */ var _helpers_volumeNewImageEventDispatcher__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(46820);
72616
72621
  /* harmony import */ var _Viewport__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(11512);
@@ -72852,13 +72857,15 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_14__/* ["def
72852
72857
  static get useCustomRenderingPipeline() {
72853
72858
  return false;
72854
72859
  }
72855
- applyViewOrientation(orientation) {
72860
+ applyViewOrientation(orientation, resetCamera = true) {
72856
72861
  const { viewPlaneNormal, viewUp } = this._getOrientationVectors(orientation);
72857
72862
  const camera = this.getVtkActiveCamera();
72858
72863
  camera.setDirectionOfProjection(-viewPlaneNormal[0], -viewPlaneNormal[1], -viewPlaneNormal[2]);
72859
72864
  camera.setViewUpFrom(viewUp);
72860
72865
  this.initialViewUp = viewUp;
72861
- this.resetCamera();
72866
+ if (resetCamera) {
72867
+ this.resetCamera();
72868
+ }
72862
72869
  }
72863
72870
  initializeVolumeNewImageEventDispatcher() {
72864
72871
  const volumeNewImageHandlerBound = volumeNewImageHandler.bind(this);
@@ -73087,15 +73094,26 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_14__/* ["def
73087
73094
  }
73088
73095
  getViewReference(viewRefSpecifier = {}) {
73089
73096
  const target = super.getViewReference(viewRefSpecifier);
73097
+ const volumeId = this.getVolumeId(viewRefSpecifier);
73090
73098
  if (viewRefSpecifier?.forFrameOfReference !== false) {
73091
- target.volumeId = this.getVolumeId(viewRefSpecifier);
73092
- }
73093
- return {
73094
- ...target,
73095
- sliceIndex: this.getCurrentImageIdIndex(),
73096
- };
73099
+ target.volumeId = volumeId;
73100
+ }
73101
+ if (typeof viewRefSpecifier?.sliceIndex !== 'number') {
73102
+ return target;
73103
+ }
73104
+ const { viewPlaneNormal } = target;
73105
+ const delta = viewRefSpecifier.sliceIndex - this.getCurrentImageIdIndex();
73106
+ const { sliceRangeInfo } = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.getVolumeViewportScrollInfo)(this, volumeId, true);
73107
+ const { sliceRange, spacingInNormalDirection, camera } = sliceRangeInfo;
73108
+ const { focalPoint, position } = camera;
73109
+ const { newFocalPoint } = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.snapFocalPointToSlice)(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, delta);
73110
+ target.cameraFocalPoint = newFocalPoint;
73111
+ return target;
73097
73112
  }
73098
73113
  isReferenceViewable(viewRef, options) {
73114
+ if (!viewRef.FrameOfReferenceUID) {
73115
+ return false;
73116
+ }
73099
73117
  if (!super.isReferenceViewable(viewRef, options)) {
73100
73118
  return false;
73101
73119
  }
@@ -73109,6 +73127,63 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_14__/* ["def
73109
73127
  }
73110
73128
  return sliceIndex === undefined || sliceIndex === currentSliceIndex;
73111
73129
  }
73130
+ scroll(delta = 1) {
73131
+ const volumeId = this.getVolumeId();
73132
+ const { sliceRangeInfo } = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.getVolumeViewportScrollInfo)(this, volumeId, true);
73133
+ if (!sliceRangeInfo) {
73134
+ return;
73135
+ }
73136
+ const { sliceRange, spacingInNormalDirection, camera } = sliceRangeInfo;
73137
+ const { focalPoint, viewPlaneNormal, position } = camera;
73138
+ const { newFocalPoint, newPosition } = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.snapFocalPointToSlice)(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, delta);
73139
+ this.setCamera({
73140
+ focalPoint: newFocalPoint,
73141
+ position: newPosition,
73142
+ });
73143
+ }
73144
+ setViewReference(viewRef) {
73145
+ if (!viewRef) {
73146
+ return;
73147
+ }
73148
+ const volumeId = this.getVolumeId();
73149
+ const { viewPlaneNormal: refViewPlaneNormal, FrameOfReferenceUID: refFrameOfReference, cameraFocalPoint, viewUp, } = viewRef;
73150
+ let { sliceIndex } = viewRef;
73151
+ const { focalPoint, viewPlaneNormal, position } = this.getCamera();
73152
+ const isNegativeNormal = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.isEqualNegative)(viewPlaneNormal, refViewPlaneNormal);
73153
+ const isSameNormal = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.isEqual)(viewPlaneNormal, refViewPlaneNormal);
73154
+ if (typeof sliceIndex === 'number' &&
73155
+ viewRef.volumeId === volumeId &&
73156
+ (isNegativeNormal || isSameNormal)) {
73157
+ const { currentStepIndex, sliceRangeInfo, numScrollSteps } = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.getVolumeViewportScrollInfo)(this, volumeId, true);
73158
+ const { sliceRange, spacingInNormalDirection } = sliceRangeInfo;
73159
+ if (isNegativeNormal) {
73160
+ sliceIndex = numScrollSteps - sliceIndex - 1;
73161
+ }
73162
+ const delta = sliceIndex - currentStepIndex;
73163
+ const { newFocalPoint, newPosition } = (0,_utilities__WEBPACK_IMPORTED_MODULE_11__.snapFocalPointToSlice)(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, delta);
73164
+ this.setCamera({ focalPoint: newFocalPoint, position: newPosition });
73165
+ }
73166
+ else if (refFrameOfReference === this.getFrameOfReferenceUID()) {
73167
+ if (refViewPlaneNormal && !isNegativeNormal && !isSameNormal) {
73168
+ this.setOrientation({ viewPlaneNormal: refViewPlaneNormal, viewUp });
73169
+ return this.setViewReference(viewRef);
73170
+ }
73171
+ if (cameraFocalPoint) {
73172
+ const focalDelta = gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec3.subtract */ .eR.subtract([0, 0, 0], cameraFocalPoint, focalPoint);
73173
+ const useNormal = refViewPlaneNormal ?? viewPlaneNormal;
73174
+ const normalDot = gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec3.dot */ .eR.dot(focalDelta, useNormal);
73175
+ if (!(0,_utilities__WEBPACK_IMPORTED_MODULE_11__.isEqual)(normalDot, 0)) {
73176
+ gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec3.scale */ .eR.scale(focalDelta, useNormal, normalDot);
73177
+ }
73178
+ const newFocal = gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec3.add */ .eR.add([0, 0, 0], focalPoint, focalDelta);
73179
+ const newPosition = gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec3.add */ .eR.add([0, 0, 0], position, focalDelta);
73180
+ this.setCamera({ focalPoint: newFocal, position: newPosition });
73181
+ }
73182
+ }
73183
+ else {
73184
+ throw new Error(`Incompatible view refs: ${refFrameOfReference}!==${this.getFrameOfReferenceUID()}`);
73185
+ }
73186
+ }
73112
73187
  setProperties({ voiRange, VOILUTFunction, invert, colormap, preset, interpolationType, slabThickness, rotation, } = {}, volumeId, suppressEvents = false) {
73113
73188
  if (this.globalDefaultProperties == null) {
73114
73189
  this.setDefaultProperties({
@@ -73267,7 +73342,7 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_14__/* ["def
73267
73342
  this.render();
73268
73343
  }
73269
73344
  }
73270
- setOrientation(orientation, immediate = true) {
73345
+ setOrientation(_orientation, _immediate = true) {
73271
73346
  console.warn('Method "setOrientation" needs implementation');
73272
73347
  }
73273
73348
  initializeColorTransferFunction(volumeInputArray) {
@@ -73403,14 +73478,15 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_14__/* ["def
73403
73478
  return volume.getScalarData()[voxelIndex];
73404
73479
  }
73405
73480
  getVolumeId(specifier) {
73481
+ const actorEntries = this.getActors();
73482
+ if (!actorEntries) {
73483
+ return;
73484
+ }
73406
73485
  if (!specifier?.volumeId) {
73407
- const actorEntries = this.getActors();
73408
- if (!actorEntries) {
73409
- return;
73410
- }
73411
73486
  return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume')?.uid;
73412
73487
  }
73413
- return specifier.volumeId;
73488
+ return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume' &&
73489
+ actorEntry.uid === specifier.volumeId)?.uid;
73414
73490
  }
73415
73491
  getReferenceId(specifier = {}) {
73416
73492
  let { volumeId, sliceIndex: sliceIndex } = specifier;
@@ -73421,7 +73497,8 @@ class BaseVolumeViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_14__/* ["def
73421
73497
  }
73422
73498
  volumeId = actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume')?.uid;
73423
73499
  }
73424
- sliceIndex ??= this.getCurrentImageIdIndex();
73500
+ const currentIndex = this.getCurrentImageIdIndex();
73501
+ sliceIndex ??= currentIndex;
73425
73502
  const { viewPlaneNormal, focalPoint } = this.getCamera();
73426
73503
  const querySeparator = volumeId.indexOf('?') > -1 ? '&' : '?';
73427
73504
  return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}&focalPoint=${focalPoint.join(',')}`;
@@ -74349,8 +74426,8 @@ var metaData = __webpack_require__(55692);
74349
74426
  // EXTERNAL MODULE: ../../../node_modules/lodash.clonedeep/index.js
74350
74427
  var lodash_clonedeep = __webpack_require__(48463);
74351
74428
  var lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep);
74352
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
74353
- var utilities = __webpack_require__(35678);
74429
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
74430
+ var utilities = __webpack_require__(20228);
74354
74431
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/Viewport.js
74355
74432
  var Viewport = __webpack_require__(11512);
74356
74433
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.js + 2 modules
@@ -74560,20 +74637,8 @@ class StackViewport extends Viewport/* default */.A {
74560
74637
  resize(this._cpuFallbackEnabledElement);
74561
74638
  }
74562
74639
  };
74563
- this.getFrameOfReferenceUID = () => {
74564
- const imageId = this.getCurrentImageId();
74565
- if (!imageId) {
74566
- return;
74567
- }
74568
- const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
74569
- if (!imagePlaneModule) {
74570
- return;
74571
- }
74572
- return imagePlaneModule.frameOfReferenceUID;
74573
- };
74574
- this.getCornerstoneImage = () => {
74575
- return this.csImage;
74576
- };
74640
+ this.getFrameOfReferenceUID = (sliceIndex) => this.getImagePlaneReferenceData(sliceIndex)?.FrameOfReferenceUID;
74641
+ this.getCornerstoneImage = () => this.csImage;
74577
74642
  this.createActorMapper = (imageData) => {
74578
74643
  const mapper = vtkImageMapper$1.newInstance();
74579
74644
  mapper.setInputData(imageData);
@@ -74736,9 +74801,6 @@ class StackViewport extends Viewport/* default */.A {
74736
74801
  this.getCurrentImageIdIndex = () => {
74737
74802
  return this.currentImageIdIndex;
74738
74803
  };
74739
- this.getSliceIndex = () => {
74740
- return this.currentImageIdIndex;
74741
- };
74742
74804
  this.getTargetImageIdIndex = () => {
74743
74805
  return this.targetImageIdIndex;
74744
74806
  };
@@ -75549,6 +75611,25 @@ class StackViewport extends Viewport/* default */.A {
75549
75611
  imagePixelModule,
75550
75612
  };
75551
75613
  }
75614
+ getImagePlaneReferenceData(sliceIndex = this.getCurrentImageIdIndex()) {
75615
+ const imageId = this.imageIds[sliceIndex];
75616
+ if (!imageId) {
75617
+ return;
75618
+ }
75619
+ const imagePlaneModule = metaData.get(enums.MetadataModules.IMAGE_PLANE, imageId);
75620
+ const { imagePositionPatient, frameOfReferenceUID: FrameOfReferenceUID } = imagePlaneModule;
75621
+ let { rowCosines, columnCosines } = imagePlaneModule;
75622
+ rowCosines ||= [1, 0, 0];
75623
+ columnCosines ||= [0, 1, 0];
75624
+ const viewPlaneNormal = (esm/* vec3.cross */.eR.cross([0, 0, 0], columnCosines, rowCosines));
75625
+ return {
75626
+ FrameOfReferenceUID,
75627
+ viewPlaneNormal,
75628
+ cameraFocalPoint: imagePositionPatient,
75629
+ referencedImageId: imageId,
75630
+ sliceIndex,
75631
+ };
75632
+ }
75552
75633
  _getCameraOrientation(imageDataDirection) {
75553
75634
  const viewPlaneNormal = imageDataDirection.slice(6, 9).map((x) => -x);
75554
75635
  const viewUp = imageDataDirection.slice(3, 6).map((x) => -x);
@@ -75864,7 +75945,7 @@ class StackViewport extends Viewport/* default */.A {
75864
75945
  this.cpuRenderingInvalidated = true;
75865
75946
  this._cpuFallbackEnabledElement.transform = (0,calculateTransform/* default */.A)(this._cpuFallbackEnabledElement);
75866
75947
  }
75867
- async addImages(stackInputs) {
75948
+ addImages(stackInputs) {
75868
75949
  const actors = this.getActors();
75869
75950
  stackInputs.forEach((stackInput) => {
75870
75951
  const image = cache/* default */.Ay.getImage(stackInput.imageId);
@@ -76159,24 +76240,39 @@ class StackViewport extends Viewport/* default */.A {
76159
76240
  return referencedImageId?.endsWith(imageURI);
76160
76241
  }
76161
76242
  getViewReference(viewRefSpecifier = {}) {
76162
- const { sliceIndex: sliceIndex = this.currentImageIdIndex } = viewRefSpecifier;
76163
- return {
76164
- ...super.getViewReference(viewRefSpecifier),
76165
- referencedImageId: `${this.imageIds[sliceIndex]}`,
76166
- sliceIndex: sliceIndex,
76167
- };
76168
- }
76169
- setView(viewRef, viewPres) {
76170
- const camera = this.getCamera();
76171
- super.setView(viewRef, viewPres);
76172
- if (viewRef) {
76173
- const { viewPlaneNormal, sliceIndex } = viewRef;
76174
- if (viewPlaneNormal &&
76175
- !(0,utilities.isEqual)(viewPlaneNormal, camera.viewPlaneNormal)) {
76243
+ const { sliceIndex = this.getCurrentImageIdIndex() } = viewRefSpecifier;
76244
+ const reference = super.getViewReference(viewRefSpecifier);
76245
+ const referencedImageId = this.imageIds[sliceIndex];
76246
+ if (!referencedImageId) {
76247
+ return;
76248
+ }
76249
+ reference.referencedImageId = referencedImageId;
76250
+ if (this.getCurrentImageIdIndex() !== sliceIndex) {
76251
+ const referenceData = this.getImagePlaneReferenceData(sliceIndex);
76252
+ if (!referenceData) {
76176
76253
  return;
76177
76254
  }
76178
- if (sliceIndex || sliceIndex === 0) {
76179
- this.setImageIdIndex(sliceIndex);
76255
+ Object.assign(reference, referenceData);
76256
+ }
76257
+ return reference;
76258
+ }
76259
+ setViewReference(viewRef) {
76260
+ if (!viewRef) {
76261
+ return;
76262
+ }
76263
+ const { referencedImageId, sliceIndex, volumeId } = viewRef;
76264
+ if (typeof sliceIndex === 'number' &&
76265
+ referencedImageId &&
76266
+ referencedImageId === this.imageIds[sliceIndex]) {
76267
+ this.setImageIdIndex(sliceIndex);
76268
+ }
76269
+ else {
76270
+ const foundIndex = this.imageIds.indexOf(referencedImageId);
76271
+ if (foundIndex !== -1) {
76272
+ this.setImageIdIndex(foundIndex);
76273
+ }
76274
+ else {
76275
+ throw new Error('Unsupported - referenced image id not found');
76180
76276
  }
76181
76277
  }
76182
76278
  }
@@ -76300,8 +76396,8 @@ var enums = __webpack_require__(98362);
76300
76396
  var metaData = __webpack_require__(55692);
76301
76397
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/transform.js
76302
76398
  var rendering_transform = __webpack_require__(18714);
76303
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
76304
- var utilities = __webpack_require__(35678);
76399
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
76400
+ var utilities = __webpack_require__(20228);
76305
76401
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/Viewport.js
76306
76402
  var Viewport = __webpack_require__(11512);
76307
76403
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/index.js + 5 modules
@@ -77212,7 +77308,7 @@ class VideoViewport extends Viewport/* default */.A {
77212
77308
  /* harmony import */ var _enums_ViewportStatus__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17702);
77213
77309
  /* harmony import */ var _enums_ViewportType__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21432);
77214
77310
  /* harmony import */ var _renderingEngineCache__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(94070);
77215
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(35678);
77311
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20228);
77216
77312
  /* harmony import */ var _utilities_hasNaNValues__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(73139);
77217
77313
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(88903);
77218
77314
  /* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(71702);
@@ -77512,7 +77608,7 @@ class Viewport {
77512
77608
  this.setDisplayAreaScale(displayArea);
77513
77609
  }
77514
77610
  else {
77515
- this.setInterpolationType(this.getProperties().interpolationType || _enums__WEBPACK_IMPORTED_MODULE_13__.InterpolationType.LINEAR);
77611
+ this.setInterpolationType(this.getProperties()?.interpolationType || _enums__WEBPACK_IMPORTED_MODULE_13__.InterpolationType.LINEAR);
77516
77612
  this.setDisplayAreaFit(displayArea);
77517
77613
  }
77518
77614
  if (storeAsInitialCamera) {
@@ -77741,6 +77837,9 @@ class Viewport {
77741
77837
  }, storeAsInitialCamera);
77742
77838
  }
77743
77839
  getZoom(compareCamera = this.initialCamera) {
77840
+ if (!compareCamera) {
77841
+ return 1;
77842
+ }
77744
77843
  const activeCamera = this.getVtkActiveCamera();
77745
77844
  const { parallelScale: initialParallelScale } = compareCamera;
77746
77845
  return initialParallelScale / activeCamera.getParallelScale();
@@ -77994,11 +78093,12 @@ class Viewport {
77994
78093
  return { widthWorld: maxX - minX, heightWorld: maxY - minY };
77995
78094
  }
77996
78095
  getViewReference(viewRefSpecifier = {}) {
77997
- const { focalPoint: cameraFocalPoint, viewPlaneNormal } = this.getCamera();
78096
+ const { focalPoint: cameraFocalPoint, viewPlaneNormal, viewUp, } = this.getCamera();
77998
78097
  const target = {
77999
78098
  FrameOfReferenceUID: this.getFrameOfReferenceUID(),
78000
78099
  cameraFocalPoint,
78001
78100
  viewPlaneNormal,
78101
+ viewUp,
78002
78102
  sliceIndex: viewRefSpecifier.sliceIndex ?? this.getCurrentImageIdIndex(),
78003
78103
  };
78004
78104
  return target;
@@ -78013,7 +78113,7 @@ class Viewport {
78013
78113
  if (viewPlaneNormal &&
78014
78114
  !(0,_utilities__WEBPACK_IMPORTED_MODULE_9__.isEqual)(viewPlaneNormal, camera.viewPlaneNormal) &&
78015
78115
  !(0,_utilities__WEBPACK_IMPORTED_MODULE_9__.isEqual)(gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec3.negate */ .eR.negate(camera.viewPlaneNormal, camera.viewPlaneNormal), viewPlaneNormal)) {
78016
- return options?.asVolume === true;
78116
+ return options?.withOrientation === true;
78017
78117
  }
78018
78118
  return true;
78019
78119
  }
@@ -78041,19 +78141,22 @@ class Viewport {
78041
78141
  }
78042
78142
  return target;
78043
78143
  }
78044
- setView(viewRef, viewPres) {
78045
- if (viewPres) {
78046
- const { displayArea, zoom = this.getZoom(), pan, rotation } = viewPres;
78047
- if (displayArea !== this.getDisplayArea()) {
78048
- this.setDisplayArea(displayArea);
78049
- }
78050
- this.setZoom(zoom);
78051
- if (pan) {
78052
- this.setPan(gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec2.scale */ .Zc.scale([0, 0], pan, zoom));
78053
- }
78054
- if (rotation >= 0) {
78055
- this.setRotation(rotation);
78056
- }
78144
+ setViewReference(viewRef) {
78145
+ }
78146
+ setViewPresentation(viewPres) {
78147
+ if (!viewPres) {
78148
+ return;
78149
+ }
78150
+ const { displayArea, zoom = this.getZoom(), pan, rotation } = viewPres;
78151
+ if (displayArea !== this.getDisplayArea()) {
78152
+ this.setDisplayArea(displayArea);
78153
+ }
78154
+ this.setZoom(zoom);
78155
+ if (pan) {
78156
+ this.setPan(gl_matrix__WEBPACK_IMPORTED_MODULE_3__/* .vec2.scale */ .Zc.scale([0, 0], pan, zoom));
78157
+ }
78158
+ if (rotation >= 0) {
78159
+ this.setRotation(rotation);
78057
78160
  }
78058
78161
  }
78059
78162
  _shouldUseNativeDataType() {
@@ -78142,15 +78245,15 @@ class Viewport {
78142
78245
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
78143
78246
  /* harmony export */ });
78144
78247
  /* harmony import */ var _kitware_vtk_js_Common_DataModel_Plane__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84441);
78145
- /* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44753);
78146
- /* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13320);
78147
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88903);
78148
- /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(98362);
78149
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(35678);
78150
- /* harmony import */ var _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6203);
78151
- /* harmony import */ var _helpers_setDefaultVolumeVOI__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83853);
78152
- /* harmony import */ var _utilities_transferFunctionUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(22350);
78153
- /* harmony import */ var _utilities_getImageSliceDataForVolumeViewport__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(97508);
78248
+ /* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13320);
78249
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(88903);
78250
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98362);
78251
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20228);
78252
+ /* harmony import */ var _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6203);
78253
+ /* harmony import */ var _helpers_setDefaultVolumeVOI__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83853);
78254
+ /* harmony import */ var _utilities_transferFunctionUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22350);
78255
+ /* harmony import */ var _utilities_getImageSliceDataForVolumeViewport__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(97508);
78256
+ /* harmony import */ var _utilities_getVolumeViewportScrollInfo__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(62255);
78154
78257
 
78155
78258
 
78156
78259
 
@@ -78161,43 +78264,34 @@ class Viewport {
78161
78264
 
78162
78265
 
78163
78266
 
78164
- class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A {
78267
+ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A {
78165
78268
  constructor(props) {
78166
78269
  super(props);
78167
78270
  this._useAcquisitionPlaneForViewPlane = false;
78168
78271
  this.getNumberOfSlices = () => {
78169
- const { numberOfSlices } = (0,_utilities_getImageSliceDataForVolumeViewport__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this);
78272
+ const { numberOfSlices } = (0,_utilities_getImageSliceDataForVolumeViewport__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(this);
78170
78273
  return numberOfSlices;
78171
78274
  };
78172
78275
  this.getSliceIndex = () => {
78173
- const { imageIndex } = (0,_utilities_getImageSliceDataForVolumeViewport__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this);
78276
+ const { imageIndex } = (0,_utilities_getImageSliceDataForVolumeViewport__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(this);
78174
78277
  return imageIndex;
78175
78278
  };
78176
- this.getCurrentImageIdIndex = (volumeId) => {
78177
- const { viewPlaneNormal, focalPoint } = this.getCamera();
78178
- const imageData = this.getImageData(volumeId);
78179
- if (!imageData) {
78180
- return;
78181
- }
78182
- const { origin, direction, spacing } = imageData;
78183
- const spacingInNormal = (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.getSpacingInNormalDirection)({ direction, spacing }, viewPlaneNormal);
78184
- const sub = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.create */ .eR.create();
78185
- gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.sub */ .eR.sub(sub, focalPoint, origin);
78186
- const distance = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.dot */ .eR.dot(sub, viewPlaneNormal);
78187
- return Math.round(Math.abs(distance) / spacingInNormal);
78279
+ this.getCurrentImageIdIndex = (volumeId, useSlabThickness = true) => {
78280
+ const { currentStepIndex } = (0,_utilities_getVolumeViewportScrollInfo__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this, volumeId || this.getVolumeId(), useSlabThickness);
78281
+ return currentStepIndex;
78188
78282
  };
78189
78283
  this.getCurrentImageId = () => {
78190
78284
  const actorEntry = this.getDefaultActor();
78191
- if (!actorEntry || !(0,_utilities__WEBPACK_IMPORTED_MODULE_5__.actorIsA)(actorEntry, 'vtkVolume')) {
78285
+ if (!actorEntry || !(0,_utilities__WEBPACK_IMPORTED_MODULE_4__.actorIsA)(actorEntry, 'vtkVolume')) {
78192
78286
  return;
78193
78287
  }
78194
78288
  const { uid } = actorEntry;
78195
- const volume = _cache__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay.getVolume(uid);
78289
+ const volume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(uid);
78196
78290
  if (!volume) {
78197
78291
  return;
78198
78292
  }
78199
78293
  const { viewPlaneNormal, focalPoint } = this.getCamera();
78200
- return (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.getClosestImageId)(volume, focalPoint, viewPlaneNormal);
78294
+ return (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getClosestImageId)(volume, focalPoint, viewPlaneNormal);
78201
78295
  };
78202
78296
  this.getSlicePlaneCoordinates = () => {
78203
78297
  const actorEntry = this.getDefaultActor();
@@ -78206,30 +78300,30 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78206
78300
  return [];
78207
78301
  }
78208
78302
  const volumeId = actorEntry.uid;
78209
- const imageVolume = _cache__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay.getVolume(volumeId);
78303
+ const imageVolume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(volumeId);
78210
78304
  const camera = this.getCamera();
78211
78305
  const { focalPoint, position, viewPlaneNormal } = camera;
78212
- const spacingInNormalDirection = (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.getSpacingInNormalDirection)(imageVolume, viewPlaneNormal);
78213
- const sliceRange = (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.getSliceRange)(actorEntry.actor, viewPlaneNormal, focalPoint);
78306
+ const spacingInNormalDirection = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getSpacingInNormalDirection)(imageVolume, viewPlaneNormal);
78307
+ const sliceRange = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getSliceRange)(actorEntry.actor, viewPlaneNormal, focalPoint);
78214
78308
  const numSlicesBackward = Math.round((sliceRange.current - sliceRange.min) / spacingInNormalDirection);
78215
78309
  const numSlicesForward = Math.round((sliceRange.max - sliceRange.current) / spacingInNormalDirection);
78216
78310
  const currentSliceIndex = this.getSliceIndex();
78217
78311
  const focalPoints = [];
78218
78312
  for (let i = -numSlicesBackward; i <= numSlicesForward; i++) {
78219
- const { newFocalPoint: point } = (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.snapFocalPointToSlice)(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, i);
78313
+ const { newFocalPoint: point } = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.snapFocalPointToSlice)(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, i);
78220
78314
  focalPoints.push({ sliceIndex: currentSliceIndex + i, point });
78221
78315
  }
78222
78316
  return focalPoints;
78223
78317
  };
78224
78318
  const { orientation } = this.options;
78225
- if (orientation && orientation !== _enums__WEBPACK_IMPORTED_MODULE_4__.OrientationAxis.ACQUISITION) {
78319
+ if (orientation && orientation !== _enums__WEBPACK_IMPORTED_MODULE_3__.OrientationAxis.ACQUISITION) {
78226
78320
  this.applyViewOrientation(orientation);
78227
78321
  return;
78228
78322
  }
78229
78323
  this._useAcquisitionPlaneForViewPlane = true;
78230
78324
  }
78231
78325
  async setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
78232
- const firstImageVolume = _cache__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay.getVolume(volumeInputArray[0].volumeId);
78326
+ const firstImageVolume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(volumeInputArray[0].volumeId);
78233
78327
  if (!firstImageVolume) {
78234
78328
  throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
78235
78329
  }
@@ -78240,7 +78334,7 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78240
78334
  return super.setVolumes(volumeInputArray, immediate, suppressEvents);
78241
78335
  }
78242
78336
  async addVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
78243
- const firstImageVolume = _cache__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay.getVolume(volumeInputArray[0].volumeId);
78337
+ const firstImageVolume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(volumeInputArray[0].volumeId);
78244
78338
  if (!firstImageVolume) {
78245
78339
  throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
78246
78340
  }
@@ -78253,8 +78347,8 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78253
78347
  setOrientation(orientation, immediate = true) {
78254
78348
  let viewPlaneNormal, viewUp;
78255
78349
  if (typeof orientation === 'string') {
78256
- if (_constants__WEBPACK_IMPORTED_MODULE_3__.MPR_CAMERA_VALUES[orientation]) {
78257
- ({ viewPlaneNormal, viewUp } = _constants__WEBPACK_IMPORTED_MODULE_3__.MPR_CAMERA_VALUES[orientation]);
78350
+ if (_constants__WEBPACK_IMPORTED_MODULE_2__.MPR_CAMERA_VALUES[orientation]) {
78351
+ ({ viewPlaneNormal, viewUp } = _constants__WEBPACK_IMPORTED_MODULE_2__.MPR_CAMERA_VALUES[orientation]);
78258
78352
  }
78259
78353
  else if (orientation === 'acquisition') {
78260
78354
  ({ viewPlaneNormal, viewUp } = this._getAcquisitionPlaneOrientation());
@@ -78283,7 +78377,7 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78283
78377
  return;
78284
78378
  }
78285
78379
  const volumeId = actorEntry.uid;
78286
- const imageVolume = _cache__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay.getVolume(volumeId);
78380
+ const imageVolume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(volumeId);
78287
78381
  if (!imageVolume) {
78288
78382
  throw new Error(`imageVolume with id: ${volumeId} does not exist in cache`);
78289
78383
  }
@@ -78328,12 +78422,15 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78328
78422
  this.render();
78329
78423
  }
78330
78424
  }
78331
- resetCamera(resetPan = true, resetZoom = true, resetToCenter = true, resetRotation = false) {
78425
+ resetCamera(resetPan = true, resetZoom = true, resetToCenter = true, resetRotation = false, supressEvents = false) {
78426
+ const { orientation } = this.viewportProperties;
78427
+ if (orientation) {
78428
+ this.applyViewOrientation(orientation, false);
78429
+ }
78332
78430
  super.resetCamera(resetPan, resetZoom, resetToCenter);
78333
78431
  this.resetVolumeViewportClippingRange();
78334
78432
  const activeCamera = this.getVtkActiveCamera();
78335
78433
  const viewPlaneNormal = activeCamera.getViewPlaneNormal();
78336
- const viewUp = activeCamera.getViewUp();
78337
78434
  const focalPoint = activeCamera.getFocalPoint();
78338
78435
  const actorEntries = this.getActors();
78339
78436
  actorEntries.forEach((actorEntry) => {
@@ -78346,7 +78443,7 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78346
78443
  const clipPlane1 = _kitware_vtk_js_Common_DataModel_Plane__WEBPACK_IMPORTED_MODULE_0__/* ["default"].newInstance */ .Ay.newInstance();
78347
78444
  const clipPlane2 = _kitware_vtk_js_Common_DataModel_Plane__WEBPACK_IMPORTED_MODULE_0__/* ["default"].newInstance */ .Ay.newInstance();
78348
78445
  const newVtkPlanes = [clipPlane1, clipPlane2];
78349
- let slabThickness = _constants__WEBPACK_IMPORTED_MODULE_3__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78446
+ let slabThickness = _constants__WEBPACK_IMPORTED_MODULE_2__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78350
78447
  if (actorEntry.slabThickness) {
78351
78448
  slabThickness = actorEntry.slabThickness;
78352
78449
  }
@@ -78356,13 +78453,22 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78356
78453
  }
78357
78454
  });
78358
78455
  if (resetRotation &&
78359
- _constants__WEBPACK_IMPORTED_MODULE_3__.MPR_CAMERA_VALUES[this.viewportProperties.orientation] !== undefined) {
78360
- const viewToReset = _constants__WEBPACK_IMPORTED_MODULE_3__.MPR_CAMERA_VALUES[this.viewportProperties.orientation];
78456
+ _constants__WEBPACK_IMPORTED_MODULE_2__.MPR_CAMERA_VALUES[this.viewportProperties.orientation] !== undefined) {
78457
+ const viewToReset = _constants__WEBPACK_IMPORTED_MODULE_2__.MPR_CAMERA_VALUES[this.viewportProperties.orientation];
78361
78458
  this.setCameraNoEvent({
78362
78459
  viewUp: viewToReset.viewUp,
78363
78460
  viewPlaneNormal: viewToReset.viewPlaneNormal,
78364
78461
  });
78365
78462
  }
78463
+ if (!supressEvents) {
78464
+ const eventDetail = {
78465
+ viewportId: this.id,
78466
+ camera: this.getCamera(),
78467
+ renderingEngineId: this.renderingEngineId,
78468
+ element: this.element,
78469
+ };
78470
+ (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.triggerEvent)(this.element, _enums__WEBPACK_IMPORTED_MODULE_3__.Events.CAMERA_RESET, eventDetail);
78471
+ }
78366
78472
  return true;
78367
78473
  }
78368
78474
  setSlabThickness(slabThickness, filterActorUIDs = []) {
@@ -78376,7 +78482,7 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78376
78482
  });
78377
78483
  }
78378
78484
  actorEntries.forEach((actorEntry) => {
78379
- if ((0,_utilities__WEBPACK_IMPORTED_MODULE_5__.actorIsA)(actorEntry, 'vtkVolume')) {
78485
+ if ((0,_utilities__WEBPACK_IMPORTED_MODULE_4__.actorIsA)(actorEntry, 'vtkVolume')) {
78380
78486
  actorEntry.slabThickness = slabThickness;
78381
78487
  }
78382
78488
  });
@@ -78385,6 +78491,27 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78385
78491
  this.triggerCameraModifiedEventIfNecessary(currentCamera, currentCamera);
78386
78492
  this.viewportProperties.slabThickness = slabThickness;
78387
78493
  }
78494
+ resetSlabThickness() {
78495
+ const actorEntries = this.getActors();
78496
+ actorEntries.forEach((actorEntry) => {
78497
+ if ((0,_utilities__WEBPACK_IMPORTED_MODULE_4__.actorIsA)(actorEntry, 'vtkVolume')) {
78498
+ actorEntry.slabThickness = _constants__WEBPACK_IMPORTED_MODULE_2__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78499
+ }
78500
+ });
78501
+ const currentCamera = this.getCamera();
78502
+ this.updateClippingPlanesForActors(currentCamera);
78503
+ this.triggerCameraModifiedEventIfNecessary(currentCamera, currentCamera);
78504
+ this.viewportProperties.slabThickness = undefined;
78505
+ }
78506
+ getViewReference(viewRefSpecifier = {}) {
78507
+ const viewRef = super.getViewReference(viewRefSpecifier);
78508
+ if (!viewRef?.volumeId) {
78509
+ return;
78510
+ }
78511
+ const volume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(viewRef.volumeId);
78512
+ viewRef.referencedImageId = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getClosestImageId)(volume, viewRef.cameraFocalPoint, viewRef.viewPlaneNormal);
78513
+ return viewRef;
78514
+ }
78388
78515
  resetProperties(volumeId) {
78389
78516
  this._resetProperties(volumeId);
78390
78517
  }
@@ -78396,20 +78523,20 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78396
78523
  throw new Error(`No actor found for the given volumeId: ${volumeId}`);
78397
78524
  }
78398
78525
  if (volumeActor.slabThickness) {
78399
- volumeActor.slabThickness = _constants__WEBPACK_IMPORTED_MODULE_3__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78526
+ volumeActor.slabThickness = _constants__WEBPACK_IMPORTED_MODULE_2__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78400
78527
  this.viewportProperties.slabThickness = undefined;
78401
78528
  this.updateClippingPlanesForActors(this.getCamera());
78402
78529
  }
78403
- const imageVolume = _cache__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay.getVolume(volumeActor.uid);
78530
+ const imageVolume = _cache__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay.getVolume(volumeActor.uid);
78404
78531
  if (!imageVolume) {
78405
78532
  throw new Error(`imageVolume with id: ${volumeActor.uid} does not exist in cache`);
78406
78533
  }
78407
- (0,_helpers_setDefaultVolumeVOI__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(volumeActor.actor, imageVolume, false);
78408
- if ((0,_utilities__WEBPACK_IMPORTED_MODULE_5__.isImageActor)(volumeActor)) {
78534
+ (0,_helpers_setDefaultVolumeVOI__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(volumeActor.actor, imageVolume, false);
78535
+ if ((0,_utilities__WEBPACK_IMPORTED_MODULE_4__.isImageActor)(volumeActor)) {
78409
78536
  const transferFunction = volumeActor.actor
78410
78537
  .getProperty()
78411
78538
  .getRGBTransferFunction(0);
78412
- (0,_utilities_transferFunctionUtils__WEBPACK_IMPORTED_MODULE_8__.setTransferFunctionNodes)(transferFunction, this.initialTransferFunctionNodes);
78539
+ (0,_utilities_transferFunctionUtils__WEBPACK_IMPORTED_MODULE_7__.setTransferFunctionNodes)(transferFunction, this.initialTransferFunctionNodes);
78413
78540
  }
78414
78541
  const eventDetails = {
78415
78542
  ...super.getVOIModifiedEventDetail(volumeId),
@@ -78419,12 +78546,12 @@ class VolumeViewport extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_6__/*
78419
78546
  const resetToCenter = true;
78420
78547
  const resetCameraRotation = true;
78421
78548
  this.resetCamera(resetPan, resetZoom, resetToCenter, resetCameraRotation);
78422
- (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.triggerEvent)(this.element, _enums__WEBPACK_IMPORTED_MODULE_4__.Events.VOI_MODIFIED, eventDetails);
78549
+ (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.triggerEvent)(this.element, _enums__WEBPACK_IMPORTED_MODULE_3__.Events.VOI_MODIFIED, eventDetails);
78423
78550
  }
78424
78551
  getSlicesClippingPlanes() {
78425
78552
  const focalPoints = this.getSlicePlaneCoordinates();
78426
78553
  const { viewPlaneNormal } = this.getCamera();
78427
- const slabThickness = _constants__WEBPACK_IMPORTED_MODULE_3__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78554
+ const slabThickness = _constants__WEBPACK_IMPORTED_MODULE_2__.RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
78428
78555
  return focalPoints.map(({ point, sliceIndex }) => {
78429
78556
  const vtkPlanes = [_kitware_vtk_js_Common_DataModel_Plane__WEBPACK_IMPORTED_MODULE_0__/* ["default"].newInstance */ .Ay.newInstance(), _kitware_vtk_js_Common_DataModel_Plane__WEBPACK_IMPORTED_MODULE_0__/* ["default"].newInstance */ .Ay.newInstance()];
78430
78557
  this.setOrientationOfClippingPlanes(vtkPlanes, slabThickness, viewPlaneNormal, point);
@@ -78487,6 +78614,9 @@ class VolumeViewport3D extends _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_1__/
78487
78614
  resetProperties(volumeId) {
78488
78615
  return null;
78489
78616
  }
78617
+ resetSlabThickness() {
78618
+ return null;
78619
+ }
78490
78620
  }
78491
78621
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolumeViewport3D);
78492
78622
 
@@ -79784,8 +79914,8 @@ function storedPixelDataToCanvasImageDataPseudocolorLUTPET(image, lutFunction, c
79784
79914
  }
79785
79915
  /* harmony default export */ const rendering_storedPixelDataToCanvasImageDataPseudocolorLUTPET = (storedPixelDataToCanvasImageDataPseudocolorLUTPET);
79786
79916
 
79787
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
79788
- var utilities = __webpack_require__(35678);
79917
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
79918
+ var utilities = __webpack_require__(20228);
79789
79919
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js
79790
79920
 
79791
79921
 
@@ -80841,8 +80971,8 @@ function createVolumeMapper(imageData, vtkOpenGLTexture) {
80841
80971
  return volumeMapper;
80842
80972
  }
80843
80973
 
80844
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
80845
- var utilities = __webpack_require__(35678);
80974
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
80975
+ var utilities = __webpack_require__(20228);
80846
80976
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
80847
80977
  var enums = __webpack_require__(98362);
80848
80978
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js
@@ -80955,7 +81085,7 @@ var addImageSlicesToViewports = __webpack_require__(25271);
80955
81085
  /* harmony export */ });
80956
81086
  /* harmony import */ var _loaders_imageLoader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79220);
80957
81087
  /* harmony import */ var _metaData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55692);
80958
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35678);
81088
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20228);
80959
81089
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98362);
80960
81090
  /* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13320);
80961
81091
 
@@ -81103,7 +81233,7 @@ function _isCurrentImagePTPrescaled(modality, imageVolume) {
81103
81233
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__),
81104
81234
  /* harmony export */ g: () => (/* binding */ resetVolumeNewImageState)
81105
81235
  /* harmony export */ });
81106
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35678);
81236
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20228);
81107
81237
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98362);
81108
81238
  /* harmony import */ var _getRenderingEngine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49184);
81109
81239
  /* harmony import */ var _BaseVolumeViewport__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6203);
@@ -81173,8 +81303,8 @@ var Events = __webpack_require__(11731);
81173
81303
  var renderingEngineCache = __webpack_require__(94070);
81174
81304
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/eventTarget.js
81175
81305
  var eventTarget = __webpack_require__(51884);
81176
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
81177
- var utilities = __webpack_require__(35678);
81306
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
81307
+ var utilities = __webpack_require__(20228);
81178
81308
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/vtkClasses/index.js + 27 modules
81179
81309
  var vtkClasses = __webpack_require__(69585);
81180
81310
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/ViewportType.js
@@ -81506,7 +81636,12 @@ class RenderingEngine {
81506
81636
  const prevCamera = vp.getCamera();
81507
81637
  const rotation = vp.getRotation();
81508
81638
  const { flipHorizontal } = prevCamera;
81509
- vp.resetCamera();
81639
+ const resetPan = true;
81640
+ const resetZoom = true;
81641
+ const resetToCenter = true;
81642
+ const resetRotation = false;
81643
+ const supressEvents = true;
81644
+ vp.resetCamera(resetPan, resetZoom, resetToCenter, resetRotation, supressEvents);
81510
81645
  const displayArea = vp.getDisplayArea();
81511
81646
  if (keepCamera) {
81512
81647
  if (displayArea) {
@@ -88164,7 +88299,7 @@ Settings.getDefaultSettings().set('useCursors', true);
88164
88299
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
88165
88300
  /* harmony export */ });
88166
88301
  /* unused harmony export Cache */
88167
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35678);
88302
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20228);
88168
88303
  /* harmony import */ var _eventTarget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51884);
88169
88304
  /* harmony import */ var _enums_Events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11731);
88170
88305
  /* harmony import */ var _classes_ImageVolume__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77076);
@@ -88180,7 +88315,7 @@ class Cache {
88180
88315
  this._imageCacheSize = 0;
88181
88316
  this._volumeCacheSize = 0;
88182
88317
  this._maxCacheSize = 3 * ONE_GB;
88183
- this._maxInstanceSize = 2 * ONE_GB - 8;
88318
+ this._maxInstanceSize = 4 * ONE_GB - 8;
88184
88319
  this.setMaxCacheSize = (newMaxCacheSize) => {
88185
88320
  if (!newMaxCacheSize || typeof newMaxCacheSize !== 'number') {
88186
88321
  const errorMessage = `New max cacheSize ${this._maxCacheSize} should be defined and should be a number.`;
@@ -88646,8 +88781,8 @@ function isTypedArray(obj) {
88646
88781
  obj instanceof Float64Array);
88647
88782
  }
88648
88783
 
88649
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
88650
- var utilities = __webpack_require__(35678);
88784
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
88785
+ var utilities = __webpack_require__(20228);
88651
88786
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/vtkClasses/index.js + 27 modules
88652
88787
  var vtkClasses = __webpack_require__(69585);
88653
88788
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/cache/cache.js
@@ -96732,8 +96867,8 @@ async function createAndCacheGeometry(geometryId, options) {
96732
96867
 
96733
96868
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/loaders/ProgressiveRetrieveImages.js + 4 modules
96734
96869
  var ProgressiveRetrieveImages = __webpack_require__(71090);
96735
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
96736
- var utilities = __webpack_require__(35678);
96870
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
96871
+ var utilities = __webpack_require__(20228);
96737
96872
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/triggerEvent.js
96738
96873
  var triggerEvent = __webpack_require__(13292);
96739
96874
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/helpers/index.js + 5 modules
@@ -96801,8 +96936,8 @@ function e(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{
96801
96936
  var enums = __webpack_require__(98362);
96802
96937
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/RenderingEngine/getRenderingEngine.js
96803
96938
  var getRenderingEngine = __webpack_require__(49184);
96804
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
96805
- var utilities = __webpack_require__(35678);
96939
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
96940
+ var utilities = __webpack_require__(20228);
96806
96941
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/webWorkerManager/webWorkerManager.js
96807
96942
  var webWorkerManager = __webpack_require__(61874);
96808
96943
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/init.js
@@ -97124,8 +97259,8 @@ const interleavedRetrieveConfiguration = [
97124
97259
 
97125
97260
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/loaders/imageLoader.js
97126
97261
  var imageLoader = __webpack_require__(79220);
97127
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 70 modules
97128
- var utilities = __webpack_require__(35678);
97262
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/index.js + 68 modules
97263
+ var utilities = __webpack_require__(20228);
97129
97264
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/requestPool/imageLoadPoolManager.js
97130
97265
  var imageLoadPoolManager = __webpack_require__(775);
97131
97266
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/cache/index.js
@@ -97426,7 +97561,7 @@ __webpack_require__.r(__webpack_exports__);
97426
97561
  /* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13320);
97427
97562
  /* harmony import */ var _enums_Events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11731);
97428
97563
  /* harmony import */ var _eventTarget__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51884);
97429
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35678);
97564
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20228);
97430
97565
  /* harmony import */ var _requestPool_imageLoadPoolManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(775);
97431
97566
  /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92136);
97432
97567
 
@@ -97696,7 +97831,7 @@ __webpack_require__.r(__webpack_exports__);
97696
97831
  /* harmony import */ var _utilities_triggerEvent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13292);
97697
97832
  /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(48463);
97698
97833
  /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_8__);
97699
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(35678);
97834
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20228);
97700
97835
  /* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(71702);
97701
97836
  /* harmony import */ var _utilities_cacheUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(51631);
97702
97837
 
@@ -97993,8 +98128,22 @@ function generateVolumeScalarData(targetBuffer, scalarLength) {
97993
98128
  }
97994
98129
  let volumeScalarData;
97995
98130
  if (targetBuffer?.sharedArrayBuffer) {
97996
- const buffer = new SharedArrayBuffer(numBytes);
97997
- volumeScalarData = new TypedArrayConstructor(buffer);
98131
+ switch (targetBuffer.type) {
98132
+ case 'Float32Array':
98133
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createFloat32SharedArray)(scalarLength);
98134
+ break;
98135
+ case 'Uint8Array':
98136
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createUint8SharedArray)(scalarLength);
98137
+ break;
98138
+ case 'Uint16Array':
98139
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createUint16SharedArray)(scalarLength);
98140
+ break;
98141
+ case 'Int16Array':
98142
+ volumeScalarData = (0,_utilities__WEBPACK_IMPORTED_MODULE_9__.createUint16SharedArray)(scalarLength);
98143
+ break;
98144
+ default:
98145
+ throw new Error('generateVolumeScalarData: SharedArrayBuffer is not supported for the specified target buffer type');
98146
+ }
97998
98147
  }
97999
98148
  else {
98000
98149
  volumeScalarData = new TypedArrayConstructor(scalarLength);
@@ -98084,7 +98233,7 @@ imageLoadPoolManager.setMaxSimultaneousRequests(_enums_RequestType__WEBPACK_IMPO
98084
98233
  /* harmony export */ R: () => (/* binding */ RequestPoolManager)
98085
98234
  /* harmony export */ });
98086
98235
  /* harmony import */ var _enums_RequestType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15453);
98087
- /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35678);
98236
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20228);
98088
98237
 
98089
98238
 
98090
98239
  class RequestPoolManager {
@@ -98395,7 +98544,7 @@ function findMatchingColormap(rgbPoints, actor) {
98395
98544
  return false;
98396
98545
  }
98397
98546
  for (let i = 0; i < presetRGBPoints.length; i += 4) {
98398
- if (!(0,_isEqual__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(presetRGBPoints.slice(i + 1, i + 4), rgbPoints.slice(i + 1, i + 4))) {
98547
+ if (!(0,_isEqual__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Ay)(presetRGBPoints.slice(i + 1, i + 4), rgbPoints.slice(i + 1, i + 4))) {
98399
98548
  return false;
98400
98549
  }
98401
98550
  }
@@ -98424,6 +98573,7 @@ function findMatchingColormap(rgbPoints, actor) {
98424
98573
  }
98425
98574
  return {
98426
98575
  name: matchedColormap.Name,
98576
+ opacity,
98427
98577
  };
98428
98578
  }
98429
98579
 
@@ -98728,6 +98878,73 @@ const getVolumeId = (targetId) => {
98728
98878
  };
98729
98879
 
98730
98880
 
98881
+ /***/ }),
98882
+
98883
+ /***/ 76399:
98884
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
98885
+
98886
+ "use strict";
98887
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
98888
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
98889
+ /* harmony export */ });
98890
+ /* harmony import */ var _getSliceRange__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51849);
98891
+ /* harmony import */ var _getTargetVolumeAndSpacingInNormalDir__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(94172);
98892
+
98893
+
98894
+ function getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness = false) {
98895
+ const camera = viewport.getCamera();
98896
+ const { focalPoint, viewPlaneNormal } = camera;
98897
+ const { spacingInNormalDirection, actorUID } = (0,_getTargetVolumeAndSpacingInNormalDir__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(viewport, camera, volumeId, useSlabThickness);
98898
+ if (!actorUID) {
98899
+ throw new Error(`Could not find image volume with id ${volumeId} in the viewport`);
98900
+ }
98901
+ const actorEntry = viewport.getActor(actorUID);
98902
+ if (!actorEntry) {
98903
+ console.warn('No actor found for with actorUID of', actorUID);
98904
+ return null;
98905
+ }
98906
+ const volumeActor = actorEntry.actor;
98907
+ const sliceRange = (0,_getSliceRange__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(volumeActor, viewPlaneNormal, focalPoint);
98908
+ return {
98909
+ sliceRange,
98910
+ spacingInNormalDirection,
98911
+ camera,
98912
+ };
98913
+ }
98914
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getVolumeSliceRangeInfo);
98915
+
98916
+
98917
+ /***/ }),
98918
+
98919
+ /***/ 62255:
98920
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
98921
+
98922
+ "use strict";
98923
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
98924
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
98925
+ /* harmony export */ });
98926
+ /* harmony import */ var _getVolumeSliceRangeInfo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76399);
98927
+
98928
+ function getVolumeViewportScrollInfo(viewport, volumeId, useSlabThickness = false) {
98929
+ const { sliceRange, spacingInNormalDirection, camera } = (0,_getVolumeSliceRangeInfo__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(viewport, volumeId, useSlabThickness);
98930
+ const { min, max, current } = sliceRange;
98931
+ const numScrollSteps = Math.round((max - min) / spacingInNormalDirection);
98932
+ const fraction = (current - min) / (max - min);
98933
+ const floatingStepNumber = fraction * numScrollSteps;
98934
+ const currentStepIndex = Math.round(floatingStepNumber);
98935
+ return {
98936
+ numScrollSteps,
98937
+ currentStepIndex,
98938
+ sliceRangeInfo: {
98939
+ sliceRange,
98940
+ spacingInNormalDirection,
98941
+ camera,
98942
+ },
98943
+ };
98944
+ }
98945
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getVolumeViewportScrollInfo);
98946
+
98947
+
98731
98948
  /***/ }),
98732
98949
 
98733
98950
  /***/ 73139:
@@ -98747,7 +98964,7 @@ function hasNaNValues(input) {
98747
98964
 
98748
98965
  /***/ }),
98749
98966
 
98750
- /***/ 35678:
98967
+ /***/ 20228:
98751
98968
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
98752
98969
 
98753
98970
  "use strict";
@@ -98758,6 +98975,7 @@ __webpack_require__.r(__webpack_exports__);
98758
98975
  __webpack_require__.d(__webpack_exports__, {
98759
98976
  PointsManager: () => (/* reexport */ PointsManager),
98760
98977
  ProgressiveIterator: () => (/* reexport */ ProgressiveIterator),
98978
+ RLEVoxelMap: () => (/* reexport */ RLEVoxelMap),
98761
98979
  VoxelManager: () => (/* reexport */ VoxelManager),
98762
98980
  actorIsA: () => (/* reexport */ actorCheck/* actorIsA */.N),
98763
98981
  applyPreset: () => (/* reexport */ applyPreset),
@@ -98803,8 +99021,8 @@ __webpack_require__.d(__webpack_exports__, {
98803
99021
  getVoiFromSigmoidRGBTransferFunction: () => (/* reexport */ getVoiFromSigmoidRGBTransferFunction),
98804
99022
  getVolumeActorCorners: () => (/* reexport */ getVolumeActorCorners/* default */.A),
98805
99023
  getVolumeId: () => (/* reexport */ getVolumeId/* getVolumeId */.A),
98806
- getVolumeSliceRangeInfo: () => (/* reexport */ utilities_getVolumeSliceRangeInfo),
98807
- getVolumeViewportScrollInfo: () => (/* reexport */ utilities_getVolumeViewportScrollInfo),
99024
+ getVolumeSliceRangeInfo: () => (/* reexport */ getVolumeSliceRangeInfo/* default */.A),
99025
+ getVolumeViewportScrollInfo: () => (/* reexport */ getVolumeViewportScrollInfo/* default */.A),
98808
99026
  getVolumeViewportsContainingSameVolumes: () => (/* reexport */ utilities_getVolumeViewportsContainingSameVolumes),
98809
99027
  hasFloatScalingParameters: () => (/* reexport */ hasFloatScalingParameters),
98810
99028
  hasNaNValues: () => (/* reexport */ hasNaNValues/* default */.A),
@@ -98813,7 +99031,9 @@ __webpack_require__.d(__webpack_exports__, {
98813
99031
  imageToWorldCoords: () => (/* reexport */ imageToWorldCoords),
98814
99032
  indexWithinDimensions: () => (/* reexport */ indexWithinDimensions),
98815
99033
  invertRgbTransferFunction: () => (/* reexport */ invertRgbTransferFunction),
98816
- isEqual: () => (/* reexport */ isEqual/* default */.A),
99034
+ isEqual: () => (/* reexport */ isEqual/* isEqual */.n4),
99035
+ isEqualAbs: () => (/* reexport */ isEqual/* isEqualAbs */.Ph),
99036
+ isEqualNegative: () => (/* reexport */ isEqual/* isEqualNegative */.WC),
98817
99037
  isImageActor: () => (/* reexport */ actorCheck/* isImageActor */.e),
98818
99038
  isOpposite: () => (/* reexport */ isOpposite),
98819
99039
  isPTPrescaledWithSUV: () => (/* reexport */ utilities_isPTPrescaledWithSUV),
@@ -99244,6 +99464,9 @@ function createUint8SharedArray(length) {
99244
99464
 
99245
99465
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/createFloat32SharedArray.js
99246
99466
 
99467
+ const SMALL_MEMORY_LIMIT = 2 * 1024 * 1024 * 1024 - 2;
99468
+ const BIG_MEMORY_LIMIT = SMALL_MEMORY_LIMIT * 2;
99469
+ const PAGE_SIZE = 65536;
99247
99470
  function createFloat32SharedArray(length) {
99248
99471
  if (!(0,init/* getShouldUseSharedArrayBuffer */.TB)()) {
99249
99472
  throw new Error('Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated');
@@ -99251,8 +99474,20 @@ function createFloat32SharedArray(length) {
99251
99474
  if (window.SharedArrayBuffer === undefined) {
99252
99475
  throw new Error('SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/');
99253
99476
  }
99254
- const sharedArrayBuffer = new SharedArrayBuffer(length * 4);
99255
- return new Float32Array(sharedArrayBuffer);
99477
+ const byteLength = length * 4;
99478
+ if (byteLength < SMALL_MEMORY_LIMIT) {
99479
+ const sharedArrayBuffer = new SharedArrayBuffer(byteLength);
99480
+ return new Float32Array(sharedArrayBuffer);
99481
+ }
99482
+ else if (byteLength < BIG_MEMORY_LIMIT) {
99483
+ const pages = Math.ceil(byteLength / PAGE_SIZE);
99484
+ const memory = new WebAssembly.Memory({
99485
+ initial: pages,
99486
+ maximum: pages,
99487
+ shared: true,
99488
+ });
99489
+ return new Float32Array(memory.buffer, 0, length);
99490
+ }
99256
99491
  }
99257
99492
  /* harmony default export */ const utilities_createFloat32SharedArray = (createFloat32SharedArray);
99258
99493
 
@@ -99643,54 +99878,12 @@ function imageToWorldCoords(imageId, imageCoords) {
99643
99878
  return Array.from(imageCoordsInWorld);
99644
99879
  }
99645
99880
 
99881
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getVolumeSliceRangeInfo.js
99882
+ var getVolumeSliceRangeInfo = __webpack_require__(76399);
99883
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getVolumeViewportScrollInfo.js
99884
+ var getVolumeViewportScrollInfo = __webpack_require__(62255);
99646
99885
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getSliceRange.js
99647
99886
  var getSliceRange = __webpack_require__(51849);
99648
- ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getVolumeSliceRangeInfo.js
99649
-
99650
-
99651
- function getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness = false) {
99652
- const camera = viewport.getCamera();
99653
- const { focalPoint, viewPlaneNormal } = camera;
99654
- const { spacingInNormalDirection, actorUID } = (0,getTargetVolumeAndSpacingInNormalDir/* default */.A)(viewport, camera, volumeId, useSlabThickness);
99655
- if (!actorUID) {
99656
- throw new Error(`Could not find image volume with id ${volumeId} in the viewport`);
99657
- }
99658
- const actorEntry = viewport.getActor(actorUID);
99659
- if (!actorEntry) {
99660
- console.warn('No actor found for with actorUID of', actorUID);
99661
- return null;
99662
- }
99663
- const volumeActor = actorEntry.actor;
99664
- const sliceRange = (0,getSliceRange/* default */.A)(volumeActor, viewPlaneNormal, focalPoint);
99665
- return {
99666
- sliceRange,
99667
- spacingInNormalDirection,
99668
- camera,
99669
- };
99670
- }
99671
- /* harmony default export */ const utilities_getVolumeSliceRangeInfo = (getVolumeSliceRangeInfo);
99672
-
99673
- ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/getVolumeViewportScrollInfo.js
99674
-
99675
- function getVolumeViewportScrollInfo(viewport, volumeId, useSlabThickness = false) {
99676
- const { sliceRange, spacingInNormalDirection, camera } = utilities_getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness);
99677
- const { min, max, current } = sliceRange;
99678
- const numScrollSteps = Math.round((max - min) / spacingInNormalDirection);
99679
- const fraction = (current - min) / (max - min);
99680
- const floatingStepNumber = fraction * numScrollSteps;
99681
- const currentStepIndex = Math.round(floatingStepNumber);
99682
- return {
99683
- numScrollSteps,
99684
- currentStepIndex,
99685
- sliceRangeInfo: {
99686
- sliceRange,
99687
- spacingInNormalDirection,
99688
- camera,
99689
- },
99690
- };
99691
- }
99692
- /* harmony default export */ const utilities_getVolumeViewportScrollInfo = (getVolumeViewportScrollInfo);
99693
-
99694
99887
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/utilities/snapFocalPointToSlice.js
99695
99888
 
99696
99889
  function snapFocalPointToSlice(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, deltaFrames) {
@@ -100591,8 +100784,8 @@ function isValidVolume(imageIds) {
100591
100784
  modality === baseMetadata.modality &&
100592
100785
  columns === baseMetadata.columns &&
100593
100786
  rows === baseMetadata.rows &&
100594
- (0,isEqual/* default */.A)(imageOrientationPatient, baseMetadata.imageOrientationPatient) &&
100595
- (0,isEqual/* default */.A)(pixelSpacing, baseMetadata.pixelSpacing));
100787
+ (0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient) &&
100788
+ (0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing));
100596
100789
  });
100597
100790
  return validVolume;
100598
100791
  }
@@ -101425,7 +101618,7 @@ class VoxelManager {
101425
101618
  return [scalarData[index++], scalarData[index++], scalarData[index++]];
101426
101619
  }, (index, v) => {
101427
101620
  index *= 3;
101428
- const isChanged = !(0,isEqual/* default */.A)(scalarData[index], v);
101621
+ const isChanged = !(0,isEqual/* default */.Ay)(scalarData[index], v);
101429
101622
  scalarData[index++] = v[0];
101430
101623
  scalarData[index++] = v[1];
101431
101624
  scalarData[index++] = v[2];
@@ -101779,6 +101972,7 @@ function hexToRgb(hex) {
101779
101972
 
101780
101973
 
101781
101974
 
101975
+
101782
101976
 
101783
101977
 
101784
101978
  /***/ }),
@@ -101788,7 +101982,10 @@ function hexToRgb(hex) {
101788
101982
 
101789
101983
  "use strict";
101790
101984
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
101791
- /* harmony export */ A: () => (/* binding */ isEqual)
101985
+ /* harmony export */ Ay: () => (/* binding */ isEqual),
101986
+ /* harmony export */ Ph: () => (/* binding */ isEqualAbs),
101987
+ /* harmony export */ WC: () => (/* binding */ isEqualNegative),
101988
+ /* harmony export */ n4: () => (/* binding */ isEqual)
101792
101989
  /* harmony export */ });
101793
101990
  function areNumbersEqualWithTolerance(num1, num2, tolerance) {
101794
101991
  return Math.abs(num1 - num2) <= tolerance;
@@ -101822,6 +102019,11 @@ function isEqual(v1, v2, tolerance = 1e-5) {
101822
102019
  }
101823
102020
  return false;
101824
102021
  }
102022
+ const negative = (v) => typeof v === 'number' ? -v : v?.map ? v.map(negative) : !v;
102023
+ const abs = (v) => typeof v === 'number' ? Math.abs(v) : v?.map ? v.map(abs) : v;
102024
+ const isEqualNegative = (v1, v2, tolerance = undefined) => isEqual(v1, negative(v2), tolerance);
102025
+ const isEqualAbs = (v1, v2, tolerance = undefined) => isEqual(abs(v1), abs(v2), tolerance);
102026
+
101825
102027
 
101826
102028
 
101827
102029
  /***/ }),
@@ -257988,7 +258190,7 @@ var selectOrdinal = function selectOrdinal() {
257988
258190
  /******/ // This function allow to reference async chunks
257989
258191
  /******/ __webpack_require__.u = (chunkId) => {
257990
258192
  /******/ // return url for filenames based on template
257991
- /******/ return "" + ({"54":"histogram-worker","525":"dicom-microscopy-viewer","572":"polySeg","584":"suv-peak-worker"}[chunkId] || chunkId) + ".bundle." + {"54":"829e14ec12c2b41a4323","94":"43efc46965f713884e2c","109":"b4fee2a22b622839baf5","121":"b582314ec0024fdf2d15","236":"4ca7987e1d57f60ec13a","243":"1f9a962620b0bf56e1f2","295":"9926ff25c6dbf53845b1","297":"194d8985ab974839b5b6","325":"f66ce293e4da43b8265a","342":"340982440de15f540a89","390":"cc22afb1fbd172483685","445":"38c6d2af64e41cd7c614","448":"5217fef3c97aa24f372a","473":"6cd4be953853f35b29c3","481":"a2b01ffe06a262fa9375","483":"a353efc5a5dd563c903c","487":"06bb8192c2549a477d98","525":"d3a56dc9f62df5e11019","530":"17b9a34fefff133e5379","544":"e8227e98860e39636a00","550":"5eeb4aafe96a3638b37e","572":"1799686b019040500219","574":"72bd5061ccd504235419","584":"25f8b85eab9ec06da48d","644":"1e77691d2eeb96a423b0","682":"f411ab56eccea1d22d8f","699":"50f53a876d7f6add8bd3","721":"8866191388a953936146","722":"2547630541b670f10d6e","726":"c8de818cf1a3ff0cf7d2","776":"016de692163e683cc11a","783":"ca757d64c5a3fe609b3c","806":"50e039eb624382ee1fce","835":"4c0eaa2c1a427ee41817","862":"55dde21bab4c841b6259","889":"f82b6f155026ad1ac1a6","905":"7a8e7c20922db4f85e70","907":"db37949266a9b79c12b8","931":"d270a1fda9a2836c3cc5","939":"9d93b2e47c52338747a2","961":"e8b0b51dad251e90be8c","981":"4fab5871bfc81cfadcda","989":"9155edb5aee01580a8b4","998":"76824b99c0ce6acfd75d"}[chunkId] + ".js";
258193
+ /******/ return "" + ({"54":"histogram-worker","525":"dicom-microscopy-viewer","572":"polySeg","584":"suv-peak-worker"}[chunkId] || chunkId) + ".bundle." + {"54":"829e14ec12c2b41a4323","94":"830180a268276294cb20","109":"b4fee2a22b622839baf5","121":"b582314ec0024fdf2d15","236":"e128a6f4c3e4600c55b0","243":"d1aebc1b37fbc79b4efa","295":"9926ff25c6dbf53845b1","297":"194d8985ab974839b5b6","325":"b9562b2d87395c98c6fd","342":"8da40c53fe26b492a0a1","367":"da5db5b510b537e43888","370":"d009a20516eae7c98921","390":"41fd0a538167790d9d47","445":"38c6d2af64e41cd7c614","448":"8cc61deda2bc80acba01","481":"a2b01ffe06a262fa9375","483":"67e9abdcf23262c94606","487":"95038d078cb68e2ef2fb","525":"d3a56dc9f62df5e11019","530":"17b9a34fefff133e5379","544":"4d1fb477b572f50f4220","550":"a716f910818556a3fe25","572":"e577ad8d051493b01ed8","574":"a09bcafd228eaa261546","584":"63bd26cc0f6f37ade9c9","644":"1e77691d2eeb96a423b0","682":"a1fa16d4d12332743a01","699":"ce1da733d32e72f233dc","721":"24b04bc522eb42eed661","722":"1242e0348afc63ca4f5e","726":"c8de818cf1a3ff0cf7d2","776":"4b13326929e972f1b556","783":"82c773591d704fd43704","835":"4c0eaa2c1a427ee41817","862":"1380dc65a7782ec98457","889":"452d430a2de1befbb4b6","905":"7cdf93c8dcb4a64cf85a","907":"770adbc99f6c80f17ab2","931":"d270a1fda9a2836c3cc5","939":"9d93b2e47c52338747a2","961":"ebc13fc1dd54a0a4c577","981":"acde3b12915e455d660c","989":"852be152ceda813c34b8","998":"cd8fbf4a16475a9eaa13"}[chunkId] + ".js";
257992
258194
  /******/ };
257993
258195
  /******/ })();
257994
258196
  /******/