@ohif/app 3.9.0-beta.61 → 3.9.0-beta.63

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 (32) hide show
  1. package/dist/{281.bundle.4891dfda2fdb24578002.js → 281.bundle.7c7901a50253c44b7442.js} +2 -2
  2. package/dist/{372.bundle.0a9307b8380627f2ebdc.js → 913.bundle.92c848a924160e13ea85.js} +94 -41
  3. package/dist/{app.bundle.1c2f53727db414dc8c6a.js → app.bundle.7f68c3bf1b59a4296eb8.js} +6 -6
  4. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  5. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  6. package/dist/index.html +1 -1
  7. package/dist/{polySeg.bundle.d8943427beee7694621a.js → polySeg.bundle.316ddde0375abbd072e9.js} +1 -1
  8. package/dist/{suv-peak-worker.bundle.15dcb8d1ab8e0528bfd9.js → suv-peak-worker.bundle.a27bcad90f8fe9252435.js} +1 -1
  9. package/dist/sw.js +1 -1
  10. package/package.json +18 -18
  11. /package/dist/{153.bundle.0190fa778fff53f7cab3.js → 153.bundle.afe3ef7a718e10fe4dad.js} +0 -0
  12. /package/dist/{169.bundle.d28df3cf2d600fc3e146.js → 169.bundle.ab6c1617324e8e5acbd0.js} +0 -0
  13. /package/dist/{202.bundle.f6d9ca4b1c16b1aa227f.js → 202.bundle.567b7e2ac2f6c9213143.js} +0 -0
  14. /package/dist/{210.bundle.e26c7b019ddaf6530462.js → 210.bundle.ab7a30ddd8918c2430c0.js} +0 -0
  15. /package/dist/{246.bundle.4df3e927eaa1eb73e015.js → 246.bundle.56cb7242fd5fffa7e162.js} +0 -0
  16. /package/dist/{353.bundle.dc668f31855f40846833.js → 353.bundle.f24a9a5a6c132b064183.js} +0 -0
  17. /package/dist/{360.bundle.53f213beb0504ef07987.js → 360.bundle.8a8f7bd0f6abe249c0bf.js} +0 -0
  18. /package/dist/{376.bundle.277b5595e3838e63947d.js → 376.bundle.ba616b300f3928c0ff01.js} +0 -0
  19. /package/dist/{498.bundle.e5ccb2bc38e4bfdd564b.js → 498.bundle.e8683e4faffd1f5666d0.js} +0 -0
  20. /package/dist/{502.bundle.95c645539edbf84b0429.js → 502.bundle.ebdcf21b4235a0467291.js} +0 -0
  21. /package/dist/{516.bundle.a52d28c0c585c0402fe0.js → 516.bundle.2ef0b13819eba82a074a.js} +0 -0
  22. /package/dist/{591.bundle.c3bd53753c146ddcec8b.js → 591.bundle.f10188994bacf4ea603f.js} +0 -0
  23. /package/dist/{65.bundle.effb21af10a4f5cc0055.js → 65.bundle.51f001957a96f638b829.js} +0 -0
  24. /package/dist/{791.bundle.17aedff9d30eb902ae69.js → 791.bundle.4b3194aec51358ee63b5.js} +0 -0
  25. /package/dist/{842.bundle.2dae44a455ebc8967fcd.js → 842.bundle.1f7c1ed6e3fc4b3d6c0d.js} +0 -0
  26. /package/dist/{888.bundle.b6f5aae0334894b7687a.js → 888.bundle.e4baf21a08c731ff0cde.js} +0 -0
  27. /package/dist/{904.bundle.008f8a2095669f4eabba.js → 904.bundle.cf3367eab90aaef03406.js} +0 -0
  28. /package/dist/{944.bundle.fd35071065f26e756745.js → 944.bundle.4cae5a299a033b49d859.js} +0 -0
  29. /package/dist/{962.bundle.d6d738c70c539a26a2cc.js → 962.bundle.716a1bdba3c497f813d3.js} +0 -0
  30. /package/dist/{978.bundle.a875eca5fc5a20e25479.js → 978.bundle.b4c917071818698e2d80.js} +0 -0
  31. /package/dist/{993.bundle.302a286ebb6e3fc0c35a.js → 993.bundle.f8af55eb5f3da10a9ee1.js} +0 -0
  32. /package/dist/{994.bundle.f4927bdd2a72985c9fd2.js → 994.bundle.69e100d89d343c11903d.js} +0 -0
