Adapting Trial Criteria code to the new metadata structure

This commit is contained in:
Bruno Alves de Faria 2017-07-24 10:45:39 -03:00
parent 392e92e968
commit 927b0c470c
4 changed files with 13 additions and 7 deletions

View File

@ -145,7 +145,6 @@ class ConformanceCriteria {
const measurements = this.measurementApi.fetch(measurementType);
measurements.forEach(measurement => {
const imageId = OHIF.viewerbase.getImageIdForImagePath(measurement.imagePath);
const { studyInstanceUid } = measurement;
const timepointId = measurement.timepointId;
@ -157,10 +156,14 @@ class ConformanceCriteria {
const promise = OHIF.studylist.retrieveStudyMetadata(studyInstanceUid);
promise.then(study => {
const metadata = OHIF.viewer.metadataProvider.getMetadata(imageId);
let studyMetadata = study;
if (!(study instanceof OHIF.viewerbase.metadata.StudyMetadata)) {
studyMetadata = new OHIF.metadata.StudyMetadata(study, study.studyInstanceUid);
}
data[measurementType].push({
measurement,
metadata: metadata.instance,
metadata: studyMetadata.getFirstInstance(),
timepoint
});
});

View File

@ -104,7 +104,7 @@ export class MeasurementsLengthCriterion extends BaseCriterion {
const { measurement, metadata } = item;
const { location, longestDiameter, shortestDiameter } = measurement;
const { sliceThickness } = metadata;
const modality = metadata.modality.toUpperCase();
const modality = (metadata.getRawValue('x00080060') || '').toUpperCase();
// Stop here if the measurement does not match the modality and location filters
if (options.locationIn && options.locationIn.indexOf(location) === -1) return;

View File

@ -57,9 +57,8 @@ export class ModalityCriterion extends BaseCriterion {
const items = data[measurementType];
items.forEach(item => {
const measurement = item.measurement;
const metadata = item.metadata;
const modality = metadata.modality.toUpperCase();
const { measurement, metadata } = item;
const modality = (metadata.getRawValue('x00080060') || '').toUpperCase();
if (((validationMethod === 'allow') && !modalitiesSet.has(modality)) ||
((validationMethod === 'deny') && modalitiesSet.has(modality))) {

View File

@ -167,6 +167,10 @@ export class StudyPrefetcher {
getSeries(study, image) {
const seriesMetadata = cornerstoneTools.metaData.get('series', image.imageId);
if (!(study instanceof OHIF.viewerbase.metadata.StudyMetadata)) {
study = new OHIF.metadata.StudyMetadata(study, study.studyInstanceUid);
}
return study.getSeriesByUID(seriesMetadata.seriesInstanceUid);
}