From 8e3e2085d45eba230d0210849b65a6e609c9d81a Mon Sep 17 00:00:00 2001 From: ashik-trenser Date: Tue, 28 Jan 2025 19:23:42 +0530 Subject: [PATCH] fix: for initialImageIndex mismatch issue for loading SR after disabling prompts (#4732) Co-authored-by: ashikcn --- extensions/cornerstone/src/commandsModule.ts | 22 ++++++++++++++----- .../WindowLevelActionMenu.tsx | 2 +- .../TrackedMeasurementsContext.tsx | 1 + 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/extensions/cornerstone/src/commandsModule.ts b/extensions/cornerstone/src/commandsModule.ts index 469e9fcb6..a9d659cd1 100644 --- a/extensions/cornerstone/src/commandsModule.ts +++ b/extensions/cornerstone/src/commandsModule.ts @@ -124,7 +124,11 @@ function commandsModule({ type, }); }, - updateStoredPositionPresentation: ({ viewportId, displaySetInstanceUID }) => { + updateStoredPositionPresentation: ({ + viewportId, + displaySetInstanceUID, + referencedImageId, + }) => { const presentations = cornerstoneViewportService.getPresentations(viewportId); const { positionPresentationStore, setPositionPresentation, getPositionPresentationId } = usePositionPresentationStore.getState(); @@ -136,10 +140,18 @@ function commandsModule({ )?.[0]; if (previousReferencedDisplaySetStoreKey) { - setPositionPresentation( - previousReferencedDisplaySetStoreKey, - presentations.positionPresentation - ); + if (referencedImageId) { + setPositionPresentation(previousReferencedDisplaySetStoreKey, { + viewReference: { + referencedImageId, + }, + }); + } else { + setPositionPresentation( + previousReferencedDisplaySetStoreKey, + presentations.positionPresentation + ); + } return; } diff --git a/extensions/cornerstone/src/components/WindowLevelActionMenu/WindowLevelActionMenu.tsx b/extensions/cornerstone/src/components/WindowLevelActionMenu/WindowLevelActionMenu.tsx index 77dd1dd89..65804c914 100644 --- a/extensions/cornerstone/src/components/WindowLevelActionMenu/WindowLevelActionMenu.tsx +++ b/extensions/cornerstone/src/components/WindowLevelActionMenu/WindowLevelActionMenu.tsx @@ -51,7 +51,7 @@ export function WindowLevelActionMenu({ const { colorbarService, cornerstoneViewportService } = servicesManager.services; const viewportInfo = cornerstoneViewportService.getViewportInfo(viewportId); const viewport = cornerstoneViewportService.getCornerstoneViewport(viewportId); - const backgroundColor = viewportInfo.getViewportOptions().background; + const backgroundColor = viewportInfo?.getViewportOptions().background; const isLight = backgroundColor ? utilities.isEqual(backgroundColor, [1, 1, 1]) : false; const { t } = useTranslation('WindowLevelActionMenu'); diff --git a/extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/TrackedMeasurementsContext.tsx b/extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/TrackedMeasurementsContext.tsx index fa7f59459..c3642fdba 100644 --- a/extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/TrackedMeasurementsContext.tsx +++ b/extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/TrackedMeasurementsContext.tsx @@ -97,6 +97,7 @@ function TrackedMeasurementsContextProvider( commandsManager.runCommand('updateStoredPositionPresentation', { viewportId: activeViewportId, displaySetInstanceUID: referencedDisplaySetUID, + referencedImageId: trackedMeasurement.referencedImageId, }); viewportGridService.setDisplaySetsForViewport({