ohif-viewer/Packages/viewerbase/lib/displayReferenceLines.js

44 lines
1.5 KiB
JavaScript

import { OHIF } from 'meteor/ohif:core';
/**
* This function disables reference lines for a specific viewport element.
* It also enables reference lines for all other viewports with the
* class .imageViewerViewport.
*
* @param element {node} DOM Node representing the viewport element
*/
displayReferenceLines = element => {
log.info("imageViewerViewport displayReferenceLines");
// Check if image plane (orientation / loction) data is present for the current image
const enabledElement = cornerstone.getEnabledElement(element);
const imageId = enabledElement.image.imageId;
const imagePlane = cornerstoneTools.metaData.get('imagePlane', imageId);
if (!OHIF.viewer.refLinesEnabled || !imagePlane || !imagePlane.frameOfReferenceUID) {
return;
}
// Disable reference lines for the current element
cornerstoneTools.referenceLines.tool.disable(element);
// Loop through all other viewport elements and enable reference lines
$('.imageViewerViewport').not(element).each((index, viewportElement) => {
let imageId;
if($(viewportElement).find('canvas').length) {
try {
const enabledElement = cornerstone.getEnabledElement(viewportElement);
imageId = enabledElement.image.imageId;
} catch(error) {
return;
}
if (!imageId) {
return;
}
cornerstoneTools.referenceLines.tool.enable(viewportElement, OHIF.viewer.updateImageSynchronizer);
}
});
};