@ohif/app 3.12.0-beta.90 → 3.12.0-beta.92

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 (45) hide show
  1. package/dist/{1037.bundle.87a5adb8c92bd5bf53f5.js → 1037.bundle.dd9098a9a640f0d0ef0f.js} +129 -96
  2. package/dist/{1608.bundle.3d904bc76f5d5f78ff21.js → 1608.bundle.f855c4bdb7f00eb66fca.js} +1 -1
  3. package/dist/{1903.bundle.f0505c6e927d0bef5589.js → 1903.bundle.9a291597f23ebaa3371c.js} +49 -47
  4. package/dist/{1604.bundle.4f01a6b0b8d5b1cbc294.js → 1933.bundle.a5d41c04da5425d06694.js} +13 -26
  5. package/dist/{2018.bundle.59c7c4cb3f79f63bab68.js → 2018.bundle.4527f2b0c1c8ff75f568.js} +18 -43
  6. package/dist/{306.bundle.f9faa2b3cdd7e86b5869.js → 306.bundle.a0af0889477845729c6a.js} +23 -1
  7. package/dist/{3461.bundle.458597198f24359ec78f.js → 3461.bundle.3cac685ef19f883a0f9d.js} +27 -8
  8. package/dist/{4019.bundle.1be1cdd0805ad2c59d65.js → 4019.bundle.03029c488a02493cb7f3.js} +17 -1
  9. package/dist/{2518.bundle.644302643ac0790e7374.js → 4033.bundle.1609f8751de2a6aff280.js} +457 -303
  10. package/dist/{4819.bundle.f187a4c0517c85e37ab0.js → 4819.bundle.14344bf9acf5c5f6d123.js} +3 -3
  11. package/dist/{5028.bundle.6003ab9178779929462f.js → 5028.bundle.c61b7cd88172e2d589d5.js} +2 -2
  12. package/dist/{5400.bundle.c3a3fe8867efa2edfa94.js → 5400.bundle.428fdd2dc347a7fda9e6.js} +96 -92
  13. package/dist/5457.bundle.af893cd38fdaeafd5c2a.js +89 -0
  14. package/dist/{5485.bundle.2ee096f57ff7e51d4c23.js → 5485.bundle.929d9add8bdf90a4f3c7.js} +8 -0
  15. package/dist/{5802.bundle.8922caf16c088b10cdb0.js → 5802.bundle.756d2ed511c06ee8b461.js} +2 -2
  16. package/dist/{6991.bundle.46bc04720d99fbb06785.js → 6991.bundle.7d091de815571097b96e.js} +8 -10
  17. package/dist/{7412.bundle.34fe5e72833e857edc0a.js → 7412.bundle.dfe01ae3e53107abe53d.js} +80 -57
  18. package/dist/{8305.bundle.8ea926425cdffaf84fe3.js → 8305.bundle.08ba73235df90e099838.js} +75 -55
  19. package/dist/{8558.bundle.c9ffb4f942dbbbff1849.js → 8558.bundle.705446f4883e84021bf4.js} +29 -11
  20. package/dist/{8583.bundle.7715397a42e8f00a9e3e.js → 8583.bundle.0288cadf5cf8401446b1.js} +12 -13
  21. package/dist/{874.bundle.92ddc54408fef9debee7.js → 874.bundle.7e543ec9343c9a718e3d.js} +35 -42
  22. package/dist/{3613.bundle.6157004e0592003c0800.js → 8802.bundle.4958d8ba1d0d521a002a.js} +131 -76
  23. package/dist/{9548.bundle.7be4f24aeadd0ad4f16c.js → 9195.bundle.70afccd0f802b78c279a.js} +75 -104
  24. package/dist/{9845.bundle.7e4db5e31b28d73fdac2.js → 9845.bundle.0d22f2210c1d5ac18882.js} +1 -1
  25. package/dist/{app.bundle.bdd8a45996ed4ca28560.js → app.bundle.2b7e40349f89ffdfd96c.js} +1055 -219
  26. package/dist/{compute.bundle.f3ca9fb0e7ce9e885b9c.js → compute.bundle.4c0ef8b919cbe5eef44d.js} +3 -3
  27. package/dist/index.html +1 -1
  28. package/dist/{polySeg.bundle.7b8d1bb21d442a48da1d.js → polySeg.bundle.75f37f2780c5375e161e.js} +3 -3
  29. package/dist/sw.js +1 -1
  30. package/package.json +22 -22
  31. package/dist/5457.bundle.535bae0c872c1ca0c2cb.js +0 -1358
  32. /package/dist/{1459.bundle.0481573ae1bde12b24ee.js → 1459.bundle.c4acfc6df383fc187e9e.js} +0 -0
  33. /package/dist/{147.bundle.6fc65a239d1ae1c6a918.js → 147.bundle.c191ca0b67633f707aff.js} +0 -0
  34. /package/dist/{1515.bundle.73d415797a677ae5261e.js → 1515.bundle.3f81b326242dd945ecdb.js} +0 -0
  35. /package/dist/{1604.css → 1933.css} +0 -0
  36. /package/dist/{213.bundle.9b152cd4d202cae43af2.js → 213.bundle.33092c23ffe1d81ae242.js} +0 -0
  37. /package/dist/{2243.bundle.25ca9faa6d0776355adf.js → 2243.bundle.e37c80996a222167dc14.js} +0 -0
  38. /package/dist/{2424.bundle.57b7484a3b1b1e5a1722.js → 2424.bundle.45583fc64208a2821aa3.js} +0 -0
  39. /package/dist/{319.bundle.4ea0dbcfeb553c900206.js → 319.bundle.febb2a63634488c11db6.js} +0 -0
  40. /package/dist/{6027.bundle.06ab1f1cd27f93f826e5.js → 6027.bundle.b2942a0dd2c583374d7b.js} +0 -0
  41. /package/dist/{7431.bundle.55dd86000e66bee467e2.js → 7431.bundle.b80819b8eb28d2ee897d.js} +0 -0
  42. /package/dist/{7639.bundle.a89f4a8c6e8b2593d7a4.js → 7639.bundle.2ad4b6cd132d87439fa6.js} +0 -0
  43. /package/dist/{85.bundle.f3a9149485e3fcf652f0.js → 85.bundle.a772983604a0f9514e33.js} +0 -0
  44. /package/dist/{9862.bundle.0456a2d473895bf2916e.js → 9862.bundle.eca4ea8821bb040a44c1.js} +0 -0
  45. /package/dist/{9927.bundle.d7051dac659d827d62d3.js → 9927.bundle.775cb41458de4c28a9ba.js} +0 -0
