@ohif/app 3.9.0-beta.77 → 3.9.0-beta.79
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/{1169.bundle.a3d3d310f1d8d7e335bf.js → 1169.bundle.d32f38ab5aa329346850.js} +46 -106
- package/dist/{1202.bundle.1468f0e71fea0c593081.js → 1202.bundle.55f140afb05e1ad5512c.js} +503 -153
- package/dist/{2568.css → 1540.css} +1 -0
- package/dist/{1994.bundle.39ea4d1a48d42cdca49b.js → 1994.bundle.04ba989c747992f45c6e.js} +3 -3
- package/dist/{9824.bundle.8e8afc799f0534014fa9.js → 2119.bundle.142793bed5b53a2f4a30.js} +4 -4
- package/dist/{9824.css → 2119.css} +1 -0
- package/dist/{2650.bundle.1f7d90198b9e361dfb9c.js → 2650.bundle.feb3b241748314884ae4.js} +57 -35
- package/dist/{3117.bundle.c83d0f403d17104a7c4c.js → 3117.bundle.463d5fa4671a93939d36.js} +8 -7
- package/dist/{4210.bundle.f1af90765358215ca053.js → 4210.bundle.e81688aaa6aec1c4f973.js} +2 -2
- package/dist/{4842.bundle.11abbf3f8699b84a7537.js → 4842.bundle.9264e466874f0206d564.js} +12 -8
- package/dist/{5888.bundle.f48daf22ce156ac4956a.js → 5888.bundle.8b4c8f227376800c6e1d.js} +14 -7
- package/dist/{2417.bundle.4a0334c8c4047005979e.js → 5898.bundle.be696e0b355efc1c7f05.js} +1947 -1
- package/dist/{2281.bundle.b20397636c4b681f4463.js → 655.bundle.805114d0d89a4bd4d92d.js} +170 -66
- package/dist/{6591.bundle.092858f2e84426bc0010.js → 6591.bundle.5b4b8bfff223013aa46f.js} +15 -1
- package/dist/{7502.bundle.7f3a72a5571a00fda890.js → 7502.bundle.e37c3a247f287d282838.js} +4 -6
- package/dist/{3424.bundle.1b6101d721148c04242b.js → 79.bundle.b03daeeef3e6faf9dca3.js} +5 -47
- package/dist/{8993.bundle.256bb3c84d2564a5f3cf.js → 8993.bundle.23cd5f8560800a97d798.js} +39 -32
- package/dist/{2065.bundle.fc147f9fde903e0768f4.js → 8999.bundle.d9dbbf80990887877381.js} +13 -133
- package/dist/{9579.bundle.7212d7a737a71bb61502.js → 9579.bundle.f9c9be0c5ab6cddbde3d.js} +8 -7
- package/dist/{5516.bundle.f61b8aebe75f7bafd5b1.js → 962.bundle.c6dcf9d6c1d56ebff24d.js} +408 -179
- package/dist/app-config.js +1 -0
- package/dist/{app.bundle.e3ce3b1cf2fae5cedcd3.js → app.bundle.7851cb292073f6e7a0c5.js} +646 -349
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.40b9a8c9006bb15691ee.js → polySeg.bundle.0a70e65fe89169ec7508.js} +1 -1
- package/dist/{suv-peak-worker.bundle.a70e70b9ef87c18b896c.js → suv-peak-worker.bundle.54d68bc1808ad3d77994.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- package/dist/7604.bundle.42d3f08efb3a9eae4581.js +0 -1950
- package/dist/{1498.bundle.d8f5281952d09c57ef87.js → 1498.bundle.a2d05ac1f27d0c2d2c9f.js} +0 -0
- package/dist/{153.bundle.94f93195fab889e0add8.js → 153.bundle.52f9f8d3ecfc88f18ebb.js} +0 -0
- package/dist/{2791.bundle.597dca661f5f08060ad3.js → 2791.bundle.cdffc588e0401363be5c.js} +0 -0
- package/dist/{3497.bundle.a04a2444975bf50fddf8.js → 3497.bundle.512610422a2862584c55.js} +0 -0
- package/dist/{3962.bundle.db07d757866d3a3b20b3.js → 3962.bundle.0d49146b27c7b7dcb48a.js} +0 -0
- package/dist/{4353.bundle.c835b4ea70768a207c59.js → 4353.bundle.7aacb9d40bc20bb4aa36.js} +0 -0
- package/dist/{4978.bundle.c5d6cac06bcc9656c900.js → 4978.bundle.f580a489066e909c8dc9.js} +0 -0
- package/dist/{5793.bundle.eed3fe9019c31999efff.js → 5793.bundle.d1b4e887564bbb98752d.js} +0 -0
- package/dist/{6904.bundle.27abf08c0f2e4fe5e06d.js → 6904.bundle.da0d83fcd48a48cfaac1.js} +0 -0
- package/dist/{7246.bundle.d3f1bb1a40801b133810.js → 7246.bundle.32f7f871fb1016362af8.js} +0 -0
- package/dist/{7360.bundle.b28c83aa3910eaa427ee.js → 7360.bundle.4233f9f8747d6facdc54.js} +0 -0
- package/dist/{7376.bundle.1173819ab2acd8610f1e.js → 7376.bundle.f087dc1e0e16a41dedbe.js} +0 -0
- package/dist/{3424.css → 79.css} +1 -1
- /package/dist/{7913.bundle.5702ee8798da273c0c5d.js → 7913.bundle.207d7463f90bb92e4ab4.js} +0 -0
- /package/dist/{818.bundle.b64fae7e982e16a82ca2.js → 818.bundle.b6027359846cc90e32ff.js} +0 -0
- /package/dist/{8944.bundle.3bf7ef09ea87195b9e23.js → 8944.bundle.2c07f90c73692457ffa3.js} +0 -0
|
@@ -79,73 +79,44 @@ function CornerstoneImageScrollbar({
|
|
|
79
79
|
if (!viewport) {
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
if (viewportData.viewportType === dist_esm.Enums.ViewportType.ORTHOGRAPHIC) {
|
|
91
|
-
const sliceData = dist_esm.utilities.getImageSliceDataForVolumeViewport(viewport);
|
|
92
|
-
if (!sliceData) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
const {
|
|
96
|
-
imageIndex,
|
|
97
|
-
numberOfSlices
|
|
98
|
-
} = sliceData;
|
|
99
|
-
setImageSliceData({
|
|
100
|
-
imageIndex,
|
|
101
|
-
numberOfSlices
|
|
102
|
-
});
|
|
103
|
-
}
|
|
82
|
+
const imageIndex = viewport.getCurrentImageIdIndex();
|
|
83
|
+
const numberOfSlices = viewport.getNumberOfSlices();
|
|
84
|
+
setImageSliceData({
|
|
85
|
+
imageIndex: imageIndex,
|
|
86
|
+
numberOfSlices
|
|
87
|
+
});
|
|
104
88
|
}, [viewportId, viewportData]);
|
|
105
89
|
(0,react.useEffect)(() => {
|
|
106
|
-
if (viewportData
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
const updateStackIndex = event => {
|
|
110
|
-
const {
|
|
111
|
-
newImageIdIndex
|
|
112
|
-
} = event.detail;
|
|
113
|
-
// find the index of imageId in the imageIds
|
|
114
|
-
setImageSliceData({
|
|
115
|
-
imageIndex: newImageIdIndex,
|
|
116
|
-
numberOfSlices: viewportData.data[0].imageIds.length
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
element.addEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_SCROLL, updateStackIndex);
|
|
120
|
-
return () => {
|
|
121
|
-
element.removeEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_SCROLL, updateStackIndex);
|
|
122
|
-
};
|
|
123
|
-
}, [viewportData, element]);
|
|
124
|
-
(0,react.useEffect)(() => {
|
|
125
|
-
if (viewportData?.viewportType !== dist_esm.Enums.ViewportType.ORTHOGRAPHIC) {
|
|
90
|
+
if (!viewportData) {
|
|
126
91
|
return;
|
|
127
92
|
}
|
|
128
|
-
const
|
|
93
|
+
const {
|
|
94
|
+
viewportType
|
|
95
|
+
} = viewportData;
|
|
96
|
+
const eventId = viewportType === dist_esm.Enums.ViewportType.STACK && dist_esm.Enums.Events.STACK_VIEWPORT_SCROLL || viewportType === dist_esm.Enums.ViewportType.ORTHOGRAPHIC && dist_esm.Enums.Events.VOLUME_NEW_IMAGE || dist_esm.Enums.Events.IMAGE_RENDERED;
|
|
97
|
+
const updateIndex = event => {
|
|
98
|
+
const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId);
|
|
129
99
|
const {
|
|
130
100
|
imageIndex,
|
|
131
|
-
|
|
101
|
+
newImageIdIndex = imageIndex
|
|
132
102
|
} = event.detail;
|
|
103
|
+
const numberOfSlices = viewport.getNumberOfSlices();
|
|
133
104
|
// find the index of imageId in the imageIds
|
|
134
105
|
setImageSliceData({
|
|
135
|
-
imageIndex,
|
|
106
|
+
imageIndex: newImageIdIndex,
|
|
136
107
|
numberOfSlices
|
|
137
108
|
});
|
|
138
109
|
};
|
|
139
|
-
element.addEventListener(
|
|
110
|
+
element.addEventListener(eventId, updateIndex);
|
|
140
111
|
return () => {
|
|
141
|
-
element.removeEventListener(
|
|
112
|
+
element.removeEventListener(eventId, updateIndex);
|
|
142
113
|
};
|
|
143
114
|
}, [viewportData, element]);
|
|
144
115
|
return /*#__PURE__*/react.createElement(ui_src/* ImageScrollbar */.Ln, {
|
|
145
116
|
onChange: evt => onImageScrollbarChange(evt, viewportId),
|
|
146
117
|
max: imageSliceData.numberOfSlices ? imageSliceData.numberOfSlices - 1 : 0,
|
|
147
118
|
height: scrollbarHeight,
|
|
148
|
-
value: imageSliceData.imageIndex
|
|
119
|
+
value: imageSliceData.imageIndex || 0
|
|
149
120
|
});
|
|
150
121
|
}
|
|
151
122
|
CornerstoneImageScrollbar.propTypes = {
|
|
@@ -472,8 +443,6 @@ function CornerstoneOverlays(props) {
|
|
|
472
443
|
}));
|
|
473
444
|
}
|
|
474
445
|
/* harmony default export */ const Overlays_CornerstoneOverlays = (CornerstoneOverlays);
|
|
475
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
|
|
476
|
-
var getSOPInstanceAttributes = __webpack_require__(90927);
|
|
477
446
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
|
|
478
447
|
var streaming_image_volume_loader_dist_esm = __webpack_require__(15793);
|
|
479
448
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
@@ -1653,7 +1622,6 @@ function getWindowLevelActionMenu({
|
|
|
1653
1622
|
|
|
1654
1623
|
|
|
1655
1624
|
|
|
1656
|
-
|
|
1657
1625
|
const STACK = 'stack';
|
|
1658
1626
|
|
|
1659
1627
|
/**
|
|
@@ -1718,6 +1686,7 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1718
1686
|
viewportOptions,
|
|
1719
1687
|
displaySetOptions,
|
|
1720
1688
|
servicesManager,
|
|
1689
|
+
commandsManager,
|
|
1721
1690
|
onElementEnabled,
|
|
1722
1691
|
// eslint-disable-next-line react/prop-types
|
|
1723
1692
|
onElementDisabled,
|
|
@@ -1755,14 +1724,12 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1755
1724
|
const elementRef = (0,react.useRef)();
|
|
1756
1725
|
const [appConfig] = (0,state_0/* useAppConfig */.M)();
|
|
1757
1726
|
const {
|
|
1758
|
-
measurementService,
|
|
1759
1727
|
displaySetService,
|
|
1760
1728
|
toolbarService,
|
|
1761
1729
|
toolGroupService,
|
|
1762
1730
|
syncGroupService,
|
|
1763
1731
|
cornerstoneViewportService,
|
|
1764
1732
|
cornerstoneCacheService,
|
|
1765
|
-
viewportGridService,
|
|
1766
1733
|
stateSyncService,
|
|
1767
1734
|
viewportActionCornersService
|
|
1768
1735
|
} = servicesManager.services;
|
|
@@ -1929,8 +1896,8 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1929
1896
|
if (isJumpToMeasurementDisabled) {
|
|
1930
1897
|
return;
|
|
1931
1898
|
}
|
|
1932
|
-
const unsubscribeFromJumpToMeasurementEvents = _subscribeToJumpToMeasurementEvents(
|
|
1933
|
-
_checkForCachedJumpToMeasurementEvents(
|
|
1899
|
+
const unsubscribeFromJumpToMeasurementEvents = _subscribeToJumpToMeasurementEvents(elementRef, viewportId, servicesManager);
|
|
1900
|
+
_checkForCachedJumpToMeasurementEvents(elementRef, viewportId, displaySets, servicesManager);
|
|
1934
1901
|
return () => {
|
|
1935
1902
|
unsubscribeFromJumpToMeasurementEvents();
|
|
1936
1903
|
};
|
|
@@ -2005,7 +1972,11 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
2005
1972
|
viewportId: viewportId
|
|
2006
1973
|
}));
|
|
2007
1974
|
}, areEqual);
|
|
2008
|
-
function _subscribeToJumpToMeasurementEvents(
|
|
1975
|
+
function _subscribeToJumpToMeasurementEvents(elementRef, viewportId, servicesManager) {
|
|
1976
|
+
const {
|
|
1977
|
+
measurementService,
|
|
1978
|
+
cornerstoneViewportService
|
|
1979
|
+
} = servicesManager.services;
|
|
2009
1980
|
const {
|
|
2010
1981
|
unsubscribe
|
|
2011
1982
|
} = measurementService.subscribe(src.MeasurementService.EVENTS.JUMP_TO_MEASUREMENT_VIEWPORT, props => {
|
|
@@ -2020,20 +1991,22 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
|
|
|
2020
1991
|
}
|
|
2021
1992
|
if (cacheJumpToMeasurementEvent.cornerstoneViewport === undefined) {
|
|
2022
1993
|
// Decide on which viewport should handle this
|
|
2023
|
-
cacheJumpToMeasurementEvent.cornerstoneViewport = cornerstoneViewportService.getViewportIdToJump(jumpId,
|
|
1994
|
+
cacheJumpToMeasurementEvent.cornerstoneViewport = cornerstoneViewportService.getViewportIdToJump(jumpId, {
|
|
1995
|
+
displaySetInstanceUID: measurement.displaySetInstanceUID,
|
|
1996
|
+
...measurement.metadata,
|
|
2024
1997
|
referencedImageId: measurement.referencedImageId || measurement.metadata?.referencedImageId
|
|
2025
1998
|
});
|
|
2026
1999
|
}
|
|
2027
2000
|
if (cacheJumpToMeasurementEvent.cornerstoneViewport !== viewportId) {
|
|
2028
2001
|
return;
|
|
2029
2002
|
}
|
|
2030
|
-
_jumpToMeasurement(measurement, elementRef, viewportId,
|
|
2003
|
+
_jumpToMeasurement(measurement, elementRef, viewportId, servicesManager);
|
|
2031
2004
|
});
|
|
2032
2005
|
return unsubscribe;
|
|
2033
2006
|
}
|
|
2034
2007
|
|
|
2035
2008
|
// Check if there is a queued jumpToMeasurement event
|
|
2036
|
-
function _checkForCachedJumpToMeasurementEvents(
|
|
2009
|
+
function _checkForCachedJumpToMeasurementEvents(elementRef, viewportId, displaySets, servicesManager) {
|
|
2037
2010
|
if (!cacheJumpToMeasurementEvent) {
|
|
2038
2011
|
return;
|
|
2039
2012
|
}
|
|
@@ -2052,22 +2025,15 @@ function _checkForCachedJumpToMeasurementEvents(measurementService, displaySetSe
|
|
|
2052
2025
|
} = cacheJumpToMeasurementEvent;
|
|
2053
2026
|
if (measurement && elementRef) {
|
|
2054
2027
|
if (displaysUIDs.includes(measurement?.displaySetInstanceUID)) {
|
|
2055
|
-
_jumpToMeasurement(measurement, elementRef, viewportId,
|
|
2028
|
+
_jumpToMeasurement(measurement, elementRef, viewportId, servicesManager);
|
|
2056
2029
|
}
|
|
2057
2030
|
}
|
|
2058
2031
|
}
|
|
2059
|
-
function _jumpToMeasurement(measurement, targetElementRef, viewportId,
|
|
2060
|
-
const targetElement = targetElementRef.current;
|
|
2032
|
+
function _jumpToMeasurement(measurement, targetElementRef, viewportId, servicesManager) {
|
|
2061
2033
|
const {
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
} = measurement;
|
|
2066
|
-
if (!SOPInstanceUID) {
|
|
2067
|
-
console.warn('cannot jump in a non-acquisition plane measurements yet');
|
|
2068
|
-
return;
|
|
2069
|
-
}
|
|
2070
|
-
const referencedDisplaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID);
|
|
2034
|
+
viewportGridService
|
|
2035
|
+
} = servicesManager.services;
|
|
2036
|
+
const targetElement = targetElementRef.current;
|
|
2071
2037
|
|
|
2072
2038
|
// Todo: setCornerstoneMeasurementActive should be handled by the toolGroupManager
|
|
2073
2039
|
// to set it properly
|
|
@@ -2078,43 +2044,17 @@ function _jumpToMeasurement(measurement, targetElementRef, viewportId, measureme
|
|
|
2078
2044
|
if (enabledElement) {
|
|
2079
2045
|
// See how the jumpToSlice() of Cornerstone3D deals with imageIdx param.
|
|
2080
2046
|
const viewport = enabledElement.viewport;
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
} = (0,getSOPInstanceAttributes/* default */.Z)(imageId);
|
|
2090
|
-
return aSOPInstanceUID === SOPInstanceUID && (!frameNumber || frameNumber === aFrameNumber);
|
|
2091
|
-
});
|
|
2092
|
-
} else {
|
|
2093
|
-
// for volume viewport we can't rely on the imageIdIndex since it can be
|
|
2094
|
-
// a reconstructed view that doesn't match the original slice numbers etc.
|
|
2095
|
-
const {
|
|
2096
|
-
viewPlaneNormal: measurementViewPlane
|
|
2097
|
-
} = measurement.metadata;
|
|
2098
|
-
imageIdIndex = referencedDisplaySet.images.findIndex(i => i.SOPInstanceUID === SOPInstanceUID);
|
|
2099
|
-
|
|
2100
|
-
// the index is reversed in the volume viewport
|
|
2101
|
-
// imageIdIndex = referencedDisplaySet.images.length - 1 - imageIdIndex;
|
|
2102
|
-
|
|
2103
|
-
const {
|
|
2104
|
-
viewPlaneNormal: viewportViewPlane
|
|
2105
|
-
} = viewport.getCamera();
|
|
2106
|
-
|
|
2107
|
-
// should compare abs for both planes since the direction can be flipped
|
|
2108
|
-
if (measurementViewPlane && !dist_esm.utilities.isEqual(measurementViewPlane.map(Math.abs), viewportViewPlane.map(Math.abs))) {
|
|
2109
|
-
viewportCameraDirectionMatch = false;
|
|
2110
|
-
}
|
|
2111
|
-
}
|
|
2112
|
-
if (!viewportCameraDirectionMatch || imageIdIndex === -1) {
|
|
2047
|
+
const {
|
|
2048
|
+
metadata
|
|
2049
|
+
} = measurement;
|
|
2050
|
+
if (!viewport.isReferenceViewable(metadata, {
|
|
2051
|
+
withNavigation: true,
|
|
2052
|
+
withOrientation: true
|
|
2053
|
+
})) {
|
|
2054
|
+
console.log("Reference isn't viewable, postponing until updated");
|
|
2113
2055
|
return;
|
|
2114
2056
|
}
|
|
2115
|
-
|
|
2116
|
-
imageIndex: imageIdIndex
|
|
2117
|
-
});
|
|
2057
|
+
viewport.setViewReference(metadata);
|
|
2118
2058
|
esm.annotation.selection.setAnnotationSelected(measurement.uid);
|
|
2119
2059
|
// Jump to measurement consumed, remove.
|
|
2120
2060
|
cacheJumpToMeasurementEvent?.consume?.();
|