From 5c38c4ffd9edf0f54c95050d60f0c81ba199219e Mon Sep 17 00:00:00 2001 From: Aysel Afsar Date: Tue, 19 Jan 2016 16:57:52 -0500 Subject: [PATCH] LT-154: Deleted 1D-Measurements from image by Clear Tools button and Delete key --- .../compatibility/deleteLesionKeyboardTool.js | 13 ++++++++++--- Packages/lesiontracker/lib/clearTools.js | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js b/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js index 873eb68b6..5896361b9 100644 --- a/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js +++ b/Packages/lesiontracker/client/compatibility/deleteLesionKeyboardTool.js @@ -8,8 +8,13 @@ DELETE: 46 }; - function removeMeasurementTimepoint(data, index, toolType) { + function removeMeasurementTimepoint(data, index, toolType, element) { var imageId = data.imageId; + if (!imageId) { + var enabledElement = cornerstone.getEnabledElement(element); + imageId = enabledElement.image.imageId; + } + var enabledElements = cornerstone.getEnabledElementsByImageId(imageId); enabledElements.forEach(function(enabledElement) { var element = enabledElement.element; @@ -75,7 +80,7 @@ if (keyCode === keys.DELETE || (keyCode === keys.D && eventData.event.ctrlKey === true)) { - var toolTypes = [ 'lesion', 'nonTarget' ]; + var toolTypes = [ 'lesion', 'nonTarget', 'length']; var nearbyToolData = getNearbyToolData(eventData.element, eventData.currentPoints.canvas, toolTypes); if (!nearbyToolData) { @@ -87,7 +92,9 @@ showConfirmDialog(function() { removeMeasurementTimepoint(nearbyToolData.nearbyTool, nearbyToolData.nearbyToolIndex, - nearbyToolData.nearbyToolType); + nearbyToolData.nearbyToolType, + eventData.element + ); }); } } diff --git a/Packages/lesiontracker/lib/clearTools.js b/Packages/lesiontracker/lib/clearTools.js index 3d7a4ce6a..dcc3b876e 100644 --- a/Packages/lesiontracker/lib/clearTools.js +++ b/Packages/lesiontracker/lib/clearTools.js @@ -1,15 +1,25 @@ clearTools = function() { var patientId = Session.get('patientId'); - var toolTypes = [ 'lesion', 'nonTarget' ]; + var toolTypes = [ 'lesion', 'nonTarget', 'length' ]; var toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.toolState; var toolStateKeys = Object.keys(toolState).slice(0); + var viewportElements = $('.imageViewerViewport').not('.empty'); + var seriesInstanceUIds = []; // Holds seriesInstanceUId of imageViewerViewport elements + viewportElements.each(function(index, element) { + var enabledElement = cornerstone.getEnabledElement(element); + var series = cornerstoneTools.metaData.get('series', enabledElement.image.imageId); + seriesInstanceUIds.push(series.seriesInstanceUid); + }); + // Set null array for toolState data found by imageId and toolType toolStateKeys.forEach(function(imageId) { toolTypes.forEach(function(toolType) { var toolTypeData = toolState[imageId][toolType]; if (toolTypeData && toolTypeData.data.length > 0) { - if (toolTypeData.data[0].patientId === patientId) { + var series = cornerstoneTools.metaData.get('series', imageId); + // If seriesInstanceUid is found in seriesInstanceUIds, set toolState data as null + if (seriesInstanceUIds.indexOf(series.seriesInstanceUid) > -1) { toolState[imageId][toolType] = { data: [] }; @@ -19,7 +29,6 @@ clearTools = function() { }); // Update imageViewerViewport elements to remove lesions on current image - var viewportElements = $('.imageViewerViewport').not('.empty'); viewportElements.each(function(index, element) { cornerstone.updateImage(element); });