@@ -1183,7 +1183,7 @@ function PanelStudyBrowserTracking({
1183
1183
  seriesNumber: ds.SeriesNumber,
1184
1184
  modality: ds.Modality,
1185
1185
  seriesDate: ds.SeriesDate ? new Date(ds.SeriesDate).toLocaleDateString() : '',
1186
- numInstances: ds.numImageFrames,
1186
+ numInstances: ds.numImageFrames ?? ds.instances?.length,
1187
1187
  loadingProgress,
1188
1188
  countIcon: ds.countIcon,
1189
1189
  messages: ds.messages,
@@ -1244,8 +1244,8 @@ function getImageSrcFromImageId(cornerstone, imageId) {
1244
1244
  });
1245
1245
  }
1246
1246
  /* harmony default export */ const PanelStudyBrowserTracking_getImageSrcFromImageId = (getImageSrcFromImageId);
1247
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 141 modules
1248
- var default_src = __webpack_require__(39548);
1247
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
1248
+ var default_src = __webpack_require__(39195);
1249
1249
  ;// ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/index.tsx
1250
1250
 
1251
1251
  //
@@ -28,8 +28,8 @@ var src = __webpack_require__(42356);
28
28
  var i18n_src = __webpack_require__(68523);
29
29
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
30
30
  var esm = __webpack_require__(15327);
31
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 69 modules
32
- var dist_esm = __webpack_require__(53434);
31
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 70 modules
32
+ var dist_esm = __webpack_require__(14041);
33
33
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 192 modules
34
34
  var cornerstone_src = __webpack_require__(71903);
35
35
  ;// ../../../extensions/cornerstone-dicom-pmap/src/getSopClassHandlerModule.ts
@@ -622,9 +622,12 @@ function getToolGroupForViewport(viewportId, renderingEngineId) {
622
622
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
623
623
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
624
624
  /* harmony export */ });
625
+ /* unused harmony export PlanarFreehandContourSegmentationTool */
625
626
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
626
627
  /* harmony import */ var _stateManagement_segmentation_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49906);
627
628
  /* harmony import */ var _PlanarFreehandROITool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28220);
629
+ /* harmony import */ var _utilities_contours_AnnotationToPointData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29632);
630
+
628
631
 
629
632
 
630
633
 
@@ -639,6 +642,9 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
639
642
  }, toolProps);
640
643
  super(initialProps);
641
644
  }
645
+ static {
646
+ _utilities_contours_AnnotationToPointData__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.register(this);
647
+ }
642
648
  isContourSegmentationTool() {
643
649
  return true;
644
650
  }
@@ -664,32 +670,30 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
664
670
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
665
671
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
666
672
  /* harmony export */ });
