diff --git a/LesionTracker/client/components/viewer.js b/LesionTracker/client/components/viewer.js index dbbb74ba8..1feb7cf58 100644 --- a/LesionTracker/client/components/viewer.js +++ b/LesionTracker/client/components/viewer.js @@ -252,7 +252,6 @@ function addMeasurementAsToolData(data) { }); } - Template.viewer.onDestroyed(function() { log.info("onDestroyed"); diff --git a/Packages/viewerbase/client/components/viewer/imageViewerViewport/imageViewerViewport.js b/Packages/viewerbase/client/components/viewer/imageViewerViewport/imageViewerViewport.js index a05319b8b..d84761a71 100644 --- a/Packages/viewerbase/client/components/viewer/imageViewerViewport/imageViewerViewport.js +++ b/Packages/viewerbase/client/components/viewer/imageViewerViewport/imageViewerViewport.js @@ -128,6 +128,14 @@ function loadSeriesIntoViewport(data, templateData) { // Start loading the image. cornerstone.loadAndCacheImage(imageId).then(function(image) { + var enabledElement; + try { + enabledElement = cornerstone.getEnabledElement(element); + } catch(error) { + log.warn('Viewport destroyed before loaded image could be displayed'); + return; + } + // If there is a saved object containing Cornerstone viewport data // (e.g. scale, invert, window settings) in the input data, apply it now. // diff --git a/Packages/viewerbase/lib/updateOrientationMarkers.js b/Packages/viewerbase/lib/updateOrientationMarkers.js deleted file mode 100644 index 0bf56b2dc..000000000 --- a/Packages/viewerbase/lib/updateOrientationMarkers.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Updates the orientation labels on a Cornerstone-enabled Viewport element - * when the viewport settings change (e.g. when a horizontal flip or a rotation occurs) - * - * @param element The DOM element of the Cornerstone viewport - */ -updateOrientationMarkers = function(element) { - // Get the current viewport settings - var viewport = cornerstone.getViewport(element); - - var enabledElement = cornerstone.getEnabledElement(element); - var imagePlane = cornerstoneTools.metaData.get('imagePlane', enabledElement.image.imageId); - - if (!imagePlane || !imagePlane.rowCosines || !imagePlane.columnCosines) { - return; - } - - var rowString = cornerstoneTools.orientation.getOrientationString(imagePlane.rowCosines); - var columnString = cornerstoneTools.orientation.getOrientationString(imagePlane.columnCosines); - var oppositeRowString = cornerstoneTools.orientation.invertOrientationString(rowString); - var oppositeColumnString = cornerstoneTools.orientation.invertOrientationString(columnString); - - var markers = { - top: oppositeColumnString, - left: oppositeRowString - }; - - // If any vertical or horizontal flips are applied, change the orientation strings ahead of - // the rotation applications - if (viewport.vflip) { - markers.top = cornerstoneTools.orientation.invertOrientationString(markers.top); - } - if (viewport.hflip) { - markers.left = cornerstoneTools.orientation.invertOrientationString(markers.left); - } - - // Get the viewport orientation marker DOM elements - var viewportOrientationMarkers = $(element).siblings(".viewportOrientationMarkers"); - var topMarker = viewportOrientationMarkers.find('.topMid'); - var leftMarker = viewportOrientationMarkers.find('.leftMid'); - - // Swap the labels accordingly if the viewport has been rotated - // This could be done in a more complex way for intermediate rotation values (e.g. 45 degrees) - if (viewport.rotation === 90 || viewport.rotation === -270) { - topMarker.text(markers.left); - leftMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.top)); - } else if (viewport.rotation === -90 || viewport.rotation === 270) { - topMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.left)); - leftMarker.text(markers.top); - } else if (viewport.rotation === 180 || viewport.rotation === -180) { - topMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.top)); - leftMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.left)); - } else { - topMarker.text(markers.top); - leftMarker.text(markers.left); - } -}; \ No newline at end of file