@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.
- package/dist/{281.bundle.4891dfda2fdb24578002.js → 281.bundle.7c7901a50253c44b7442.js} +2 -2
- package/dist/{372.bundle.0a9307b8380627f2ebdc.js → 913.bundle.92c848a924160e13ea85.js} +94 -41
- package/dist/{app.bundle.1c2f53727db414dc8c6a.js → app.bundle.7f68c3bf1b59a4296eb8.js} +6 -6
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.d8943427beee7694621a.js → polySeg.bundle.316ddde0375abbd072e9.js} +1 -1
- package/dist/{suv-peak-worker.bundle.15dcb8d1ab8e0528bfd9.js → suv-peak-worker.bundle.a27bcad90f8fe9252435.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{153.bundle.0190fa778fff53f7cab3.js → 153.bundle.afe3ef7a718e10fe4dad.js} +0 -0
- /package/dist/{169.bundle.d28df3cf2d600fc3e146.js → 169.bundle.ab6c1617324e8e5acbd0.js} +0 -0
- /package/dist/{202.bundle.f6d9ca4b1c16b1aa227f.js → 202.bundle.567b7e2ac2f6c9213143.js} +0 -0
- /package/dist/{210.bundle.e26c7b019ddaf6530462.js → 210.bundle.ab7a30ddd8918c2430c0.js} +0 -0
- /package/dist/{246.bundle.4df3e927eaa1eb73e015.js → 246.bundle.56cb7242fd5fffa7e162.js} +0 -0
- /package/dist/{353.bundle.dc668f31855f40846833.js → 353.bundle.f24a9a5a6c132b064183.js} +0 -0
- /package/dist/{360.bundle.53f213beb0504ef07987.js → 360.bundle.8a8f7bd0f6abe249c0bf.js} +0 -0
- /package/dist/{376.bundle.277b5595e3838e63947d.js → 376.bundle.ba616b300f3928c0ff01.js} +0 -0
- /package/dist/{498.bundle.e5ccb2bc38e4bfdd564b.js → 498.bundle.e8683e4faffd1f5666d0.js} +0 -0
- /package/dist/{502.bundle.95c645539edbf84b0429.js → 502.bundle.ebdcf21b4235a0467291.js} +0 -0
- /package/dist/{516.bundle.a52d28c0c585c0402fe0.js → 516.bundle.2ef0b13819eba82a074a.js} +0 -0
- /package/dist/{591.bundle.c3bd53753c146ddcec8b.js → 591.bundle.f10188994bacf4ea603f.js} +0 -0
- /package/dist/{65.bundle.effb21af10a4f5cc0055.js → 65.bundle.51f001957a96f638b829.js} +0 -0
- /package/dist/{791.bundle.17aedff9d30eb902ae69.js → 791.bundle.4b3194aec51358ee63b5.js} +0 -0
- /package/dist/{842.bundle.2dae44a455ebc8967fcd.js → 842.bundle.1f7c1ed6e3fc4b3d6c0d.js} +0 -0
- /package/dist/{888.bundle.b6f5aae0334894b7687a.js → 888.bundle.e4baf21a08c731ff0cde.js} +0 -0
- /package/dist/{904.bundle.008f8a2095669f4eabba.js → 904.bundle.cf3367eab90aaef03406.js} +0 -0
- /package/dist/{944.bundle.fd35071065f26e756745.js → 944.bundle.4cae5a299a033b49d859.js} +0 -0
- /package/dist/{962.bundle.d6d738c70c539a26a2cc.js → 962.bundle.716a1bdba3c497f813d3.js} +0 -0
- /package/dist/{978.bundle.a875eca5fc5a20e25479.js → 978.bundle.b4c917071818698e2d80.js} +0 -0
- /package/dist/{993.bundle.302a286ebb6e3fc0c35a.js → 993.bundle.f8af55eb5f3da10a9ee1.js} +0 -0
- /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.
|
|
2848
|
-
const commitHash = "
|
|
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([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[913],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
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(
|
|
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
|
|
2038
|
-
const
|
|
2039
|
-
annotation.data.
|
|
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 =
|
|
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', {
|