667
- /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85817);
668
- /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15327);
669
- /* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3823);
670
- /* harmony import */ var _utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4096);
671
- /* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(95527);
672
- /* harmony import */ var _utilities_planar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13165);
673
- /* harmony import */ var _utilities_throttle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(27730);
674
- /* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(60810);
675
- /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58640);
676
- /* harmony import */ var _planarFreehandROITool_drawLoop__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55927);
677
- /* harmony import */ var _planarFreehandROITool_editLoopCommon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(92400);
678
- /* harmony import */ var _planarFreehandROITool_closedContourEditLoop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(57999);
679
- /* harmony import */ var _planarFreehandROITool_openContourEditLoop__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(69855);
680
- /* harmony import */ var _planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(70734);
681
- /* harmony import */ var _planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(58161);
682
- /* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(44049);
683
- /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(74347);
684
- /* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(473);
685
- /* harmony import */ var _utilities_math_polyline__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(92984);
686
- /* harmony import */ var _utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(18990);
687
- /* harmony import */ var _utilities_math_basic__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(73262);
688
- /* harmony import */ var _utilities_contours_calculatePerimeter__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(93843);
689
- /* harmony import */ var _base_ContourSegmentationBaseTool__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(36320);
690
- /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(99737);
691
- /* harmony import */ var _utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(40634);
692
-
673
+ /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
674
+ /* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3823);
675
+ /* harmony import */ var _utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4096);
676
+ /* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95527);
677
+ /* harmony import */ var _utilities_planar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13165);
678
+ /* harmony import */ var _utilities_throttle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(27730);
679
+ /* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60810);
680
+ /* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(58640);
681
+ /* harmony import */ var _planarFreehandROITool_drawLoop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55927);
682
+ /* harmony import */ var _planarFreehandROITool_editLoopCommon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(92400);
683
+ /* harmony import */ var _planarFreehandROITool_closedContourEditLoop__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(57999);
684
+ /* harmony import */ var _planarFreehandROITool_openContourEditLoop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(69855);
685
+ /* harmony import */ var _planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70734);
686
+ /* harmony import */ var _planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(58161);
687
+ /* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(44049);
688
+ /* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(74347);
689
+ /* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(473);
690
+ /* harmony import */ var _utilities_math_polyline__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(92984);
691
+ /* harmony import */ var _utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(18990);
692
+ /* harmony import */ var _utilities_math_basic__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(73262);
693
+ /* harmony import */ var _utilities_contours_calculatePerimeter__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(93843);
694
+ /* harmony import */ var _base_ContourSegmentationBaseTool__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(36320);
695
+ /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(99737);
696
+ /* harmony import */ var _utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(40634);
693
697
 
694
698
 
695
699
 
@@ -715,10 +719,10 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
715
719
 
716
720
 
717
721
 
718
- const { pointCanProjectOnLine } = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.polyline;
719
- const { EPSILON } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.CONSTANTS;
722
+ const { pointCanProjectOnLine } = _utilities_math__WEBPACK_IMPORTED_MODULE_3__.polyline;
723
+ const { EPSILON } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.CONSTANTS;
720
724
  const PARALLEL_THRESHOLD = 1 - EPSILON;
721
- class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_IMPORTED_MODULE_22__/* ["default"] */ .A {
725
+ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .A {
722
726
  static { this.toolName = 'PlanarFreehandROI'; }
723
727
  constructor(toolProps = {}, defaultToolProps = {
724
728
  supportedInteractionTypes: ['Mouse', 'Touch'],
@@ -726,7 +730,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
726
730
  storePointData: false,
727
731
  shadow: true,
728
732
  preventHandleOutsideImage: false,
729
- contourHoleAdditionModifierKey: _enums__WEBPACK_IMPORTED_MODULE_23__.KeyboardBindings.Shift,
733
+ contourHoleAdditionModifierKey: _enums__WEBPACK_IMPORTED_MODULE_22__.KeyboardBindings.Shift,
730
734
  alwaysRenderOpenContourHandles: {
731
735
  enabled: false,
732
736
  radius: 2,
@@ -753,7 +757,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
753
757
  displayOnePointAsCrosshairs: false,
754
758
  calculateStats: true,
755
759
  getTextLines: defaultGetTextLines,
756
- statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_20__.BasicStatsCalculator,
760
+ statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_19__.BasicStatsCalculator,
757
761
  },
758
762
  }) {
759
763
  super(toolProps, defaultToolProps);
@@ -765,22 +769,22 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
765
769
  const { element } = eventDetail;
766
770
  const annotation = this.createAnnotation(evt);
767
771
  this.addAnnotation(annotation, element);
768
- const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_7__.getViewportIdsWithToolToRender)(element, this.getToolName());
772
+ const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_6__.getViewportIdsWithToolToRender)(element, this.getToolName());
769
773
  this.activateDraw(evt, annotation, viewportIdsToRender);
770
774
  evt.preventDefault();
771
- (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(viewportIdsToRender);
775
+ (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(viewportIdsToRender);
772
776
  return annotation;
773
777
  };
774
778
  this.handleSelectedCallback = (evt, annotation, handle) => {
775
779
  const eventDetail = evt.detail;
776
780
  const { element } = eventDetail;
777
- const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_7__.getViewportIdsWithToolToRender)(element, this.getToolName());
781
+ const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_6__.getViewportIdsWithToolToRender)(element, this.getToolName());
778
782
  this.activateOpenContourEndEdit(evt, annotation, viewportIdsToRender, handle);
779
783
  };
780
784
  this.toolSelectedCallback = (evt, annotation) => {
781
785
  const eventDetail = evt.detail;
782
786
  const { element } = eventDetail;
783
- const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_7__.getViewportIdsWithToolToRender)(element, this.getToolName());
787
+ const viewportIdsToRender = (0,_utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_6__.getViewportIdsWithToolToRender)(element, this.getToolName());
784
788
  if (annotation.data.contour.closed) {
785
789
  this.activateClosedContourEdit(evt, annotation, viewportIdsToRender);
786
790
  }
@@ -790,7 +794,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
790
794
  evt.preventDefault();
791
795
  };
