diff --git a/extensions/cornerstone/src/commandsModule.ts b/extensions/cornerstone/src/commandsModule.ts index e11412f05..ec5b403d8 100644 --- a/extensions/cornerstone/src/commandsModule.ts +++ b/extensions/cornerstone/src/commandsModule.ts @@ -368,6 +368,21 @@ function commandsModule({ }, showDownloadViewportModal: () => { const { activeViewportIndex } = viewportGridService.getState(); + + if ( + !cornerstoneViewportService.getCornerstoneViewportByIndex( + activeViewportIndex + ) + ) { + // Cannot download a non-cornerstone viewport (image). + uiNotificationService.show({ + title: 'Download Image', + message: 'Image cannot be downloaded', + type: 'error', + }); + return; + } + const { uiModalService } = servicesManager.services; if (uiModalService) { diff --git a/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx b/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx index 3c44131eb..cfab216e7 100644 --- a/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx +++ b/extensions/cornerstone/src/utils/CornerstoneViewportDownloadForm.tsx @@ -217,7 +217,7 @@ const CornerstoneViewportDownloadForm = ({ ); // add the viewport to the toolGroup - toolGroup.addViewport(downloadViewportId); + toolGroup.addViewport(downloadViewportId, renderingEngineId); Object.keys(toolGroup._toolInstances).forEach(toolName => { // make all tools Enabled so that they can not be interacted with diff --git a/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.tsx b/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.tsx index 26167dc8b..e04dd1308 100644 --- a/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.tsx +++ b/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.tsx @@ -95,11 +95,11 @@ const ViewportDownloadForm = ({ const onKeepAspectToggle = () => { const { width, height } = dimensions; - const aspectMultiplier = { ...aspectMultiplier }; if (!keepAspect) { - const base = Math.min(width, height); - aspectMultiplier.width = width / base; - aspectMultiplier.height = height / base; + const aspectMultiplier = { + width: width / height, + height: height / width, + }; setAspectMultiplier(aspectMultiplier); } @@ -379,7 +379,7 @@ const ViewportDownloadForm = ({
{t('Image preview')}