LT-154: Deleted 1D-Measurements from image by Clear Tools button and Delete key

This commit is contained in:
Aysel Afsar 2016-01-19 16:57:52 -05:00
parent 7f7d2f6145
commit 5c38c4ffd9
2 changed files with 22 additions and 6 deletions

View File

@ -8,8 +8,13 @@
DELETE: 46 DELETE: 46
}; };
function removeMeasurementTimepoint(data, index, toolType) { function removeMeasurementTimepoint(data, index, toolType, element) {
var imageId = data.imageId; var imageId = data.imageId;
if (!imageId) {
var enabledElement = cornerstone.getEnabledElement(element);
imageId = enabledElement.image.imageId;
}
var enabledElements = cornerstone.getEnabledElementsByImageId(imageId); var enabledElements = cornerstone.getEnabledElementsByImageId(imageId);
enabledElements.forEach(function(enabledElement) { enabledElements.forEach(function(enabledElement) {
var element = enabledElement.element; var element = enabledElement.element;
@ -75,7 +80,7 @@
if (keyCode === keys.DELETE || if (keyCode === keys.DELETE ||
(keyCode === keys.D && eventData.event.ctrlKey === true)) { (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); var nearbyToolData = getNearbyToolData(eventData.element, eventData.currentPoints.canvas, toolTypes);
if (!nearbyToolData) { if (!nearbyToolData) {
@ -87,7 +92,9 @@
showConfirmDialog(function() { showConfirmDialog(function() {
removeMeasurementTimepoint(nearbyToolData.nearbyTool, removeMeasurementTimepoint(nearbyToolData.nearbyTool,
nearbyToolData.nearbyToolIndex, nearbyToolData.nearbyToolIndex,
nearbyToolData.nearbyToolType); nearbyToolData.nearbyToolType,
eventData.element
);
}); });
} }
} }

View File

@ -1,15 +1,25 @@
clearTools = function() { clearTools = function() {
var patientId = Session.get('patientId'); var patientId = Session.get('patientId');
var toolTypes = [ 'lesion', 'nonTarget' ]; var toolTypes = [ 'lesion', 'nonTarget', 'length' ];
var toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.toolState; var toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.toolState;
var toolStateKeys = Object.keys(toolState).slice(0); 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 // Set null array for toolState data found by imageId and toolType
toolStateKeys.forEach(function(imageId) { toolStateKeys.forEach(function(imageId) {
toolTypes.forEach(function(toolType) { toolTypes.forEach(function(toolType) {
var toolTypeData = toolState[imageId][toolType]; var toolTypeData = toolState[imageId][toolType];
if (toolTypeData && toolTypeData.data.length > 0) { 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] = { toolState[imageId][toolType] = {
data: [] data: []
}; };
@ -19,7 +29,6 @@ clearTools = function() {
}); });
// Update imageViewerViewport elements to remove lesions on current image // Update imageViewerViewport elements to remove lesions on current image
var viewportElements = $('.imageViewerViewport').not('.empty');
viewportElements.each(function(index, element) { viewportElements.each(function(index, element) {
cornerstone.updateImage(element); cornerstone.updateImage(element);
}); });