fix(viewport): Reset viewport state and fix CINE looping, thumbnail resolution, and dynamic tool settings (#4037)

This commit is contained in:
Alireza authored and GitHub committed 2024-04-16 11:04:48 -04:00
1 parent a6c6fff43a
commit f99a0bfb31
80 files changed
+1129 -801

No files matched your search

+1 -1
View File
@@ -54,7 +54,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.5",
"@cornerstonejs/dicom-image-loader": "^1.70.5",
"@cornerstonejs/dicom-image-loader": "^1.70.6",
"@emotion/serialize": "^1.1.3",
"@ohif/core": "3.8.0-beta.80",
"@ohif/extension-cornerstone": "3.8.0-beta.80",
+13 -2
View File
@@ -12,7 +12,7 @@ function ViewerViewportGrid(props) {
const [viewportGrid, viewportGridService] = useViewportGrid();
const [appConfig] = useAppConfig();
const { layout, activeViewportId, viewports } = viewportGrid;
const { layout, activeViewportId, viewports, isHangingProtocolLayout } = viewportGrid;
const { numCols, numRows } = layout;
const elementRef = useRef(null);
const layoutHash = useRef(null);
@@ -97,11 +97,21 @@ function ViewerViewportGrid(props) {
layoutType,
layoutOptions,
findOrCreateViewport,
isHangingProtocolLayout: true,
});
};
const _getUpdatedViewports = useCallback(
(viewportId, displaySetInstanceUID) => {
if (!isHangingProtocolLayout) {
return [
{
viewportId,
displaySetInstanceUIDs: [displaySetInstanceUID],
},
];
}
let updatedViewports = [];
try {
updatedViewports = hangingProtocolService.getViewportsRequireUpdate(
@@ -121,7 +131,7 @@ function ViewerViewportGrid(props) {
return updatedViewports;
},
[hangingProtocolService, uiNotificationService]
[hangingProtocolService, uiNotificationService, isHangingProtocolLayout]
);
// Using Hanging protocol engine to match the displaySets
@@ -340,6 +350,7 @@ function ViewerViewportGrid(props) {
viewportOptions={viewportOptions}
displaySetOptions={displaySetOptions}
needsRerendering={displaySetsNeedsRerendering}
isHangingProtocolLayout={isHangingProtocolLayout}
onElementEnabled={() => {
viewportGridService.setViewportIsReady(viewportId, true);
}}