49 lines
1.6 KiB
JavaScript
49 lines
1.6 KiB
JavaScript
import { OHIF } from 'meteor/ohif:core';
|
|
|
|
const removeToolDataWithMeasurementId = (imageId, toolType, measurementId) => {
|
|
OHIF.log.info('removeToolDataWithMeasurementId');
|
|
const toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.toolState;
|
|
|
|
// Find any related toolData
|
|
if (!toolState[imageId] || !toolState[imageId][toolType]) {
|
|
return;
|
|
}
|
|
|
|
const toolData = toolState[imageId][toolType].data;
|
|
if (!toolData.length) {
|
|
return;
|
|
}
|
|
|
|
// Search toolData for entries linked to the specified Measurement
|
|
const toRemove = [];
|
|
toolData.forEach(function(measurement, index) {
|
|
if (measurement.id === measurementId ||
|
|
measurement._id === measurementId) {
|
|
toRemove.push(index);
|
|
return false;
|
|
}
|
|
});
|
|
|
|
OHIF.log.info('Removing Indices: ');
|
|
OHIF.log.info(toRemove);
|
|
|
|
// If any toolData entries need to be removed, splice them from
|
|
// the toolData array
|
|
toRemove.forEach(function(index) {
|
|
toolData.splice(index, 1);
|
|
});
|
|
};
|
|
|
|
OHIF.lesiontracker.clearMeasurementTimepointData = (measurementId, timepointId) => {
|
|
const data = Measurements.findOne(measurementId);
|
|
|
|
// Clear the Measurement data for this timepoint
|
|
const imageId = data.timepoints[timepointId].imageId;
|
|
const toolType = data.toolType;
|
|
removeToolDataWithMeasurementId(imageId, toolType, measurementId);
|
|
|
|
// Update any viewports that are currently displaying this imageId
|
|
const enabledElements = cornerstone.getEnabledElementsByImageId(imageId);
|
|
enabledElements.forEach(enabledElement => cornerstone.updateImage(enabledElement.element));
|
|
};
|