@ohif/app 3.11.0-beta.98 → 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.
- package/dist/{2676.bundle.7e194265450db9aa1e98.js → 1402.bundle.e5306db9171c6c9793a7.js} +1379 -857
- package/dist/{9625.bundle.d2ab59c3dc4bf4139e1a.js → 1447.bundle.976ce9f69636f66a9eab.js} +2401 -2422
- package/dist/{147.bundle.a28710f442d91d98ee60.js → 147.bundle.e22bae08eb10c0a51314.js} +45 -122
- package/dist/{1919.bundle.a80e1fa53f199f8862dd.js → 1919.bundle.ca1ffebd2ee775dc2d82.js} +6 -4
- package/dist/{2011.bundle.c44c0094525a51b528f4.js → 2011.bundle.12539f6bbbfc20a372e9.js} +2726 -197
- package/dist/{6216.bundle.48ff7813b6b3b8aba5f0.js → 2345.bundle.1fedf5750caf46ce99d9.js} +1 -35
- package/dist/{2701.bundle.d5c7ef6ec8b6cd9c2dfa.js → 2701.bundle.f2c7a5ab4a8b49d73bff.js} +9 -9
- package/dist/{2974.bundle.54d5903a8b29f1b09299.js → 2974.bundle.ec95e58b346dbe30a362.js} +2 -0
- package/dist/{7750.bundle.216dafe3c87d611928da.js → 319.bundle.45c1c250b562a3feefa5.js} +296 -62
- package/dist/{3658.bundle.6093e112080735acc799.js → 3658.bundle.4b03e3bc783328aab18f.js} +2 -2
- package/dist/{9594.bundle.e623f61b984d7ff3b4b6.js → 4019.bundle.e07cc2a71b6e189a706a.js} +31 -157
- package/dist/{4113.bundle.e31f07e5967b95da38ec.js → 4113.bundle.3b3fed48ad784ccda1a1.js} +268 -67
- package/dist/{414.bundle.447355abfbdee0fcd226.js → 414.bundle.fac8463232edcfda0b6c.js} +15 -15
- package/dist/{4202.bundle.aa4161a7b8cb7c691072.js → 4202.bundle.f804c72fb887b9543506.js} +1 -1
- package/dist/{4759.bundle.4da90b9346bb5e377ac6.js → 4759.bundle.8686abdd7bcf4aa7d107.js} +2 -0
- package/dist/{5349.bundle.be4b2d9a58412788944e.js → 5349.bundle.c117cc60ab5ff40eed14.js} +2 -2
- package/dist/{6972.bundle.62729ec60365a1713e6e.js → 557.bundle.a0344a04ae7a43642402.js} +5541 -5283
- package/dist/{5674.bundle.6c0d445cbd151b6e7aa1.js → 5674.bundle.4e40a906351477a2a193.js} +2 -0
- package/dist/{6201.bundle.cf4e864bab13348add49.js → 6201.bundle.5d7b8937f331f965d1aa.js} +4 -4
- package/dist/{6376.bundle.de4abf332424cba7513e.js → 6376.bundle.24e14fa9bf28c7c86e7c.js} +1 -1
- package/dist/{1943.bundle.f020846851b7cc84afe7.js → 6991.bundle.08967b6f5698660e3a19.js} +67 -51
- package/dist/{7190.bundle.a35063abb9cb95986e67.js → 7190.bundle.4448c5a66a997bea24ca.js} +45 -8
- package/dist/{7197.bundle.e1e4eae326cae4231427.js → 7197.bundle.b8ce1b612ab1eff5d3ee.js} +5 -5
- package/dist/{810.bundle.b6c91b9eba0ed85abf1d.js → 810.bundle.84fc54342c180b8a3023.js} +6 -6
- package/dist/{8228.bundle.2df7b5c0e4e0fdbb3654.js → 8228.bundle.ec3557eae81cafaed8c9.js} +2 -2
- package/dist/{85.bundle.d741fbbde9d23cfd9bf3.js → 85.bundle.f9908f1f7350e5027d37.js} +3 -2
- package/dist/{8558.bundle.77bfe4e629eba4e4f807.js → 8558.bundle.ead200c0f2518d73739f.js} +3 -1
- package/dist/{860.bundle.736e07c64aeb9bfca8cb.js → 860.bundle.f90055bfb2088bf17617.js} +24 -1
- package/dist/{8740.bundle.d0f554795adaecf0292c.js → 8740.bundle.9e567165a05c863b9698.js} +18 -5
- package/dist/{8815.bundle.8f8b971e04e3c185fab2.js → 8815.bundle.9999a630034893a74508.js} +32 -10
- package/dist/{934.bundle.7267819612a1949b4985.js → 934.bundle.e620a43102a8abf8a1e3.js} +4 -2
- package/dist/{963.bundle.2742aa726a247a166628.js → 963.bundle.b2434897acfb3e8abee5.js} +29 -9
- package/dist/{1443.bundle.405ff549a88a585906f3.js → 9732.bundle.91cb05748bef4e4f67c2.js} +883 -1731
- package/dist/{9560.bundle.203976e64c9a0202e247.js → 9856.bundle.c34e4165e91ef095aa9f.js} +5853 -5649
- package/dist/{9862.bundle.11d2a0f6528e9e916e25.js → 9862.bundle.e404cb5f0e762fbf6a03.js} +2 -14
- package/dist/{5886.bundle.181e673d6d5a9333039a.js → 9892.bundle.364aba175ce50baeb46c.js} +35397 -32968
- package/dist/app-config.js +8 -0
- package/dist/{app.bundle.e65d04bbe0c78ac953b7.js → app.bundle.804c5a4cd283acda540d.js} +2239 -1468
- package/dist/{compute.bundle.06ee8311038e4ac2d34d.js → compute.bundle.a1c8365c4732e8b82ca3.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{interpolation.bundle.6b3b374f2888d3744e61.js → interpolation.bundle.488206d0a2c4fa1dd6c5.js} +1 -1
- package/dist/{polySeg.bundle.d8a36b40716862d016de.js → polySeg.bundle.02258624e0ec30e9934c.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +22 -22
- /package/dist/{1459.bundle.1355d3eba175caed4bed.js → 1459.bundle.163c80965265cae11781.js} +0 -0
- /package/dist/{1807.bundle.7f4c8bba871a129c0ac4.js → 1807.bundle.d79c83317de38e4cffbd.js} +0 -0
- /package/dist/{213.bundle.42a97fecb41efdbe544e.js → 213.bundle.f8b1fd7851428f0fa02f.js} +0 -0
- /package/dist/{2424.bundle.54b1697ec7d23199a852.js → 2424.bundle.7469c5960e905196f646.js} +0 -0
- /package/dist/{6027.bundle.15c09b0276585fc58ef2.js → 6027.bundle.ab73f6c39c04c7662744.js} +0 -0
- /package/dist/{7431.bundle.503dc3262479de76225b.js → 7431.bundle.494b080a8141ef60067a.js} +0 -0
- /package/dist/{7639.bundle.390d70032154dd95344d.js → 7639.bundle.664fc584f04ca34a4bf1.js} +0 -0
|
@@ -14,10 +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: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
|
|
18
|
-
var esm = __webpack_require__(4667);
|
|
19
17
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
|
|
20
|
-
var
|
|
18
|
+
var esm = __webpack_require__(15327);
|
|
21
19
|
// EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
|
|
22
20
|
var src = __webpack_require__(15871);
|
|
23
21
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3072 modules
|
|
@@ -63,7 +61,7 @@ function CornerstoneImageScrollbar({
|
|
|
63
61
|
isPlaying: false
|
|
64
62
|
});
|
|
65
63
|
}
|
|
66
|
-
|
|
64
|
+
esm.utilities.jumpToSlice(viewport.element, {
|
|
67
65
|
imageIndex,
|
|
68
66
|
debounceLoading: true
|
|
69
67
|
});
|
|
@@ -73,7 +71,7 @@ function CornerstoneImageScrollbar({
|
|
|
73
71
|
return;
|
|
74
72
|
}
|
|
75
73
|
const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
|
|
76
|
-
if (!viewport || viewport instanceof
|
|
74
|
+
if (!viewport || viewport instanceof esm.VolumeViewport3D) {
|
|
77
75
|
return;
|
|
78
76
|
}
|
|
79
77
|
try {
|
|
@@ -94,10 +92,10 @@ function CornerstoneImageScrollbar({
|
|
|
94
92
|
const {
|
|
95
93
|
viewportType
|
|
96
94
|
} = viewportData;
|
|
97
|
-
const eventId = viewportType ===
|
|
95
|
+
const eventId = viewportType === esm.Enums.ViewportType.STACK && esm.Enums.Events.STACK_NEW_IMAGE || viewportType === esm.Enums.ViewportType.ORTHOGRAPHIC && esm.Enums.Events.VOLUME_NEW_IMAGE || esm.Enums.Events.IMAGE_RENDERED;
|
|
98
96
|
const updateIndex = event => {
|
|
99
97
|
const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
|
|
100
|
-
if (!viewport || viewport instanceof
|
|
98
|
+
if (!viewport || viewport instanceof esm.VolumeViewport3D) {
|
|
101
99
|
return;
|
|
102
100
|
}
|
|
103
101
|
const {
|
|
@@ -136,6 +134,8 @@ CornerstoneImageScrollbar.propTypes = {
|
|
|
136
134
|
/* harmony default export */ const ViewportImageScrollbar = (CornerstoneImageScrollbar);
|
|
137
135
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
|
|
138
136
|
var gl_matrix_esm = __webpack_require__(3823);
|
|
137
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
|
|
138
|
+
var dist_esm = __webpack_require__(4667);
|
|
139
139
|
// EXTERNAL MODULE: ../../../node_modules/moment/moment.js
|
|
140
140
|
var moment = __webpack_require__(14867);
|
|
141
141
|
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
@@ -316,27 +316,27 @@ function CustomizableViewportOverlay({
|
|
|
316
316
|
const {
|
|
317
317
|
windowWidth,
|
|
318
318
|
windowCenter
|
|
319
|
-
} =
|
|
319
|
+
} = esm.utilities.windowLevel.toWindowLevel(lower, upper);
|
|
320
320
|
setVOI({
|
|
321
321
|
windowCenter,
|
|
322
322
|
windowWidth
|
|
323
323
|
});
|
|
324
324
|
};
|
|
325
|
-
element.addEventListener(
|
|
325
|
+
element.addEventListener(esm.Enums.Events.VOI_MODIFIED, updateVOI);
|
|
326
326
|
return () => {
|
|
327
|
-
element.removeEventListener(
|
|
327
|
+
element.removeEventListener(esm.Enums.Events.VOI_MODIFIED, updateVOI);
|
|
328
328
|
};
|
|
329
329
|
}, [viewportId, viewportData, voi, element]);
|
|
330
330
|
const annotationModified = (0,react.useCallback)(evt => {
|
|
331
|
-
if (evt.detail.annotation.metadata.toolName ===
|
|
331
|
+
if (evt.detail.annotation.metadata.toolName === dist_esm.UltrasoundPleuraBLineTool.toolName) {
|
|
332
332
|
// Update the annotation state to trigger a re-render
|
|
333
333
|
setAnnotationState(prevState => prevState + 1);
|
|
334
334
|
}
|
|
335
335
|
}, []);
|
|
336
336
|
(0,react.useEffect)(() => {
|
|
337
|
-
|
|
337
|
+
esm.eventTarget.addEventListener(dist_esm.Enums.Events.ANNOTATION_MODIFIED, annotationModified);
|
|
338
338
|
return () => {
|
|
339
|
-
|
|
339
|
+
esm.eventTarget.removeEventListener(dist_esm.Enums.Events.ANNOTATION_MODIFIED, annotationModified);
|
|
340
340
|
};
|
|
341
341
|
}, [annotationModified]);
|
|
342
342
|
/**
|
|
@@ -357,9 +357,9 @@ function CustomizableViewportOverlay({
|
|
|
357
357
|
setScale(scale);
|
|
358
358
|
}
|
|
359
359
|
};
|
|
360
|
-
element.addEventListener(
|
|
360
|
+
element.addEventListener(esm.Enums.Events.CAMERA_MODIFIED, updateScale);
|
|
361
361
|
return () => {
|
|
362
|
-
element.removeEventListener(
|
|
362
|
+
element.removeEventListener(esm.Enums.Events.CAMERA_MODIFIED, updateScale);
|
|
363
363
|
};
|
|
364
364
|
}, [viewportId, viewportData, cornerstoneViewportService, element]);
|
|
365
365
|
const _renderOverlayItem = (0,react.useCallback)((item, props) => {
|
|
@@ -439,10 +439,10 @@ function getDisplaySets(viewportData, displaySetService) {
|
|
|
439
439
|
const getInstanceNumber = (viewportData, viewportId, imageIndex, cornerstoneViewportService) => {
|
|
440
440
|
let instanceNumber;
|
|
441
441
|
switch (viewportData.viewportType) {
|
|
442
|
-
case
|
|
442
|
+
case esm.Enums.ViewportType.STACK:
|
|
443
443
|
instanceNumber = _getInstanceNumberFromStack(viewportData, imageIndex);
|
|
444
444
|
break;
|
|
445
|
-
case
|
|
445
|
+
case esm.Enums.ViewportType.ORTHOGRAPHIC:
|
|
446
446
|
instanceNumber = _getInstanceNumberFromVolume(viewportData, viewportId, cornerstoneViewportService, imageIndex);
|
|
447
447
|
break;
|
|
448
448
|
}
|
|
@@ -454,7 +454,7 @@ function _getInstanceNumberFromStack(viewportData, imageIndex) {
|
|
|
454
454
|
if (!imageId) {
|
|
455
455
|
return;
|
|
456
456
|
}
|
|
457
|
-
const generalImageModule =
|
|
457
|
+
const generalImageModule = esm.metaData.get('generalImageModule', imageId) || {};
|
|
458
458
|
const {
|
|
459
459
|
instanceNumber
|
|
460
460
|
} = generalImageModule;
|
|
@@ -507,7 +507,7 @@ function _getInstanceNumberFromVolume(viewportData, viewportId, cornerstoneViewp
|
|
|
507
507
|
}
|
|
508
508
|
const {
|
|
509
509
|
instanceNumber
|
|
510
|
-
} =
|
|
510
|
+
} = esm.metaData.get('generalImageModule', imageId) || {};
|
|
511
511
|
return parseInt(instanceNumber);
|
|
512
512
|
}
|
|
513
513
|
}
|
|
@@ -634,7 +634,7 @@ var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
|
634
634
|
const {
|
|
635
635
|
getOrientationStringLPS,
|
|
636
636
|
invertOrientationStringLPS
|
|
637
|
-
} =
|
|
637
|
+
} = dist_esm.utilities.orientation;
|
|
638
638
|
function ViewportOrientationMarkers({
|
|
639
639
|
element,
|
|
640
640
|
viewportData,
|
|
@@ -662,10 +662,10 @@ function ViewportOrientationMarkers({
|
|
|
662
662
|
(0,react.useEffect)(() => {
|
|
663
663
|
initialVolumeOrientationRef.current.initialViewUp = null;
|
|
664
664
|
initialVolumeOrientationRef.current.initialViewRight = null;
|
|
665
|
-
if (viewportData?.viewportType !== 'stack' && element && (0,
|
|
665
|
+
if (viewportData?.viewportType !== 'stack' && element && (0,esm.getEnabledElement)(element)) {
|
|
666
666
|
const {
|
|
667
667
|
viewport
|
|
668
|
-
} = (0,
|
|
668
|
+
} = (0,esm.getEnabledElement)(element);
|
|
669
669
|
const {
|
|
670
670
|
viewUp,
|
|
671
671
|
viewPlaneNormal
|
|
@@ -695,9 +695,9 @@ function ViewportOrientationMarkers({
|
|
|
695
695
|
setFlipVertical(camera.flipVertical);
|
|
696
696
|
}
|
|
697
697
|
};
|
|
698
|
-
element.addEventListener(
|
|
698
|
+
element.addEventListener(esm.Enums.Events.CAMERA_MODIFIED, cameraModifiedListener);
|
|
699
699
|
return () => {
|
|
700
|
-
element.removeEventListener(
|
|
700
|
+
element.removeEventListener(esm.Enums.Events.CAMERA_MODIFIED, cameraModifiedListener);
|
|
701
701
|
};
|
|
702
702
|
}, []);
|
|
703
703
|
const markers = (0,react.useMemo)(() => {
|
|
@@ -718,9 +718,9 @@ function ViewportOrientationMarkers({
|
|
|
718
718
|
columnCosines,
|
|
719
719
|
isDefaultValueSetForColumnCosine,
|
|
720
720
|
isDefaultValueSetForColumnCosine
|
|
721
|
-
} =
|
|
721
|
+
} = esm.metaData.get('imagePlaneModule', imageId) || {});
|
|
722
722
|
} else {
|
|
723
|
-
if (!element || !(0,
|
|
723
|
+
if (!element || !(0,esm.getEnabledElement)(element)) {
|
|
724
724
|
return '';
|
|
725
725
|
}
|
|
726
726
|
if (initialVolumeOrientationRef.current.initialViewUp && initialVolumeOrientationRef.current.initialViewRight) {
|
|
@@ -768,6 +768,9 @@ function _getOrientationMarkers(rowCosines, columnCosines, rotation, flipVertica
|
|
|
768
768
|
const columnString = getOrientationStringLPS(columnCosines);
|
|
769
769
|
const oppositeRowString = invertOrientationStringLPS(rowString);
|
|
770
770
|
const oppositeColumnString = invertOrientationStringLPS(columnString);
|
|
771
|
+
|
|
772
|
+
// Round to 4 decimal places (after rotate right 3 times and flip horizontally -> rotation is 90.00000000000001)
|
|
773
|
+
rotation = Math.round(rotation * 10000) / 10000;
|
|
771
774
|
const markers = {
|
|
772
775
|
top: oppositeColumnString,
|
|
773
776
|
left: oppositeRowString,
|
|
@@ -843,13 +846,13 @@ function ViewportImageSliceLoadingIndicator({
|
|
|
843
846
|
}
|
|
844
847
|
};
|
|
845
848
|
(0,react.useEffect)(() => {
|
|
846
|
-
element.addEventListener(
|
|
847
|
-
element.addEventListener(
|
|
848
|
-
element.addEventListener(
|
|
849
|
+
element.addEventListener(esm.Enums.Events.STACK_VIEWPORT_SCROLL, setLoadingState);
|
|
850
|
+
element.addEventListener(esm.Enums.Events.IMAGE_LOAD_ERROR, setErrorState);
|
|
851
|
+
element.addEventListener(esm.Enums.Events.STACK_NEW_IMAGE, setFinishLoadingState);
|
|
849
852
|
return () => {
|
|
850
|
-
element.removeEventListener(
|
|
851
|
-
element.removeEventListener(
|
|
852
|
-
element.removeEventListener(
|
|
853
|
+
element.removeEventListener(esm.Enums.Events.STACK_VIEWPORT_SCROLL, setLoadingState);
|
|
854
|
+
element.removeEventListener(esm.Enums.Events.STACK_NEW_IMAGE, setFinishLoadingState);
|
|
855
|
+
element.removeEventListener(esm.Enums.Events.IMAGE_LOAD_ERROR, setErrorState);
|
|
853
856
|
};
|
|
854
857
|
}, [element, viewportData]);
|
|
855
858
|
if (error) {
|
|
@@ -1062,16 +1065,16 @@ function WrappedCinePlayer({
|
|
|
1062
1065
|
if (!enabledVPElement) {
|
|
1063
1066
|
return;
|
|
1064
1067
|
}
|
|
1065
|
-
enabledVPElement.addEventListener(
|
|
1068
|
+
enabledVPElement.addEventListener(esm.Enums.Events.VIEWPORT_NEW_IMAGE_SET, newDisplaySetHandler);
|
|
1066
1069
|
// this doesn't makes sense that we are listening to this event on viewport element
|
|
1067
|
-
enabledVPElement.addEventListener(
|
|
1070
|
+
enabledVPElement.addEventListener(esm.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, newDisplaySetHandler);
|
|
1068
1071
|
return () => {
|
|
1069
1072
|
cineService.setCine({
|
|
1070
1073
|
id: viewportId,
|
|
1071
1074
|
isPlaying: false
|
|
1072
1075
|
});
|
|
1073
|
-
enabledVPElement.removeEventListener(
|
|
1074
|
-
enabledVPElement.removeEventListener(
|
|
1076
|
+
enabledVPElement.removeEventListener(esm.Enums.Events.VIEWPORT_NEW_IMAGE_SET, newDisplaySetHandler);
|
|
1077
|
+
enabledVPElement.removeEventListener(esm.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, newDisplaySetHandler);
|
|
1075
1078
|
};
|
|
1076
1079
|
}, [enabledVPElement, newDisplaySetHandler, viewportId]);
|
|
1077
1080
|
(0,react.useEffect)(() => {
|
|
@@ -1134,9 +1137,9 @@ function RenderCinePlayer({
|
|
|
1134
1137
|
label: splittingTag
|
|
1135
1138
|
});
|
|
1136
1139
|
};
|
|
1137
|
-
|
|
1140
|
+
esm.eventTarget.addEventListener(esm.Enums.Events.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED, handleDimensionGroupChange);
|
|
1138
1141
|
return () => {
|
|
1139
|
-
|
|
1142
|
+
esm.eventTarget.removeEventListener(esm.Enums.Events.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED, handleDimensionGroupChange);
|
|
1140
1143
|
};
|
|
1141
1144
|
}, [dynamicInfo]);
|
|
1142
1145
|
(0,react.useEffect)(() => {
|
|
@@ -1149,7 +1152,7 @@ function RenderCinePlayer({
|
|
|
1149
1152
|
numDimensionGroups,
|
|
1150
1153
|
splittingTag
|
|
1151
1154
|
} = dynamicInfo || {};
|
|
1152
|
-
const volume =
|
|
1155
|
+
const volume = esm.cache.getVolume(volumeId, true);
|
|
1153
1156
|
volume.dimensionGroupNumber = dimensionGroupNumber;
|
|
1154
1157
|
setDynamicInfo({
|
|
1155
1158
|
volumeId,
|
|
@@ -1163,7 +1166,7 @@ function RenderCinePlayer({
|
|
|
1163
1166
|
volumeId,
|
|
1164
1167
|
dimensionGroupNumber
|
|
1165
1168
|
} = props;
|
|
1166
|
-
const volume =
|
|
1169
|
+
const volume = esm.cache.getVolume(volumeId, true);
|
|
1167
1170
|
volume.dimensionGroupNumber = dimensionGroupNumber;
|
|
1168
1171
|
}, []);
|
|
1169
1172
|
return /*#__PURE__*/react.createElement(CinePlayerComponent, {
|
|
@@ -1369,8 +1372,6 @@ function arePropsEqual(prevProps, nextProps) {
|
|
|
1369
1372
|
return prevProps.viewportId === nextProps.viewportId && prevProps.servicesManager === nextProps.servicesManager;
|
|
1370
1373
|
}
|
|
1371
1374
|
/* harmony default export */ const utils_ActiveViewportBehavior = (ActiveViewportBehavior);
|
|
1372
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts + 4 modules
|
|
1373
|
-
var CornerstoneViewportService = __webpack_require__(11794);
|
|
1374
1375
|
;// ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx
|
|
1375
1376
|
|
|
1376
1377
|
|
|
@@ -1384,8 +1385,6 @@ var CornerstoneViewportService = __webpack_require__(11794);
|
|
|
1384
1385
|
|
|
1385
1386
|
|
|
1386
1387
|
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
1388
|
const STACK = 'stack';
|
|
1390
1389
|
|
|
1391
1390
|
// Cache for viewport dimensions, persists across component remounts
|
|
@@ -1538,7 +1537,7 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1538
1537
|
// disable the element upon unmounting
|
|
1539
1538
|
(0,react.useEffect)(() => {
|
|
1540
1539
|
cornerstoneViewportService.enableViewport(viewportId, elementRef.current);
|
|
1541
|
-
|
|
1540
|
+
esm.eventTarget.addEventListener(esm.Enums.Events.ELEMENT_ENABLED, elementEnabledHandler);
|
|
1542
1541
|
setImageScrollBarHeight();
|
|
1543
1542
|
return () => {
|
|
1544
1543
|
const viewportInfo = cornerstoneViewportService.getViewportInfo(viewportId);
|
|
@@ -1557,7 +1556,7 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1557
1556
|
}
|
|
1558
1557
|
cornerstoneViewportService.disableElement(viewportId);
|
|
1559
1558
|
viewportRef.unregister();
|
|
1560
|
-
|
|
1559
|
+
esm.eventTarget.removeEventListener(esm.Enums.Events.ELEMENT_ENABLED, elementEnabledHandler);
|
|
1561
1560
|
};
|
|
1562
1561
|
}, []);
|
|
1563
1562
|
|
|
@@ -1613,28 +1612,6 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1613
1612
|
};
|
|
1614
1613
|
loadViewportData();
|
|
1615
1614
|
}, [viewportOptions, displaySets, dataSource]);
|
|
1616
|
-
|
|
1617
|
-
/**
|
|
1618
|
-
* There are two scenarios for jump to click
|
|
1619
|
-
* 1. Current viewports contain the displaySet that the annotation was drawn on
|
|
1620
|
-
* 2. Current viewports don't contain the displaySet that the annotation was drawn on
|
|
1621
|
-
* and we need to change the viewports displaySet for jumping.
|
|
1622
|
-
* Since measurement_jump happens via events and listeners, the former case is handled
|
|
1623
|
-
* by the measurement_jump direct callback, but the latter case is handled first by
|
|
1624
|
-
* the viewportGrid to set the correct displaySet on the viewport, AND THEN we check
|
|
1625
|
-
* the cache for jumping to see if there is any jump queued, then we jump to the correct slice.
|
|
1626
|
-
*/
|
|
1627
|
-
(0,react.useEffect)(() => {
|
|
1628
|
-
if (isJumpToMeasurementDisabled) {
|
|
1629
|
-
return;
|
|
1630
|
-
}
|
|
1631
|
-
const {
|
|
1632
|
-
unsubscribe
|
|
1633
|
-
} = measurementService.subscribe(src/* MeasurementService */.C5.EVENTS.JUMP_TO_MEASUREMENT_VIEWPORT, event => handleJumpToMeasurement(event, elementRef, viewportId, cornerstoneViewportService));
|
|
1634
|
-
return () => {
|
|
1635
|
-
unsubscribe();
|
|
1636
|
-
};
|
|
1637
|
-
}, [displaySets, elementRef, viewportId, isJumpToMeasurementDisabled, servicesManager]);
|
|
1638
1615
|
const Notification = customizationService.getCustomization('ui.notificationComponent');
|
|
1639
1616
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
1640
1617
|
className: "viewport-wrapper"
|
|
@@ -1680,49 +1657,6 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1680
1657
|
viewportId: viewportId
|
|
1681
1658
|
}));
|
|
1682
1659
|
}, areEqual);
|
|
1683
|
-
|
|
1684
|
-
// Helper function to handle jumping to measurements
|
|
1685
|
-
function handleJumpToMeasurement(event, elementRef, viewportId, cornerstoneViewportService) {
|
|
1686
|
-
const {
|
|
1687
|
-
measurement,
|
|
1688
|
-
isConsumed
|
|
1689
|
-
} = event;
|
|
1690
|
-
if (!measurement || isConsumed) {
|
|
1691
|
-
return;
|
|
1692
|
-
}
|
|
1693
|
-
const enabledElement = (0,dist_esm.getEnabledElement)(elementRef.current);
|
|
1694
|
-
if (!enabledElement) {
|
|
1695
|
-
return;
|
|
1696
|
-
}
|
|
1697
|
-
const viewport = enabledElement.viewport;
|
|
1698
|
-
const {
|
|
1699
|
-
metadata,
|
|
1700
|
-
displaySetInstanceUID
|
|
1701
|
-
} = measurement;
|
|
1702
|
-
const viewportDisplaySets = cornerstoneViewportService.getViewportDisplaySets(viewportId);
|
|
1703
|
-
const showingDisplaySet = viewportDisplaySets.find(ds => ds.displaySetInstanceUID === displaySetInstanceUID);
|
|
1704
|
-
let metadataToUse = metadata;
|
|
1705
|
-
// if it is not showing the displaySet we need to remove the FOR from the metadata
|
|
1706
|
-
if (!showingDisplaySet) {
|
|
1707
|
-
metadataToUse = {
|
|
1708
|
-
...metadata,
|
|
1709
|
-
FrameOfReferenceUID: undefined
|
|
1710
|
-
};
|
|
1711
|
-
}
|
|
1712
|
-
|
|
1713
|
-
// Todo: make it work with cases where we want to define FOR based measurements too
|
|
1714
|
-
if (!viewport.isReferenceViewable(metadataToUse, CornerstoneViewportService/* WITH_NAVIGATION */.g)) {
|
|
1715
|
-
return;
|
|
1716
|
-
}
|
|
1717
|
-
try {
|
|
1718
|
-
viewport.setViewReference(metadata);
|
|
1719
|
-
viewport.render();
|
|
1720
|
-
} catch (e) {
|
|
1721
|
-
console.warn('Unable to apply', metadata, e);
|
|
1722
|
-
}
|
|
1723
|
-
esm.annotation.selection.setAnnotationSelected(measurement.uid);
|
|
1724
|
-
event?.consume?.();
|
|
1725
|
-
}
|
|
1726
1660
|
function _rehydrateSynchronizers(viewportId, syncGroupService) {
|
|
1727
1661
|
const {
|
|
1728
1662
|
synchronizersStore
|
|
@@ -1816,17 +1750,6 @@ function areEqual(prevProps, nextProps) {
|
|
|
1816
1750
|
}
|
|
1817
1751
|
return true;
|
|
1818
1752
|
}
|
|
1819
|
-
|
|
1820
|
-
// Helper function to check if display sets have changed
|
|
1821
|
-
function haveDisplaySetsChanged(prevDisplaySets, currentDisplaySets) {
|
|
1822
|
-
if (prevDisplaySets.length !== currentDisplaySets.length) {
|
|
1823
|
-
return true;
|
|
1824
|
-
}
|
|
1825
|
-
return currentDisplaySets.some((currentDS, index) => {
|
|
1826
|
-
const prevDS = prevDisplaySets[index];
|
|
1827
|
-
return currentDS.displaySetInstanceUID !== prevDS.displaySetInstanceUID;
|
|
1828
|
-
});
|
|
1829
|
-
}
|
|
1830
1753
|
/* harmony default export */ const Viewport_OHIFCornerstoneViewport = (OHIFCornerstoneViewport);
|
|
1831
1754
|
|
|
1832
1755
|
/***/ })
|
|
@@ -1145,10 +1145,10 @@ function WorkflowPanel({
|
|
|
1145
1145
|
|
|
1146
1146
|
|
|
1147
1147
|
|
|
1148
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
1149
|
-
var default_src = __webpack_require__(
|
|
1150
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
1151
|
-
var cornerstone_src = __webpack_require__(
|
|
1148
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
|
|
1149
|
+
var default_src = __webpack_require__(11447);
|
|
1150
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 184 modules
|
|
1151
|
+
var cornerstone_src = __webpack_require__(20557);
|
|
1152
1152
|
;// ../../../extensions/cornerstone-dynamic-volume/src/panels/DynamicExport.tsx
|
|
1153
1153
|
|
|
1154
1154
|
|
|
@@ -2048,6 +2048,8 @@ var Events;
|
|
|
2048
2048
|
Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
|
|
2049
2049
|
Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
|
|
2050
2050
|
Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
|
|
2051
|
+
Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
|
|
2052
|
+
Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
|
|
2051
2053
|
Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
|
|
2052
2054
|
Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
|
|
2053
2055
|
Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
|