@@ -2844,8 +2844,8 @@ function ViewerHeader({
2844
2844
  hotkeyDefinitions,
2845
2845
  hotkeyDefaults
2846
2846
  } = hotkeysManager;
2847
- const versionNumber = "3.9.0-beta.61";
2848
- const commitHash = "aefa6d94dff82d34fa8358933fb1d5dec3f8246d";
2847
+ const versionNumber = "3.9.0-beta.63";
2848
+ const commitHash = "0968b3abb1d38c6f0a66d2a75bbc52b7d8f6be17";
2849
2849
  const menuOptions = [{
2850
2850
  title: t('Header:About'),
2851
2851
  icon: 'info',
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[372],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[913],{
3
3
 
4
- /***/ 94372:
4
+ /***/ 47913:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -1330,8 +1330,76 @@ const RectangleROIStartEndThreshold = {
1330
1330
  }
1331
1331
  };
1332
1332
  /* harmony default export */ const measurementServiceMappings_RectangleROIStartEndThreshold = (RectangleROIStartEndThreshold);
1333
+ ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/measurementServiceMappings/CircleROIStartEndThreshold.js
1334
+
1335
+
1336
+ const CircleROIStartEndThreshold = {
1337
+ toAnnotation: (measurement, definition) => {},
1338
+ /**
1339
+ * Maps cornerstone annotation event data to measurement service format.
1340
+ *
1341
+ * @param {Object} cornerstone Cornerstone event data
1342
+ * @return {Measurement} Measurement instance
1343
+ */
1344
+ toMeasurement: (csToolsEventDetail, displaySetService, cornerstoneViewportService) => {
1345
+ const {
1346
+ annotation,
1347
+ viewportId
1348
+ } = csToolsEventDetail;
1349
+ const {
1350
+ metadata,
1351
+ data,
1352
+ annotationUID
1353
+ } = annotation;
1354
+ if (!metadata || !data) {
1355
+ console.warn('Length tool: Missing metadata or data');
1356
+ return null;
1357
+ }
1358
+ const {
1359
+ toolName,
1360
+ referencedImageId,
1361
+ FrameOfReferenceUID
1362
+ } = metadata;
1363
+ const validToolType = supportedTools.includes(toolName);
1364
+ if (!validToolType) {
1365
+ throw new Error('Tool not supported');
1366
+ }
1367
+ const {
1368
+ SOPInstanceUID,
1369
+ SeriesInstanceUID,
1370
+ StudyInstanceUID
1371
+ } = getSOPInstanceAttributes(referencedImageId, cornerstoneViewportService, viewportId);
1372
+ let displaySet;
1373
+ if (SOPInstanceUID) {
1374
+ displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
1375
+ } else {
1376
+ displaySet = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
1377
+ }
1378
+ const {
1379
+ cachedStats
1380
+ } = data;
1381
+ return {
1382
+ uid: annotationUID,
1383
+ SOPInstanceUID,
1384
+ FrameOfReferenceUID,
1385
+ // points,
1386
+ metadata,
1387
+ referenceSeriesUID: SeriesInstanceUID,
1388
+ referenceStudyUID: StudyInstanceUID,
1389
+ toolName: metadata.toolName,
1390
+ displaySetInstanceUID: displaySet.displaySetInstanceUID,
1391
+ label: metadata.label,
1392
+ // displayText: displayText,
1393
+ data: data.cachedStats,
1394
+ type: 'CircleROIStartEndThreshold'
1395
+ // getReport,
1396
+ };
1397
+ }
1398
+ };
1399
+ /* harmony default export */ const measurementServiceMappings_CircleROIStartEndThreshold = (CircleROIStartEndThreshold);
1333
1400
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/measurementServiceMappings/measurementServiceMappingsFactory.js
1334
1401
 
1402
+
1335
1403
  const measurementServiceMappingsFactory = (measurementService, displaySetService, cornerstoneViewportService) => {
1336
1404
  return {
1337
1405
  RectangleROIStartEndThreshold: {
@@ -1340,6 +1408,13 @@ const measurementServiceMappingsFactory = (measurementService, displaySetService
1340
1408
  matchingCriteria: [{
1341
1409
  valueType: measurementService.VALUE_TYPES.ROI_THRESHOLD_MANUAL
1342
1410
  }]
1411
+ },
1412
+ CircleROIStartEndThreshold: {
1413
+ toAnnotation: measurementServiceMappings_CircleROIStartEndThreshold.toAnnotation,
1414
+ toMeasurement: csToolsAnnotation => measurementServiceMappings_CircleROIStartEndThreshold.toMeasurement(csToolsAnnotation, displaySetService, cornerstoneViewportService),
1415
+ matchingCriteria: [{
1416
+ valueType: measurementService.VALUE_TYPES.ROI_THRESHOLD_MANUAL
1417
+ }]
1343
1418
  }
1344
1419
  };
1345
1420
  };
@@ -1364,14 +1439,15 @@ function init({
1364
1439
  cornerstoneViewportService
1365
1440
  } = servicesManager.services;
1366
1441
  (0,dist_esm.addTool)(dist_esm.RectangleROIStartEndThresholdTool);
1442
+ (0,dist_esm.addTool)(dist_esm.CircleROIStartEndThresholdTool);
1367
1443
  const {
1368
- RectangleROIStartEndThreshold
1444
+ RectangleROIStartEndThreshold,
1445
+ CircleROIStartEndThreshold
1369
1446
  } = measurementServiceMappings_measurementServiceMappingsFactory(measurementService, displaySetService, cornerstoneViewportService);
1370
1447
  const csTools3DVer1MeasurementSource = measurementService.getSource(CORNERSTONE_3D_TOOLS_SOURCE_NAME, CORNERSTONE_3D_TOOLS_SOURCE_VERSION);
1371
1448
  measurementService.addMapping(csTools3DVer1MeasurementSource, 'RectangleROIStartEndThreshold', RectangleROIStartEndThreshold.matchingCriteria, RectangleROIStartEndThreshold.toAnnotation, RectangleROIStartEndThreshold.toMeasurement);
1449
+ measurementService.addMapping(csTools3DVer1MeasurementSource, 'CircleROIStartEndThreshold', CircleROIStartEndThreshold.matchingCriteria, CircleROIStartEndThreshold.toAnnotation, CircleROIStartEndThreshold.toMeasurement);
1372
1450
  }
1373
- // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
1374
- var gl_matrix_esm = __webpack_require__(72076);
1375
1451
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/getThresholdValue.ts
1376
1452
 
1377
1453
  function getRoiStats(referencedVolume, annotations) {
@@ -1540,9 +1616,8 @@ function dicomRTAnnotationExport(annotations) {
1540
1616
 
1541
1617
 
1542
1618
 
1543
-
1544
1619
  const commandsModule_metadataProvider = core_src.classes.MetadataProvider;
1545
- const RECTANGLE_ROI_THRESHOLD_MANUAL_TOOL_IDS = ['RectangleROIStartEndThreshold', 'RectangleROIThreshold'];
1620
+ const ROI_THRESHOLD_MANUAL_TOOL_IDS = ['RectangleROIStartEndThreshold', 'RectangleROIThreshold', 'CircleROIStartEndThreshold'];
1546
1621
  const LABELMAP = dist_esm.Enums.SegmentationRepresentations.Labelmap;
1547
1622
  const workerManager = (0,esm.getWebWorkerManager)();
1548
1623
  const options = {
@@ -1729,7 +1804,7 @@ const commandsModule = ({
1729
1804
  const {
1730
1805
  referencedVolumeId
1731
1806
  } = esm.cache.getVolume(segVolumeId);
1732
- const annotationUIDs = _getAnnotationsSelectedByToolNames(RECTANGLE_ROI_THRESHOLD_MANUAL_TOOL_IDS);
1807
+ const annotationUIDs = _getAnnotationsSelectedByToolNames(ROI_THRESHOLD_MANUAL_TOOL_IDS);
1733
1808
  if (annotationUIDs.length === 0) {
1734
1809
  uiNotificationService.show({
1735
1810
  title: 'Commands Module',
@@ -1805,7 +1880,7 @@ const commandsModule = ({
1805
1880
  referencedVolumeId
1806
1881
  } = labelmap;
1807
1882
  const referencedVolume = esm.cache.getVolume(referencedVolumeId);
1808
- const annotationUIDs = _getAnnotationsSelectedByToolNames(RECTANGLE_ROI_THRESHOLD_MANUAL_TOOL_IDS);
1883
+ const annotationUIDs = _getAnnotationsSelectedByToolNames(ROI_THRESHOLD_MANUAL_TOOL_IDS);
1809
1884
  const annotations = annotationUIDs.map(annotationUID => dist_esm.annotation.state.getAnnotation(annotationUID));
1810
1885
  const labelmapProps = {
1811
1886
  dimensions: labelmap.dimensions,
@@ -1991,36 +2066,14 @@ const commandsModule = ({
1991
2066
  viewport
1992
2067
  } = _getActiveViewportsEnabledElement();
1993
2068
  const {
1994
- focalPoint,
1995
- viewPlaneNormal
2069
+ focalPoint
1996
2070
  } = viewport.getCamera();
1997
- const selectedAnnotationUIDs = _getAnnotationsSelectedByToolNames(RECTANGLE_ROI_THRESHOLD_MANUAL_TOOL_IDS);
2071
+ const selectedAnnotationUIDs = _getAnnotationsSelectedByToolNames(ROI_THRESHOLD_MANUAL_TOOL_IDS);
1998
2072
  const annotationUID = selectedAnnotationUIDs[0];
1999
2073
  const annotation = dist_esm.annotation.state.getAnnotation(annotationUID);
2000
- const {
2001
- handles
2002
- } = annotation.data;
2003
- const {
2004
- points
2005
- } = handles;
2006
-
2007
- // get the current slice Index
2008
- const sliceIndex = viewport.getCurrentImageIdIndex();
2009
- annotation.data.startSlice = sliceIndex;
2010
-
2011
- // distance between camera focal point and each point on the rectangle
2012
- const newPoints = points.map(point => {
2013
- const distance = gl_matrix_esm/* vec3.create */.R3.create();
2014
- gl_matrix_esm/* vec3.subtract */.R3.subtract(distance, focalPoint, point);
2015
- // distance in the direction of the viewPlaneNormal
2016
- const distanceInViewPlane = gl_matrix_esm/* vec3.dot */.R3.dot(distance, viewPlaneNormal);
2017
- // new point is current point minus distanceInViewPlane
2018
- const newPoint = gl_matrix_esm/* vec3.create */.R3.create();
2019
- gl_matrix_esm/* vec3.scaleAndAdd */.R3.scaleAndAdd(newPoint, point, viewPlaneNormal, distanceInViewPlane);
2020
- return newPoint;
2021
- //
2022
- });
2023
- handles.points = newPoints;
2074
+
2075
+ // set the current focalpoint
2076
+ annotation.data.startCoordinate = focalPoint;
2024
2077
  // IMPORTANT: invalidate the toolData for the cached stat to get updated
2025
2078
  // and re-calculate the projection points
2026
2079
  annotation.invalidated = true;
@@ -2030,13 +2083,13 @@ const commandsModule = ({
2030
2083
  const {
2031
2084
  viewport
2032
2085
  } = _getActiveViewportsEnabledElement();
2033
- const selectedAnnotationUIDs = _getAnnotationsSelectedByToolNames(RECTANGLE_ROI_THRESHOLD_MANUAL_TOOL_IDS);
2086
+ const selectedAnnotationUIDs = _getAnnotationsSelectedByToolNames(ROI_THRESHOLD_MANUAL_TOOL_IDS);
2034
2087
  const annotationUID = selectedAnnotationUIDs[0];
2035
2088
  const annotation = dist_esm.annotation.state.getAnnotation(annotationUID);
2036
2089
 
2037
- // get the current slice Index
2038
- const sliceIndex = viewport.getCurrentImageIdIndex();
2039
- annotation.data.endSlice = sliceIndex;
2090
+ // get the current focalpoint
2091
+ const focalPointToEnd = viewport.getCamera().focalPoint;
2092
+ annotation.data.endCoordinate = focalPointToEnd;
2040
2093
 
2041
2094
  // IMPORTANT: invalidate the toolData for the cached stat to get updated
2042
2095
  // and re-calculate the projection points
@@ -2049,7 +2102,7 @@ const commandsModule = ({
2049
2102
  const annotations = [];
2050
2103
  Object.keys(stateManager.annotations).forEach(frameOfReferenceUID => {
2051
2104
  const forAnnotations = stateManager.annotations[frameOfReferenceUID];
2052
- const ROIAnnotations = RECTANGLE_ROI_THRESHOLD_MANUAL_TOOL_IDS.reduce((annotations, toolName) => [...annotations, ...(forAnnotations[toolName] ?? [])], []);
2105
+ const ROIAnnotations = ROI_THRESHOLD_MANUAL_TOOL_IDS.reduce((annotations, toolName) => [...annotations, ...(forAnnotations[toolName] ?? [])], []);
2053
2106
  annotations.push(...ROIAnnotations);
2054
2107
  });
2055
2108
  commandsManager.runCommand('exportRTReportForAnnotations', {