Merge pull request #2335 from OHIF/idc-2334

IDC-2334: Resolve choppy scrolling in 2D mode
This commit is contained in:
Igor Octaviano 2021-03-26 15:36:07 -03:00 committed by GitHub
commit ba1a33c3ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 4 deletions

View File

@ -235,8 +235,8 @@ class OHIFCornerstoneViewport extends Component {
viewportIndex={viewportIndex} viewportIndex={viewportIndex}
imageIds={imageIds} imageIds={imageIds}
imageIdIndex={currentImageIdIndex} imageIdIndex={currentImageIdIndex}
onNewImage={newImageHandler} onNewImageDebounced={newImageHandler}
onNewImageDebounceTime={700} onNewImageDebounceTime={300}
// ~~ Connected (From REDUX) // ~~ Connected (From REDUX)
// frameRate={frameRate} // frameRate={frameRate}
// isPlaying={false} // isPlaying={false}

View File

@ -268,6 +268,7 @@ const commandsModule = ({ servicesManager }) => {
SOPInstanceUID, SOPInstanceUID,
frameIndex, frameIndex,
activeViewportIndex, activeViewportIndex,
refreshViewports = true,
}) => { }) => {
const study = studyMetadataManager.get(StudyInstanceUID); const study = studyMetadataManager.get(StudyInstanceUID);
@ -278,6 +279,10 @@ const commandsModule = ({ servicesManager }) => {
); );
}); });
if (!displaySet) {
return;
}
displaySet.SOPInstanceUID = SOPInstanceUID; displaySet.SOPInstanceUID = SOPInstanceUID;
displaySet.frameIndex = frameIndex; displaySet.frameIndex = frameIndex;
@ -285,7 +290,9 @@ const commandsModule = ({ servicesManager }) => {
setViewportSpecificData(activeViewportIndex, displaySet) setViewportSpecificData(activeViewportIndex, displaySet)
); );
if (refreshViewports) {
refreshCornerstoneViewports(); refreshCornerstoneViewports();
}
}, },
}; };

View File

@ -38,7 +38,14 @@ export default {
}, },
getViewportModule({ commandsManager }) { getViewportModule({ commandsManager }) {
const ExtendedOHIFCornerstoneViewport = props => { 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 => { const onNewImageHandler = jumpData => {
/** Do not trigger all viewports to render unnecessarily */
jumpData.refreshViewports = false;
commandsManager.runCommand('jumpToImage', jumpData); commandsManager.runCommand('jumpToImage', jumpData);
}; };
return ( return (