@ohif/app 3.11.0-beta.99 → 3.11.0

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 (51) hide show
  1. package/dist/{2676.bundle.7e194265450db9aa1e98.js → 1402.bundle.e5306db9171c6c9793a7.js} +1379 -857
  2. package/dist/{9625.bundle.88dafbecfb596dade1a7.js → 1447.bundle.976ce9f69636f66a9eab.js} +2401 -2422
  3. package/dist/{147.bundle.c27839e06e2e8cabf9e1.js → 147.bundle.e22bae08eb10c0a51314.js} +42 -122
  4. package/dist/{1919.bundle.c53e597a4d2109ef7c97.js → 1919.bundle.ca1ffebd2ee775dc2d82.js} +6 -4
  5. package/dist/{2011.bundle.c44c0094525a51b528f4.js → 2011.bundle.12539f6bbbfc20a372e9.js} +2726 -197
  6. package/dist/{6216.bundle.48ff7813b6b3b8aba5f0.js → 2345.bundle.1fedf5750caf46ce99d9.js} +1 -35
  7. package/dist/{2701.bundle.d5c7ef6ec8b6cd9c2dfa.js → 2701.bundle.f2c7a5ab4a8b49d73bff.js} +9 -9
  8. package/dist/{2974.bundle.54d5903a8b29f1b09299.js → 2974.bundle.ec95e58b346dbe30a362.js} +2 -0
  9. package/dist/{7750.bundle.216dafe3c87d611928da.js → 319.bundle.45c1c250b562a3feefa5.js} +296 -62
  10. package/dist/{3658.bundle.046b575faed9e6bf1915.js → 3658.bundle.4b03e3bc783328aab18f.js} +2 -2
  11. package/dist/{9594.bundle.e623f61b984d7ff3b4b6.js → 4019.bundle.e07cc2a71b6e189a706a.js} +31 -157
  12. package/dist/{4113.bundle.46086f61126bf7100c6b.js → 4113.bundle.3b3fed48ad784ccda1a1.js} +268 -67
  13. package/dist/{414.bundle.443f391e019ece702e08.js → 414.bundle.fac8463232edcfda0b6c.js} +15 -15
  14. package/dist/{4202.bundle.aa4161a7b8cb7c691072.js → 4202.bundle.f804c72fb887b9543506.js} +1 -1
  15. package/dist/{4759.bundle.4da90b9346bb5e377ac6.js → 4759.bundle.8686abdd7bcf4aa7d107.js} +2 -0
  16. package/dist/{5349.bundle.be4b2d9a58412788944e.js → 5349.bundle.c117cc60ab5ff40eed14.js} +2 -2
  17. package/dist/{6972.bundle.0992b530f9691709f6d8.js → 557.bundle.a0344a04ae7a43642402.js} +5541 -5283
  18. package/dist/{5674.bundle.6c0d445cbd151b6e7aa1.js → 5674.bundle.4e40a906351477a2a193.js} +2 -0
  19. package/dist/{6201.bundle.a43859b8c8d3c89d73fe.js → 6201.bundle.5d7b8937f331f965d1aa.js} +4 -4
  20. package/dist/{6376.bundle.de4abf332424cba7513e.js → 6376.bundle.24e14fa9bf28c7c86e7c.js} +1 -1
  21. package/dist/{1943.bundle.3cf999579ec18e369ae6.js → 6991.bundle.08967b6f5698660e3a19.js} +67 -51
  22. package/dist/{7190.bundle.a35063abb9cb95986e67.js → 7190.bundle.4448c5a66a997bea24ca.js} +45 -8
  23. package/dist/{7197.bundle.c43fa621a7f16a4ea598.js → 7197.bundle.b8ce1b612ab1eff5d3ee.js} +5 -5
  24. package/dist/{810.bundle.0012733e3c8a87684485.js → 810.bundle.84fc54342c180b8a3023.js} +6 -6
  25. package/dist/{8228.bundle.2df7b5c0e4e0fdbb3654.js → 8228.bundle.ec3557eae81cafaed8c9.js} +2 -2
  26. package/dist/{85.bundle.c2855f98bbc7af94324a.js → 85.bundle.f9908f1f7350e5027d37.js} +3 -2
  27. package/dist/{8558.bundle.b69313ff865d69505f3f.js → 8558.bundle.ead200c0f2518d73739f.js} +3 -1
  28. package/dist/{860.bundle.f0d3efcceec48a1147ee.js → 860.bundle.f90055bfb2088bf17617.js} +24 -1
  29. package/dist/{8740.bundle.d0f554795adaecf0292c.js → 8740.bundle.9e567165a05c863b9698.js} +18 -5
  30. package/dist/{8815.bundle.85f43d0109e9e8eb7d2f.js → 8815.bundle.9999a630034893a74508.js} +32 -10
  31. package/dist/{934.bundle.f60a5cfd492b9b2f80d7.js → 934.bundle.e620a43102a8abf8a1e3.js} +4 -2
  32. package/dist/{963.bundle.5a8404d29251b83344c9.js → 963.bundle.b2434897acfb3e8abee5.js} +29 -9
  33. package/dist/{1443.bundle.405ff549a88a585906f3.js → 9732.bundle.91cb05748bef4e4f67c2.js} +883 -1731
  34. package/dist/{9560.bundle.203976e64c9a0202e247.js → 9856.bundle.c34e4165e91ef095aa9f.js} +5853 -5649
  35. package/dist/{9862.bundle.11d2a0f6528e9e916e25.js → 9862.bundle.e404cb5f0e762fbf6a03.js} +2 -14
  36. package/dist/{5886.bundle.181e673d6d5a9333039a.js → 9892.bundle.364aba175ce50baeb46c.js} +35397 -32968
  37. package/dist/app-config.js +8 -0
  38. package/dist/{app.bundle.4c2206d03a480f25fa24.js → app.bundle.804c5a4cd283acda540d.js} +2239 -1468
  39. package/dist/{compute.bundle.06ee8311038e4ac2d34d.js → compute.bundle.a1c8365c4732e8b82ca3.js} +3 -3
  40. package/dist/index.html +1 -1
  41. package/dist/{interpolation.bundle.6b3b374f2888d3744e61.js → interpolation.bundle.488206d0a2c4fa1dd6c5.js} +1 -1
  42. package/dist/{polySeg.bundle.d8a36b40716862d016de.js → polySeg.bundle.02258624e0ec30e9934c.js} +3 -3
  43. package/dist/sw.js +1 -1
  44. package/package.json +22 -22
  45. /package/dist/{1459.bundle.ce20cf6141ce43861cb6.js → 1459.bundle.163c80965265cae11781.js} +0 -0
  46. /package/dist/{1807.bundle.b29feec5110c55747364.js → 1807.bundle.d79c83317de38e4cffbd.js} +0 -0
  47. /package/dist/{213.bundle.5f47c7726bac8015c955.js → 213.bundle.f8b1fd7851428f0fa02f.js} +0 -0
  48. /package/dist/{2424.bundle.efc13d194c408554908e.js → 2424.bundle.7469c5960e905196f646.js} +0 -0
  49. /package/dist/{6027.bundle.80487e243df9ca540b1e.js → 6027.bundle.ab73f6c39c04c7662744.js} +0 -0
  50. /package/dist/{7431.bundle.503dc3262479de76225b.js → 7431.bundle.494b080a8141ef60067a.js} +0 -0
  51. /package/dist/{7639.bundle.d266780fbc9fe5a0053f.js → 7639.bundle.664fc584f04ca34a4bf1.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[9594],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[4019],{
3
3
 
4
4
  /***/ 97:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -155,22 +155,6 @@ const eraseInsideSphere = ERASE_SPHERE_STRATEGY.strategyFunction;
155
155
 
156
156
 
157
157
 
158
- /***/ }),
159
-
160
- /***/ 2222:
161
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
162
-
163
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
164
- /* harmony export */ A: () => (/* binding */ getCanvasEllipseCorners)
165
- /* harmony export */ });
166
- function getCanvasEllipseCorners(ellipseCanvasPoints) {
167
- const [bottom, top, left, right] = ellipseCanvasPoints;
168
- const topLeft = [left[0], top[1]];
169
- const bottomRight = [right[0], bottom[1]];
170
- return [topLeft, bottomRight];
171
- }
172
-
173
-
174
158
  /***/ }),
