Files
ohif-viewer/extensions/cornerstone/src/tools/checkForSRAnnotations.js
T

57 lines
1.4 KiB
JavaScript
Raw Normal View History

2022-02-03 09:33:02 +01:00
import csTools from 'cornerstone-tools';
import cs from 'cornerstone-core';
import OHIF from '@ohif/core';
import { getEnabledElement } from '../state';
import id from './id';
const { studyMetadataManager } = OHIF.utils;
const checkForSRAnnotations = ({ viewportIndex, displaySet }) => {
const srModule = csTools.getModule(id);
const element = getEnabledElement(viewportIndex);
if (!element) {
return;
}
const { StudyInstanceUID } = displaySet;
const studyMetadata = studyMetadataManager.get(StudyInstanceUID);
if (!studyMetadata) {
return;
}
const srDisplaySets = studyMetadata
.getDisplaySets()
.filter(ds => ds.Modality === 'SR');
if (srDisplaySets.length === 0) {
return;
}
const { measurements: _measurements } = srDisplaySets[0];
if (!_measurements || _measurements.length < 1) {
return;
}
const measurements = _measurements.filter(m => m.loaded === true);
const measurement = measurements[0];
if (!measurement) {
return;
}
srModule.setters.trackingUniqueIdentifiersForElement(
element,
measurements.map(measurement => measurement.TrackingUniqueIdentifier),
measurement
);
const { TrackingUniqueIdentifier } = measurement;
srModule.setters.activeTrackingUniqueIdentifierForElement(
element,
TrackingUniqueIdentifier
);
cs.updateImage(element);
};
export default checkForSRAnnotations;