diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index bf5060afa..b7f59d4ea 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -33,7 +33,7 @@ "@ohif/ui": "^0.50.0", "cornerstone-core": "^2.3.0", "cornerstone-math": "^0.1.8", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "cornerstone-wado-image-loader": "^3.1.2", "dcmjs": "0.16.1", "dicom-parser": "^1.8.3", diff --git a/extensions/cornerstone/src/CornerstoneViewportDownloadForm.js b/extensions/cornerstone/src/CornerstoneViewportDownloadForm.js index bdd34e737..684b1b837 100644 --- a/extensions/cornerstone/src/CornerstoneViewportDownloadForm.js +++ b/extensions/cornerstone/src/CornerstoneViewportDownloadForm.js @@ -13,9 +13,10 @@ const DEFAULT_SIZE = 512; const MAX_TEXTURE_SIZE = 10000; const CornerstoneViewportDownloadForm = ({ onClose, activeViewportIndex }) => { - const { element: activeEnabledElement } = getEnabledElement( + const enabledElement = getEnabledElement( activeViewportIndex ); + const activeEnabledElement = enabledElement?.element const enableViewport = viewportElement => { if (viewportElement) { @@ -116,6 +117,7 @@ const CornerstoneViewportDownloadForm = ({ onClose, activeViewportIndex }) => { viewportElement.querySelector('canvas').toBlob(blob => { const URLObj = window.URL || window.webkitURL; const a = document.createElement('a'); + a.href = URLObj.createObjectURL(blob); a.download = file; document.body.appendChild(a); diff --git a/extensions/cornerstone/src/commandsModule.js b/extensions/cornerstone/src/commandsModule.js index ce22c1db3..4bacc0d23 100644 --- a/extensions/cornerstone/src/commandsModule.js +++ b/extensions/cornerstone/src/commandsModule.js @@ -202,8 +202,9 @@ const commandsModule = ({ servicesManager, commandsManager }) => { return enabledElement; }, showDownloadViewportModal: () => { - const activeViewportIndex = 0; // viewports.activeViewportIndex; + const { activeViewportIndex } = ViewportGridService.getState(); const { UIModalService } = servicesManager.services; + if (UIModalService) { UIModalService.show({ content: CornerstoneViewportDownloadForm, diff --git a/extensions/dicom-rt/package.json b/extensions/dicom-rt/package.json index 335d90e13..86288540c 100644 --- a/extensions/dicom-rt/package.json +++ b/extensions/dicom-rt/package.json @@ -30,7 +30,7 @@ "peerDependencies": { "@ohif/core": "^0.50.0", "cornerstone-core": "^2.2.8", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "dcmjs": "0.16.1", "prop-types": "^15.6.2", "react": "^16.8.6", diff --git a/extensions/dicom-segmentation/package.json b/extensions/dicom-segmentation/package.json index d9a3a0455..21df11cc0 100644 --- a/extensions/dicom-segmentation/package.json +++ b/extensions/dicom-segmentation/package.json @@ -30,7 +30,7 @@ "peerDependencies": { "@ohif/core": "^0.50.0", "cornerstone-core": "^2.2.8", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "dcmjs": "0.16.1", "prop-types": "^15.6.2", "react": "^16.8.6", diff --git a/extensions/dicom-sr/package.json b/extensions/dicom-sr/package.json index 582d95d48..2a5b9091e 100644 --- a/extensions/dicom-sr/package.json +++ b/extensions/dicom-sr/package.json @@ -33,7 +33,7 @@ "@ohif/ui": "^0.50.0", "cornerstone-core": "^2.3.0", "cornerstone-math": "^0.1.8", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "cornerstone-wado-image-loader": "^3.1.2", "dcmjs": "0.16.1", "dicom-parser": "^1.8.3", diff --git a/extensions/measurement-tracking/package.json b/extensions/measurement-tracking/package.json index ab8222bbd..585d63cb1 100644 --- a/extensions/measurement-tracking/package.json +++ b/extensions/measurement-tracking/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": { "@ohif/core": "^0.50.0", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "dcmjs": "0.16.1", "prop-types": "^15.6.2", "react": "^16.13.1", diff --git a/extensions/vtk/package.json b/extensions/vtk/package.json index e17144eb0..e41dae629 100644 --- a/extensions/vtk/package.json +++ b/extensions/vtk/package.json @@ -57,7 +57,7 @@ "@ohif/core": "^2.9.6", "@ohif/ui": "^2.0.0", "cornerstone-core": "^2.3.0", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "cornerstone-wado-image-loader": "^3.1.2", "dicom-parser": "^1.8.3", "gh-pages": "^2.0.1", diff --git a/modes/longitudinal/src/index.js b/modes/longitudinal/src/index.js index e8f00446b..6306fa19c 100644 --- a/modes/longitudinal/src/index.js +++ b/modes/longitudinal/src/index.js @@ -62,8 +62,7 @@ export default function mode({ modeConfiguration }) { 'Zoom', 'WindowLevel', 'Pan', - // TODO: OHIF-376, need more time to adress this reasonably - // 'Capture', + 'Capture', 'Layout', 'MoreTools', ]); diff --git a/modes/longitudinal/src/toolbarButtons.js b/modes/longitudinal/src/toolbarButtons.js index b836c54a9..6365a4bde 100644 --- a/modes/longitudinal/src/toolbarButtons.js +++ b/modes/longitudinal/src/toolbarButtons.js @@ -146,17 +146,16 @@ export default [ commandOptions: { toolName: 'Pan' }, }, }, - // TODO: OHIF-376, need more time to adress this reasonably - // { - // id: 'Capture', - // type: 'ohif.action', - // props: { - // icon: 'tool-capture', - // label: 'Capture', - // type: 'action', - // commandName: 'showDownloadViewportModal', - // }, - // }, + { + id: 'Capture', + type: 'ohif.action', + props: { + icon: 'tool-capture', + label: 'Capture', + type: 'action', + commandName: 'showDownloadViewportModal', + }, + }, { id: 'Layout', type: 'ohif.layoutSelector', diff --git a/platform/core/package.json b/platform/core/package.json index 7dd6f7e88..d872a552b 100644 --- a/platform/core/package.json +++ b/platform/core/package.json @@ -31,7 +31,7 @@ }, "peerDependencies": { "cornerstone-core": "^2.3.0", - "cornerstone-tools": "4.20.1", + "cornerstone-tools": "5.1.2", "cornerstone-wado-image-loader": "^3.1.2", "dicom-parser": "^1.8.3" }, diff --git a/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.jsx b/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.jsx index 60ad9f2b6..7044e13c3 100644 --- a/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.jsx +++ b/platform/ui/src/components/ViewportDownloadForm/ViewportDownloadForm.jsx @@ -281,7 +281,7 @@ const ViewportDownloadForm = ({ setFilename(value)} + onChange={evt => setFilename(evt.target.value)} label="File Name" /> {renderErrorHandler('filename')} @@ -296,7 +296,7 @@ const ViewportDownloadForm = ({ max={maximumSize} label="Image width (px)" value={dimensions.width} - onChange={value => onDimensionsChange(value, 'width')} + onChange={evt => onDimensionsChange(evt.target.value, 'width')} data-cy="image-width" /> {renderErrorHandler('width')} @@ -308,7 +308,7 @@ const ViewportDownloadForm = ({ max={maximumSize} label="Image height (px)" value={dimensions.height} - onChange={value => onDimensionsChange(value, 'height')} + onChange={evt => onDimensionsChange(evt.target.value, 'height')} data-cy="image-height" /> {renderErrorHandler('height')} @@ -371,44 +371,36 @@ const ViewportDownloadForm = ({