From 193ff12b6ed778dd3f194158bc5518a12ffea854 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Fri, 26 Mar 2021 13:27:51 -0300 Subject: [PATCH] Fix scroll speed --- extensions/cornerstone/src/OHIFCornerstoneViewport.js | 6 +++--- extensions/cornerstone/src/commandsModule.js | 9 ++++++++- extensions/cornerstone/src/index.js | 7 +++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/extensions/cornerstone/src/OHIFCornerstoneViewport.js b/extensions/cornerstone/src/OHIFCornerstoneViewport.js index 1c332ef36..a145926c1 100644 --- a/extensions/cornerstone/src/OHIFCornerstoneViewport.js +++ b/extensions/cornerstone/src/OHIFCornerstoneViewport.js @@ -179,7 +179,7 @@ class OHIFCornerstoneViewport extends Component { if ( displaySet.displaySetInstanceUID !== - prevDisplaySet.displaySetInstanceUID || + prevDisplaySet.displaySetInstanceUID || displaySet.SOPInstanceUID !== prevDisplaySet.SOPInstanceUID || displaySet.frameIndex !== prevDisplaySet.frameIndex ) { @@ -235,8 +235,8 @@ class OHIFCornerstoneViewport extends Component { viewportIndex={viewportIndex} imageIds={imageIds} imageIdIndex={currentImageIdIndex} - onNewImage={newImageHandler} - onNewImageDebounceTime={700} + onNewImageDebounced={newImageHandler} + onNewImageDebounceTime={300} // ~~ Connected (From REDUX) // frameRate={frameRate} // isPlaying={false} diff --git a/extensions/cornerstone/src/commandsModule.js b/extensions/cornerstone/src/commandsModule.js index 50b178103..4844ac6c6 100644 --- a/extensions/cornerstone/src/commandsModule.js +++ b/extensions/cornerstone/src/commandsModule.js @@ -268,6 +268,7 @@ const commandsModule = ({ servicesManager }) => { SOPInstanceUID, frameIndex, activeViewportIndex, + refreshViewports = true, }) => { const study = studyMetadataManager.get(StudyInstanceUID); @@ -278,6 +279,10 @@ const commandsModule = ({ servicesManager }) => { ); }); + if (!displaySet) { + return; + } + displaySet.SOPInstanceUID = SOPInstanceUID; displaySet.frameIndex = frameIndex; @@ -285,7 +290,9 @@ const commandsModule = ({ servicesManager }) => { setViewportSpecificData(activeViewportIndex, displaySet) ); - refreshCornerstoneViewports(); + if (refreshViewports) { + refreshCornerstoneViewports(); + } }, }; diff --git a/extensions/cornerstone/src/index.js b/extensions/cornerstone/src/index.js index 43f8a97b2..e78f7bd6b 100644 --- a/extensions/cornerstone/src/index.js +++ b/extensions/cornerstone/src/index.js @@ -38,7 +38,14 @@ export default { }, getViewportModule({ commandsManager }) { const ExtendedOHIFCornerstoneViewport = props => { + /** + * TODO: This appears to be used to set the redux parameters for + * the viewport when new images are loaded. It's very ugly + * and we should remove it. + */ const onNewImageHandler = jumpData => { + /** Do not trigger all viewports to render unnecessarily */ + jumpData.refreshViewports = false; commandsManager.runCommand('jumpToImage', jumpData); }; return (