175
159
 
176
160
  /***/ 5403:
@@ -819,20 +803,22 @@ const sphereComposition = {
819
803
  if (!points) {
820
804
  return;
821
805
  }
822
- const center = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.fromValues */ .eR.fromValues(0, 0, 0);
823
- points.forEach((point) => {
824
- gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.add */ .eR.add(center, center, point);
825
- });
826
- gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.scale */ .eR.scale(center, center, 1 / points.length);
806
+ const center = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.create */ .eR.create();
807
+ if (points.length >= 2) {
808
+ gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.add */ .eR.add(center, points[0], points[1]);
809
+ gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.scale */ .eR.scale(center, center, 0.5);
810
+ }
811
+ else {
812
+ gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.copy */ .eR.copy(center, points[0]);
813
+ }
827
814
  operationData.centerWorld = center;
828
815
  operationData.centerIJK = transformWorldToIndex(segmentationImageData, center);
829
- const { boundsIJK: newBoundsIJK, topLeftWorld, bottomRightWorld, } = (0,_utilities_getSphereBoundsInfo__WEBPACK_IMPORTED_MODULE_6__/* .getSphereBoundsInfoFromViewport */ .l)(points.slice(0, 2), segmentationImageData, viewport);
816
+ const { boundsIJK: newBoundsIJK } = (0,_utilities_getSphereBoundsInfo__WEBPACK_IMPORTED_MODULE_6__/* .getSphereBoundsInfoFromViewport */ .l)(points.slice(0, 2), segmentationImageData, viewport);
817
+ const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
818
+ const corners = (0,_fillCircle__WEBPACK_IMPORTED_MODULE_5__/* .getEllipseCornersFromCanvasCoordinates */ .C$)(canvasCoordinates);
819
+ const cornersInWorld = corners.map((corner) => viewport.canvasToWorld(corner));
830
820
  operationData.isInObjectBoundsIJK = newBoundsIJK;
831
- operationData.isInObject = (0,_fillCircle__WEBPACK_IMPORTED_MODULE_5__/* .createEllipseInPoint */ .mu)({
832
- topLeftWorld,
833
- bottomRightWorld,
834
- center,
835
- });
821
+ operationData.isInObject = (0,_fillCircle__WEBPACK_IMPORTED_MODULE_5__/* .createEllipseInPoint */ .mu)(cornersInWorld);
836
822
  },