792
796
  this.isPointNearTool = (element, annotation, canvasCoords, proximity) => {
793
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
797
+ const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
794
798
  const { viewport } = enabledElement;
795
799
  const { polyline: points } = annotation.data.contour;
796
800
  let previousPoint = viewport.worldToCanvas(points[0]);
@@ -838,25 +842,25 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
838
842
  const { imageData, metadata } = image;
839
843
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
840
844
  const modalityUnitOptions = {
841
- isPreScaled: (0,_utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_19__/* .isViewportPreScaled */ .u)(viewport, targetId),
845
+ isPreScaled: (0,_utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_18__/* .isViewportPreScaled */ .u)(viewport, targetId),
842
846
  isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
843
847
  };
844
- const modalityUnit = (0,_utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_24__/* .getPixelValueUnits */ .j)(metadata.Modality, annotation.metadata.referencedImageId, modalityUnitOptions);
845
- const calibratedScale = (0,_utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_3__/* .getCalibratedLengthUnitsAndScale */ .Op)(image, () => {
848
+ const modalityUnit = (0,_utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_23__/* .getPixelValueUnits */ .j)(metadata.Modality, annotation.metadata.referencedImageId, modalityUnitOptions);
849
+ const calibratedScale = (0,_utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_2__/* .getCalibratedLengthUnitsAndScale */ .Op)(image, () => {
846
850
  const polyline = data.contour.polyline;
847
851
  const numPoints = polyline.length;
848
852
  const projectedPolyline = new Array(numPoints);
849
853
  for (let i = 0; i < numPoints; i++) {
850
854
  projectedPolyline[i] = viewport.worldToCanvas(polyline[i]);
851
855
  }
852
- const { maxX: canvasMaxX, maxY: canvasMaxY, minX: canvasMinX, minY: canvasMinY, } = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.polyline.getAABB(projectedPolyline);
856
+ const { maxX: canvasMaxX, maxY: canvasMaxY, minX: canvasMinX, minY: canvasMinY, } = _utilities_math__WEBPACK_IMPORTED_MODULE_3__.polyline.getAABB(projectedPolyline);
853
857
  const topLeftBBWorld = viewport.canvasToWorld([canvasMinX, canvasMinY]);
854
- const topLeftBBIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.transformWorldToIndex(imageData, topLeftBBWorld);
858
+ const topLeftBBIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.transformWorldToIndex(imageData, topLeftBBWorld);
855
859
  const bottomRightBBWorld = viewport.canvasToWorld([
856
860
  canvasMaxX,
857
861
  canvasMaxY,
858
862
  ]);
859
- const bottomRightBBIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.transformWorldToIndex(imageData, bottomRightBBWorld);
863
+ const bottomRightBBIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.transformWorldToIndex(imageData, bottomRightBBWorld);
860
864
  return [topLeftBBIndex, bottomRightBBIndex];
861
865
  });
862
866
  const canvasPoint = canvasCoordinates[0];
@@ -869,8 +873,8 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
869
873
  canvasPoint[0],
870
874
  canvasPoint[1] + 1,
871
875
  ]);
872
- const deltaInX = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.distance */ .eR.distance(originalWorldPoint, deltaXPoint);
873
- const deltaInY = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.distance */ .eR.distance(originalWorldPoint, deltaYPoint);
876
+ const deltaInX = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.distance */ .eR.distance(originalWorldPoint, deltaXPoint);
877
+ const deltaInY = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.distance */ .eR.distance(originalWorldPoint, deltaYPoint);
874
878
  if (closed) {
875
879
  this.updateClosedCachedStats({
876
880
  targetId,
@@ -900,7 +904,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
900
904
  const invalidated = annotation.invalidated;
901
905
  annotation.invalidated = false;
902
906
  if (invalidated) {
903
- (0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_15__.triggerAnnotationModified)(annotation, enabledElement.viewport.element, _enums__WEBPACK_IMPORTED_MODULE_23__.ChangeTypes.StatsUpdated);
907
+ (0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__.triggerAnnotationModified)(annotation, enabledElement.viewport.element, _enums__WEBPACK_IMPORTED_MODULE_22__.ChangeTypes.StatsUpdated);
904
908
  }
905
909
  return cachedStats;
906
910
  };
@@ -923,13 +927,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
923
927
  }
924
928
  const canvasCoordinates = data.contour.polyline.map((p) => viewport.worldToCanvas(p));
925
929
  if (!data.handles.textBox.hasMoved) {
926
- const canvasTextBoxCoords = (0,_utilities_drawing__WEBPACK_IMPORTED_MODULE_17__.getTextBoxCoordsCanvas)(canvasCoordinates);
930
+ const canvasTextBoxCoords = (0,_utilities_drawing__WEBPACK_IMPORTED_MODULE_16__.getTextBoxCoordsCanvas)(canvasCoordinates);
927
931
  data.handles.textBox.worldPosition =
928
932
  viewport.canvasToWorld(canvasTextBoxCoords);
929
933
  }
930
934
  const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
931
935
  const textBoxUID = '1';
932
- const boundingBox = (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_16__.drawLinkedTextBox)(svgDrawingHelper, annotation.annotationUID ?? '', textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
936
+ const boundingBox = (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_15__.drawLinkedTextBox)(svgDrawingHelper, annotation.annotationUID ?? '', textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
933
937
  const { x: left, y: top, width, height } = boundingBox;
934
938
  data.handles.textBox.worldBoundingBox = {
935
939
  topLeft: viewport.canvasToWorld([left, top]),
@@ -938,13 +942,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
938
942
  bottomRight: viewport.canvasToWorld([left + width, top + height]),
939
943
  };
940
944
  };
941
- (0,_planarFreehandROITool_drawLoop__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this);
942
- (0,_planarFreehandROITool_editLoopCommon__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(this);
943
- (0,_planarFreehandROITool_closedContourEditLoop__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(this);
944
- (0,_planarFreehandROITool_openContourEditLoop__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(this);
945
- (0,_planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .A)(this);
946
- (0,_planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(this);
947
- this._throttledCalculateCachedStats = (0,_utilities_throttle__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this._calculateCachedStats, 100, { trailing: true });
945
+ (0,_planarFreehandROITool_drawLoop__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(this);
946
+ (0,_planarFreehandROITool_editLoopCommon__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this);
947
+ (0,_planarFreehandROITool_closedContourEditLoop__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(this);
948
+ (0,_planarFreehandROITool_openContourEditLoop__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(this);
949
+ (0,_planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(this);
950
+ (0,_planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .A)(this);
951
+ this._throttledCalculateCachedStats = (0,_utilities_throttle__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(this._calculateCachedStats, 100, { trailing: true });
948
952
  }
949
953
  filterInteractableAnnotationsForElement(element, annotations) {
950
954
  if (!annotations || !annotations.length) {
@@ -954,16 +958,16 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
954
958
  if (!baseFilteredAnnotations || !baseFilteredAnnotations.length) {
955
959
  return;
956
960
  }
957
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
961
+ const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
958
962
  const { viewport } = enabledElement;
959
963
  let annotationsToDisplay;
960
- if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.VolumeViewport) {
964
+ if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.VolumeViewport) {
961
965
  const camera = viewport.getCamera();
962
- const { spacingInNormalDirection } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.getTargetVolumeAndSpacingInNormalDir(viewport, camera);
966
+ const { spacingInNormalDirection } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getTargetVolumeAndSpacingInNormalDir(viewport, camera);
963
967
  annotationsToDisplay = this.filterAnnotationsWithinSlice(baseFilteredAnnotations, camera, spacingInNormalDirection);
964
968
  }
965
969
  else {
966
- annotationsToDisplay = (0,_utilities_planar__WEBPACK_IMPORTED_MODULE_5__.filterAnnotationsForDisplay)(viewport, annotations);
970
+ annotationsToDisplay = (0,_utilities_planar__WEBPACK_IMPORTED_MODULE_4__.filterAnnotationsForDisplay)(viewport, annotations);
967
971
  }
968
972
  return annotationsToDisplay;
969
973
  }
@@ -975,9 +979,9 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
975
979
  !annotationViewPlaneNormal &&
976
980
  td.metadata.FrameOfReferenceUID) {
977
981
  for (const point of td.data.contour.polyline) {
978
- const vector = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.sub */ .eR.sub(gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.create */ .eR.create(), point, camera.focalPoint);
979
- const dotProduct = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.dot */ .eR.dot(vector, camera.viewPlaneNormal);
980
- if (!_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isEqual(dotProduct, 0)) {
982
+ const vector = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.sub */ .eR.sub(gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.create */ .eR.create(), point, camera.focalPoint);
983
+ const dotProduct = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.dot */ .eR.dot(vector, camera.viewPlaneNormal);
984
+ if (!_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isEqual(dotProduct, 0)) {
981
985
  return false;
982
986
  }
983
987
  }
@@ -987,14 +991,14 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
987
991
  }
988
992
  if (!annotationViewPlaneNormal) {
989
993
  const { referencedImageId } = td.metadata;
990
- const { imageOrientationPatient } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.metaData.get('imagePlaneModule', referencedImageId);
991
- const rowCosineVec = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.fromValues */ .eR.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
992
- const colCosineVec = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.fromValues */ .eR.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
993
- annotationViewPlaneNormal = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.create */ .eR.create();
994
- gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.cross */ .eR.cross(annotationViewPlaneNormal, rowCosineVec, colCosineVec);
994
+ const { imageOrientationPatient } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.metaData.get('imagePlaneModule', referencedImageId);
995
+ const rowCosineVec = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.fromValues */ .eR.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
996
+ const colCosineVec = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.fromValues */ .eR.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
997
+ annotationViewPlaneNormal = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.create */ .eR.create();
998
+ gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.cross */ .eR.cross(annotationViewPlaneNormal, rowCosineVec, colCosineVec);
995
999
  td.metadata.viewPlaneNormal = annotationViewPlaneNormal;
996
1000
  }
997
- const isParallel = Math.abs(gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.dot */ .eR.dot(viewPlaneNormal, annotationViewPlaneNormal)) >
1001
+ const isParallel = Math.abs(gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.dot */ .eR.dot(viewPlaneNormal, annotationViewPlaneNormal)) >
998
1002
  PARALLEL_THRESHOLD;
999
1003
  return annotationViewPlaneNormal && isParallel;
1000
1004
  });
@@ -1010,9 +1014,9 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1010
1014
  if (!annotation.isVisible) {
1011
1015
  continue;
1012
1016
  }
1013
- const dir = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.create */ .eR.create();
1014
- gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.sub */ .eR.sub(dir, focalPoint, point);
1015
- const dot = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.dot */ .eR.dot(dir, viewPlaneNormal);
1017
+ const dir = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.create */ .eR.create();
1018
+ gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.sub */ .eR.sub(dir, focalPoint, point);
1019
+ const dot = gl_matrix__WEBPACK_IMPORTED_MODULE_1__/* .vec3.dot */ .eR.dot(dir, viewPlaneNormal);
1016
1020
  if (Math.abs(dot) < halfSpacingInNormalDirection) {
1017
1021
  annotationsWithinSlice.push(annotation);
1018
1022
  }
@@ -1028,7 +1032,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1028
1032
  const onInterpolationComplete = (annotation) => {
1029
1033
  annotation.data.handles.points.length = 0;
1030
1034
  };
1031
- const annotation = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.deepMerge(contourAnnotation, {
1035
+ const annotation = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.deepMerge(contourAnnotation, {
1032
1036
  data: {
1033
1037
  contour: {
1034
1038
  polyline: [[...worldPos]],
@@ -1124,7 +1128,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1124
1128
  updateClosedCachedStats({ viewport, points, imageData, metadata, cachedStats, targetId, modalityUnit, canvasCoordinates, calibratedScale, deltaInX, deltaInY, }) {
1125
1129
  const { scale, areaUnit, unit } = calibratedScale;
1126
1130
  const { voxelManager } = viewport.getImageData();
1127
- const worldPosIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.transformWorldToIndex(imageData, points[0]);
1131
+ const worldPosIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.transformWorldToIndex(imageData, points[0]);
1128
1132
  worldPosIndex[0] = Math.floor(worldPosIndex[0]);
1129
1133
  worldPosIndex[1] = Math.floor(worldPosIndex[1]);
1130
1134
  worldPosIndex[2] = Math.floor(worldPosIndex[2]);
@@ -1135,7 +1139,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1135
1139
  let kMin = worldPosIndex[2];
1136
1140
  let kMax = worldPosIndex[2];
1137
1141
  for (let j = 1; j < points.length; j++) {
1138
- const worldPosIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.transformWorldToIndex(imageData, points[j]);
1142
+ const worldPosIndex = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.transformWorldToIndex(imageData, points[j]);
1139
1143
  worldPosIndex[0] = Math.floor(worldPosIndex[0]);
1140
1144
  worldPosIndex[1] = Math.floor(worldPosIndex[1]);
1141
1145
  worldPosIndex[2] = Math.floor(worldPosIndex[2]);
@@ -1146,13 +1150,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1146
1150
  kMin = Math.min(kMin, worldPosIndex[2]);
1147
1151
  kMax = Math.max(kMax, worldPosIndex[2]);
1148
1152
  }
1149
- const worldPosIndex2 = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.transformWorldToIndex(imageData, points[1]);
1153
+ const worldPosIndex2 = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.transformWorldToIndex(imageData, points[1]);
1150
1154
  worldPosIndex2[0] = Math.floor(worldPosIndex2[0]);
1151
1155
  worldPosIndex2[1] = Math.floor(worldPosIndex2[1]);
1152
1156
  worldPosIndex2[2] = Math.floor(worldPosIndex2[2]);
1153
- let area = _utilities_math__WEBPACK_IMPORTED_MODULE_4__.polyline.getArea(canvasCoordinates) / scale / scale;
1157
+ let area = _utilities_math__WEBPACK_IMPORTED_MODULE_3__.polyline.getArea(canvasCoordinates) / scale / scale;
1154
1158
  area *= deltaInX * deltaInY;
1155
- const perimeter = (0,_utilities_contours_calculatePerimeter__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .A)(points, closed) / scale;
1159
+ const perimeter = (0,_utilities_contours_calculatePerimeter__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .A)(points, closed) / scale;
1156
1160
  const iDelta = 0.01 * (iMax - iMin);
1157
1161
  const jDelta = 0.01 * (jMax - jMin);
1158
1162
  const kDelta = 0.01 * (kMax - kMin);
@@ -1182,7 +1186,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1182
1186
  if (point[1] != curRow) {
1183
1187
  intersectionCounter = 0;
1184
1188
  curRow = point[1];
1185
- intersections = (0,_utilities_math_polyline__WEBPACK_IMPORTED_MODULE_18__.getLineSegmentIntersectionsCoordinates)(canvasCoordinates, point, [canvasPosEnd[0], point[1]]);
1189
+ intersections = (0,_utilities_math_polyline__WEBPACK_IMPORTED_MODULE_17__.getLineSegmentIntersectionsCoordinates)(canvasCoordinates, point, [canvasPosEnd[0], point[1]]);
1186
1190
  intersections.sort((function (index) {
1187
1191
  return function (a, b) {
1188
1192
  return a[index] === b[index]
@@ -1224,7 +1228,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
1224
1228
  }
1225
1229
  updateOpenCachedStats({ targetId, metadata, cachedStats, modalityUnit, calibratedScale, points, }) {
1226
1230
  const { scale, unit } = calibratedScale;
1227
- const length = (0,_utilities_contours_calculatePerimeter__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .A)(points, closed) / scale;
1231
+ const length = (0,_utilities_contours_calculatePerimeter__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .A)(points, closed) / scale;
1228
1232
  cachedStats[targetId] = {
1229
1233
  Modality: metadata.Modality,
1230
1234
  length,
@@ -1237,29 +1241,29 @@ function defaultGetTextLines(data, targetId) {
1237
1241
  const cachedVolumeStats = data.cachedStats[targetId];
1238
1242
  const { area, mean, stdDev, length, perimeter, max, min, isEmptyArea, unit, areaUnit, modalityUnit, } = cachedVolumeStats || {};
1239
1243
  const textLines = [];
1240
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(area)) {
1244
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(area)) {
1241
1245
  const areaLine = isEmptyArea
1242
1246
  ? `Area: Oblique not supported`
1243
- : `Area: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(area)} ${areaUnit}`;
1247
+ : `Area: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(area)} ${areaUnit}`;
1244
1248
  textLines.push(areaLine);
1245
1249
  }
1246
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(mean)) {
1247
- textLines.push(`Mean: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(mean)} ${modalityUnit}`);
1250
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(mean)) {
1251
+ textLines.push(`Mean: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(mean)} ${modalityUnit}`);
1248
1252
  }
1249
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(max)) {
1250
- textLines.push(`Max: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(max)} ${modalityUnit}`);
1253
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(max)) {
1254
+ textLines.push(`Max: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(max)} ${modalityUnit}`);
1251
1255
  }
1252
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(min)) {
1253
- textLines.push(`Min: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(min)} ${modalityUnit}`);
1256
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(min)) {
1257
+ textLines.push(`Min: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(min)} ${modalityUnit}`);
1254
1258
  }
1255
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(stdDev)) {
1256
- textLines.push(`Std Dev: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(stdDev)} ${modalityUnit}`);
1259
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(stdDev)) {
1260
+ textLines.push(`Std Dev: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(stdDev)} ${modalityUnit}`);
1257
1261
  }
1258
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(perimeter)) {
1259
- textLines.push(`Perimeter: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(perimeter)} ${unit}`);
1262
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(perimeter)) {
1263
+ textLines.push(`Perimeter: ${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(perimeter)} ${unit}`);
1260
1264
  }
1261
- if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.isNumber(length)) {
1262
- textLines.push(`${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities.roundNumber(length)} ${unit}`);
1265
+ if (_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isNumber(length)) {
1266
+ textLines.push(`${_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundNumber(length)} ${unit}`);
1263
1267
  }
1264
1268
  return textLines;
1265
1269
  }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[5457],{
3
+
4
+ /***/ 95457:
5
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
+
7
+ // ESM COMPAT FLAG
8
+ __webpack_require__.r(__webpack_exports__);
9
+
10
+ // EXPORTS
11
+ __webpack_require__.d(__webpack_exports__, {
12
+ "default": () => (/* binding */ longitudinal_src),
13
+ extensionDependencies: () => (/* binding */ extensionDependencies),
14
+ initToolGroups: () => (/* reexport */ src.initToolGroups),
15
+ longitudinalInstance: () => (/* binding */ longitudinalInstance),
16
+ longitudinalRoute: () => (/* binding */ longitudinalRoute),
17
+ modeInstance: () => (/* binding */ modeInstance),
18
+ toolbarButtons: () => (/* reexport */ src.toolbarButtons),
19
+ tracked: () => (/* binding */ tracked)
20
+ });
21
+
22
+ // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
23
+ var i18next = __webpack_require__(40680);
24
+ ;// ../../../modes/longitudinal/package.json
25
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/mode-longitudinal"}');
26
+ ;// ../../../modes/longitudinal/src/id.js
27
+
28
+ const id = package_namespaceObject.UU;
29
+
30
+ // EXTERNAL MODULE: ../../../modes/basic/src/index.tsx + 4 modules
31
+ var src = __webpack_require__(35485);
32
+ ;// ../../../modes/longitudinal/src/index.ts
33
+
34
+
35
+
36
+ const tracked = {
37
+ measurements: '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
38
+ thumbnailList: '@ohif/extension-measurement-tracking.panelModule.seriesList',
39
+ viewport: '@ohif/extension-measurement-tracking.viewportModule.cornerstone-tracked'
40
+ };
41
+ const extensionDependencies = {
42
+ // Can derive the versions at least process.env.from npm_package_version
43
+ ...src.extensionDependencies,
44
+ '@ohif/extension-measurement-tracking': '^3.0.0'
45
+ };
46
+ const longitudinalInstance = {
47
+ ...src.basicLayout,
48
+ id: src.ohif.layout,
49
+ props: {
50
+ ...src.basicLayout.props,
51
+ leftPanels: [tracked.thumbnailList],
52
+ rightPanels: [src.cornerstone.segmentation, tracked.measurements],
53
+ viewports: [{
54
+ namespace: tracked.viewport,
55
+ // Re-use the display sets from basic
56
+ displaySetsToDisplay: src.basicLayout.props.viewports[0].displaySetsToDisplay
57
+ }, ...src.basicLayout.props.viewports]
58
+ }
59
+ };
60
+ const longitudinalRoute = {
61
+ ...src.basicRoute,
62
+ path: 'longitudinal',
63
+ /*init: ({ servicesManager, extensionManager }) => {
64
+ //defaultViewerRouteInit
65
+ },*/
66
+ layoutInstance: longitudinalInstance
67
+ };
68
+ const modeInstance = {
69
+ ...src.modeInstance,
70
+ // TODO: We're using this as a route segment
71
+ // We should not be.
72
+ id: id,
73
+ routeName: 'viewer',
74
+ displayName: i18next/* default */.A.t('Modes:Basic Viewer'),
75
+ routes: [longitudinalRoute],
76
+ extensions: extensionDependencies
77
+ };
78
+ const mode = {
79
+ ...src.mode,
80
+ id: id,
81
+ modeInstance,
82
+ extensionDependencies
83
+ };
84
+ /* harmony default export */ const longitudinal_src = (mode);
85
+
86
+
87
+ /***/ })
88
+
89
+ }]);
@@ -30,6 +30,7 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  ohif: () => (/* binding */ ohif),
31
31
  onModeEnter: () => (/* binding */ onModeEnter),
32
32
  onModeExit: () => (/* binding */ onModeExit),
33
+ segmentation: () => (/* binding */ segmentation),
33
34
  sopClassHandlers: () => (/* binding */ sopClassHandlers),
34
35
  toolbarButtons: () => (/* reexport */ src_toolbarButtons),
35
36
  toolbarSections: () => (/* binding */ toolbarSections)
@@ -1020,10 +1021,13 @@ const ohif = {
1020
1021
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
1021
1022
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
1022
1023
  thumbnailList: '@ohif/extension-default.panelModule.seriesList',
1024
+ hangingProtocol: '@ohif/extension-default.hangingProtocolModule.default',
1023
1025
  wsiSopClassHandler: '@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler'
1024
1026
  };
1025
1027
  const cornerstone = {
1026
1028
  measurements: '@ohif/extension-cornerstone.panelModule.panelMeasurement',
1029
+ labelMapSegmentationPanel: '@ohif/extension-cornerstone.panelModule.panelSegmentationWithToolsLabelMap',
1030
+ contourSegmentationPanel: '@ohif/extension-cornerstone.panelModule.panelSegmentationWithToolsContour',
1027
1031
  segmentation: '@ohif/extension-cornerstone.panelModule.panelSegmentation',
1028
1032
  viewport: '@ohif/extension-cornerstone.viewportModule.cornerstone'
1029
1033
  };
@@ -1052,6 +1056,10 @@ const dicomRT = {
1052
1056
  viewport: '@ohif/extension-cornerstone-dicom-rt.viewportModule.dicom-rt',
1053
1057
  sopClassHandler: '@ohif/extension-cornerstone-dicom-rt.sopClassHandlerModule.dicom-rt'
1054
1058
  };
1059
+ const segmentation = {
1060
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
1061
+ viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg'
1062
+ };
1055
1063
  const extensionDependencies = {
1056
1064
  // Can derive the versions at least process.env.from npm_package_version
1057
1065
  '@ohif/extension-default': '^3.0.0',
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
14
14
 
15
15
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
16
16
  var react = __webpack_require__(86326);
17
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 141 modules
18
- var src = __webpack_require__(39548);
17
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
18
+ var src = __webpack_require__(39195);
19
19
  ;// ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
20
20
  // extracted by mini-css-extract-plugin
21
21
 
@@ -742,6 +742,10 @@ var PleuraBlinePercentage = __webpack_require__(28024);
742
742
 
743
743
 
744
744
 
745
+
746
+ const {
747
+ downloadBlob
748
+ } = src/* utils */.Wp;
745
749
  const {
746
750
  transformWorldToIndex
747
751
  } = dist_esm.utilities;
@@ -752,8 +756,7 @@ const {
752
756
  * @returns The commands module with actions and definitions
753
757
  */
754
758
  function commandsModule({
755
- servicesManager,
756
- commandsManager
759
+ servicesManager
757
760
  }) {
758
761
  const {
759
762
  viewportGridService,
@@ -1027,14 +1030,9 @@ function commandsModule({
1027
1030
  const blob = new Blob([jsonString], {
1028
1031
  type: 'application/json'
1029
1032
  });
1030
-
1031
- // Create a URL for the blob
1032
- const url = URL.createObjectURL(blob);
1033
-
1034
- // Create an anchor element
1035
- const a = document.createElement('a');
1036
- a.href = url;
1037
- a.download = `ultrasound_annotations_${new Date().toISOString().slice(0, 10)}.json`;
1033
+ downloadBlob(blob, {
1034
+ filename: `ultrasound_annotations_${new Date().toISOString().slice(0, 10)}.json`
1035
+ });
1038
1036
 
1039
1037
  // Append to the document, click to download, and remove
1040
1038
  document.body.appendChild(a);