diff --git a/dicom-viewer/src/App.tsx b/dicom-viewer/src/App.tsx index 630271b..734edce 100644 --- a/dicom-viewer/src/App.tsx +++ b/dicom-viewer/src/App.tsx @@ -1603,7 +1603,7 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer ) { console.log("Restoring volume slice index for viewport", i, state.volumeSliceIndices[i]); setTimeout(() => { - csUtilities.jumpToSlice(viewport.element, { imageIndex: state.volumeSliceIndices[i] }); + csUtilities.jumpToSlice(viewport.element, { imageIndex: state.volumeSliceIndices[i] }); }, 100); } @@ -1645,8 +1645,8 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer delete propsToRestore.colormap; } setTimeout(() => { - viewport.setProperties(propsToRestore); - viewport.render(); + viewport.setProperties(propsToRestore); + viewport.render(); }, 100); } else { console.warn("No properties to restore for viewport", i); @@ -1661,7 +1661,7 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer viewport.setCamera(state.cam[i]); viewport.render(); } - // --- Restore slice index if present --- + // --- Restore slice index if present --- } restoringStateRef.current = false; } @@ -1941,10 +1941,10 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer if (!imageIds || imageIds.length === 0) return; if (e.key === "ArrowUp" || e.key === "ArrowRight") { - csUtilities.scroll(viewport, { delta: -1}); + csUtilities.scroll(viewport, { delta: -1 }); e.preventDefault(); } else if (e.key === "ArrowDown" || e.key === "ArrowLeft") { - csUtilities.scroll(viewport, { delta: 1}); + csUtilities.scroll(viewport, { delta: 1 }); e.preventDefault(); } } @@ -1959,10 +1959,10 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer const numSlices = viewport.getNumberOfSlices(); if (numSlices > 1) { if (e.key === "ArrowUp" || e.key === "ArrowRight") { - csUtilities.scroll(viewport, { delta: -1}); + csUtilities.scroll(viewport, { delta: -1 }); e.preventDefault(); } else if (e.key === "ArrowDown" || e.key === "ArrowLeft") { - csUtilities.scroll(viewport, { delta: 1}); + csUtilities.scroll(viewport, { delta: 1 }); e.preventDefault(); } } @@ -2577,6 +2577,103 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer )} + {viewportModes[i] === "volume" && (() => { + const renderingEngine = renderingEngineRef.current; + const viewport = renderingEngine?.getViewport(`CT_${i}`); + let numSlices = 0; + let currentSlice = 0; + if (viewport && typeof viewport.getNumberOfSlices === "function" && typeof viewport.getSliceIndex === "function") { + numSlices = viewport.getNumberOfSlices(); + currentSlice = viewport.getSliceIndex(); + } + if (numSlices > 1) { + return ( +