837
823
  };
838
824
  const SPHERE_STRATEGY = new _BrushStrategy__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A('Sphere', _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.regionFill, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.setValue, sphereComposition, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.determineSegmentIndex, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.preview, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.labelmapStatistics, _compositions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.ensureSegmentationVolumeFor3DManipulation);
@@ -1611,23 +1597,35 @@ const PARALLEL_THRESHOLD = 1 - EPSILON;
1611
1597
  function filterAnnotationsWithinSlice(annotations, camera, spacingInNormalDirection) {
1612
1598
  const { viewPlaneNormal } = camera;
1613
1599
  const annotationsWithParallelNormals = annotations.filter((td) => {
1614
- let annotationViewPlaneNormal = td.metadata.viewPlaneNormal;
1600
+ const { planeRestriction, referencedImageId } = td.metadata;
1601
+ let { viewPlaneNormal: annotationViewPlaneNormal } = td.metadata;
1602
+ if (planeRestriction) {
1603
+ const { inPlaneVector1, inPlaneVector2 } = planeRestriction;
1604
+ if (inPlaneVector1 &&
1605
+ !isEqual(0, gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.dot */ .eR.dot(viewPlaneNormal, inPlaneVector1))) {
1606
+ return false;
1607
+ }
1608
+ if (inPlaneVector2 &&
1609
+ !isEqual(0, gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.dot */ .eR.dot(viewPlaneNormal, inPlaneVector2))) {
1610
+ return false;
1611
+ }
1612
+ return true;
1613
+ }
1615
1614
  if (!td.metadata.referencedImageId &&
1616
1615
  !annotationViewPlaneNormal &&
1617
1616
  td.metadata.FrameOfReferenceUID) {
1618
1617
  for (const point of td.data.handles.points) {
1619
1618
  const vector = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.sub */ .eR.sub(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), point, camera.focalPoint);
1620
- const dotProduct = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.dot */ .eR.dot(vector, camera.viewPlaneNormal);
1619
+ const dotProduct = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.dot */ .eR.dot(vector, viewPlaneNormal);
1621
1620
  if (!isEqual(dotProduct, 0)) {
1622
1621
  return false;
1623
1622
  }
1624
1623
  }
1625
- td.metadata.viewPlaneNormal = camera.viewPlaneNormal;
1624
+ td.metadata.viewPlaneNormal = viewPlaneNormal;
1626
1625
  td.metadata.cameraFocalPoint = camera.focalPoint;
1627
1626
  return true;
1628
1627
  }
1629
- if (!annotationViewPlaneNormal) {
1630
- const { referencedImageId } = td.metadata;
1628
+ if (!annotationViewPlaneNormal && referencedImageId) {
1631
1629
  const { imageOrientationPatient } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.metaData.get('imagePlaneModule', referencedImageId);
1632
1630
  const rowCosineVec = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
1633
1631
  const colCosineVec = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
@@ -1704,130 +1702,6 @@ function filterAnnotationsWithinSamePlane(annotations, camera) {
1704
1702
  }
1705
1703
 
1706
1704
 
1707
- /***/ }),
1708
-
1709
- /***/ 40905:
1710
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1711
-
1712
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1713
- /* harmony export */ S: () => (/* binding */ getStrategyData)
1714
- /* harmony export */ });
1715
- /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
1716
- /* harmony import */ var _stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98870);
1717
- /* harmony import */ var _stateManagement_segmentation_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91963);
1718
- /* harmony import */ var _utilities_segmentation_getReferenceVolumeForSegmentationVolume__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12853);
1719
-
1720
-
1721
-
1722
-
1723
- function getStrategyDataForVolumeViewport({ operationData }) {
1724
- const { volumeId } = operationData;
1725
- if (!volumeId) {
1726
- const event = new CustomEvent(_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.Enums.Events.ERROR_EVENT, {
1727
- detail: {
1728
- type: 'Segmentation',
1729
- message: 'No volume id found for the segmentation',
1730
- },
1731
- cancelable: true,
1732
- });
1733
- _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.eventTarget.dispatchEvent(event);
1734
- return null;
1735
- }
1736
- const segmentationVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
1737
- const imageVolume = (0,_utilities_segmentation_getReferenceVolumeForSegmentationVolume__WEBPACK_IMPORTED_MODULE_3__/* .getReferenceVolumeForSegmentationVolume */ .b)(volumeId);
1738
- if (!segmentationVolume || !imageVolume) {
1739
- return null;
1740
- }
1741
- const { imageData: segmentationImageData } = segmentationVolume;
1742
- const { voxelManager: segmentationVoxelManager } = segmentationVolume;
1743
- const { voxelManager: imageVoxelManager, imageData } = imageVolume;
1744
- return {
1745
- segmentationImageData,
1746
- segmentationVoxelManager,
1747
- segmentationScalarData: null,
1748
- imageScalarData: null,
1749
- imageVoxelManager,
1750
- imageData,
1751
- };
1752
- }
1753
- function getStrategyDataForStackViewport({ operationData, viewport, strategy, }) {
1754
- const { segmentationId } = operationData;
1755
- let segmentationImageData;
1756
- let segmentationVoxelManager;
1757
- let segmentationScalarData;
1758
- let imageScalarData;
1759
- let imageVoxelManager;
1760
- let imageData;
1761
- if (strategy.ensureSegmentationVolumeFor3DManipulation) {
1762
- strategy.ensureSegmentationVolumeFor3DManipulation({
1763
- operationData,
1764
- viewport,
1765
- });
1766
- segmentationVoxelManager = operationData.segmentationVoxelManager;
1767
- segmentationImageData = operationData.segmentationImageData;
1768
- segmentationScalarData = null;
1769
- }
1770
- else {
1771
- const labelmapImageId = (0,_stateManagement_segmentation_segmentationState__WEBPACK_IMPORTED_MODULE_1__.getCurrentLabelmapImageIdForViewport)(viewport.id, segmentationId);
1772
- if (!labelmapImageId) {
1773
- return null;
1774
- }
1775
- const actorEntry = (0,_stateManagement_segmentation_helpers__WEBPACK_IMPORTED_MODULE_2__/* .getLabelmapActorEntry */ .wV)(viewport.id, segmentationId);
1776
- if (!actorEntry) {
1777
- return null;
1778
- }
1779
- const currentSegImage = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getImage(labelmapImageId);
1780
- segmentationImageData = actorEntry.actor.getMapper().getInputData();
1781
- segmentationVoxelManager = currentSegImage.voxelManager;
1782
- const currentSegmentationImageId = operationData.imageId;
1783
- const segmentationImage = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getImage(currentSegmentationImageId);
1784
- if (!segmentationImage) {
1785
- return null;
1786
- }
1787
- segmentationScalarData = segmentationImage.getPixelData?.();
1788
- }
1789
- if (strategy.ensureImageVolumeFor3DManipulation) {
1790
- strategy.ensureImageVolumeFor3DManipulation({
1791
- operationData,
1792
- viewport,
1793
- });
1794
- imageVoxelManager = operationData.imageVoxelManager;
1795
- imageScalarData = operationData.imageScalarData;
1796
- imageData = operationData.imageData;
1797
- }
1798
- else {
1799
- const currentImageId = viewport.getCurrentImageId();
1800
- if (!currentImageId) {
1801
- return null;
1802
- }
1803
- const image = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getImage(currentImageId);
1804
- imageData = image ? null : viewport.getImageData();
1805
- imageScalarData = image?.getPixelData() || imageData.getScalarData();
1806
- imageVoxelManager = image?.voxelManager;
1807
- }
1808
- return {
1809
- segmentationImageData,
1810
- segmentationScalarData,
1811
- imageScalarData,
1812
- segmentationVoxelManager,
1813
- imageVoxelManager,
1814
- imageData,
1815
- };
1816
- }
1817
- function getStrategyData({ operationData, viewport, strategy, }) {
1818
- if (!operationData) {
1819
- return null;
1820
- }
1821
- if (('volumeId' in operationData && operationData.volumeId != null) ||
1822
- ('referencedVolumeId' in operationData &&
1823
- operationData.referencedVolumeId != null)) {
1824
- return getStrategyDataForVolumeViewport({ operationData });
1825
- }
1826
- return getStrategyDataForStackViewport({ operationData, viewport, strategy });
1827
- }
1828
-
1829
-
1830
-
1831
1705
  /***/ }),
1832
1706
 
1833
1707
  /***/ 42797: