diff --git a/apps/desktop/src/pages/Viewer/MprViewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts b/apps/desktop/src/pages/Viewer/MprViewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts index 9cc1c01..65ad95d 100644 --- a/apps/desktop/src/pages/Viewer/MprViewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts +++ b/apps/desktop/src/pages/Viewer/MprViewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts @@ -7,7 +7,7 @@ export const initCornerstoneDICOMImageLoader = () => { cornerstone.getConfiguration().rendering; console.log("dddd", cornerstone.getConfiguration().rendering); - cornerstone.setUseSharedArrayBuffer(true); + cornerstone.setUseSharedArrayBuffer(false); cornerstone.setConfiguration({ detectGPUConfig: { // benchmarksURL: "http://localhost:9000", diff --git a/apps/desktop/src/pages/Viewer/index.tsx b/apps/desktop/src/pages/Viewer/index.tsx index a24210a..88c255c 100644 --- a/apps/desktop/src/pages/Viewer/index.tsx +++ b/apps/desktop/src/pages/Viewer/index.tsx @@ -13,6 +13,7 @@ import { setVolumesForViewports, volumeLoader, Enums as CoreEnums, + cache, } from "@cornerstonejs/core"; import { IStackViewport, @@ -27,7 +28,6 @@ import { viewportId1, viewportId2, viewportId3, - volumeId, } from "./MprViewer/index.config"; import setCtTransferFunctionForVolumeActor from "./MprViewer/CornerstoneDicomLoader/setCtTransferFunctionForVolumeActor"; import { Slider } from "@/components/ui/slider"; @@ -68,7 +68,7 @@ export const Viewer = () => { const StudyInstanceUID = queryParams.get("StudyInstanceUID"); const [imageIds, setImageIds] = useState(); const renderingEngineRef = useRef(); - const ts = "-" + Date.now(); // 每次都是新的volumeId + const volumeId = SeriesInstanceUID; useEffect(() => { cornerstoneTools.addTool(StackScrollMouseWheelTool); @@ -90,13 +90,13 @@ export const Viewer = () => { wadoRsRoot, }); // 这一步会对imageIds进行排序,如果不排序imageIds会错误乱,stackViewport顺序会错误 - const volume = await volumeLoader.createAndCacheVolume(volumeId + ts, { - imageIds, - }); + const volume = await volumeLoader.createAndCacheVolume( + SeriesInstanceUID, + { + imageIds, + } + ); volume.load(); - console.log("2222"); - console.log(SeriesInstanceUID); - console.log(StudyInstanceUID); const volumeViewportInput: PublicViewportInput[] = [ { @@ -152,7 +152,7 @@ export const Viewer = () => { renderingEngineRef.current, [ { - volumeId: volumeId + ts, + volumeId: SeriesInstanceUID, callback: ({ volumeActor }) => setCtTransferFunctionForVolumeActor({ volumeActor, @@ -223,13 +223,16 @@ export const Viewer = () => { ToolGroupManager.destroyToolGroup(toolGroupMprId); ToolGroupManager.destroyToolGroup(toolGroupStackId); + cache.purgeCache(); + console.log(cache.getVolume(volumeId!)); + cornerstoneTools.removeTool(StackScrollMouseWheelTool); 1; cornerstoneTools.removeTool(CrosshairsTool); cornerstoneTools.removeTool(WindowLevelTool); cornerstoneTools.removeTool(ZoomTool); }; - }, [SeriesInstanceUID, StudyInstanceUID]); + }, [SeriesInstanceUID, StudyInstanceUID, volumeId]); const onChangeIndex = (value: number[]) => { setIndex(value[0]);