Files
ohif-viewer/extensions/dicom-html/src/OHIFDicomHtmlSopClassHandler.js
T

64 lines
2.0 KiB
JavaScript
Raw Normal View History

import { MODULE_TYPES, utils, metadata } from '@ohif/core';
2019-04-16 12:00:06 -04:00
// TODO: Should probably use dcmjs for this
const SOP_CLASS_UIDS = {
BASIC_TEXT_SR: '1.2.840.10008.5.1.4.1.1.88.11',
ENHANCED_SR: '1.2.840.10008.5.1.4.1.1.88.22',
COMPREHENSIVE_SR: '1.2.840.10008.5.1.4.1.1.88.33',
2022-02-03 09:33:02 +01:00
COMPREHENSIVE_3D_SR: '1.2.840.10008.5.1.4.1.1.88.34',
2019-04-16 12:00:06 -04:00
PROCEDURE_LOG_STORAGE: '1.2.840.10008.5.1.4.1.1.88.40',
MAMMOGRAPHY_CAD_SR: '1.2.840.10008.5.1.4.1.1.88.50',
CHEST_CAD_SR: '1.2.840.10008.5.1.4.1.1.88.65',
2019-08-13 15:36:46 -04:00
X_RAY_RADIATION_DOSE_SR: '1.2.840.10008.5.1.4.1.1.88.67',
ACQUISITION_CONTEXT_SR_STORAGE: '1.2.840.10008.5.1.4.1.1.88.71',
2019-04-16 12:00:06 -04:00
};
const sopClassUIDs = Object.values(SOP_CLASS_UIDS);
2019-04-16 12:00:06 -04:00
// TODO: Handle the case where there is more than one SOP Class Handler for the
// same SOP Class
const OHIFDicomHtmlSopClassHandler = {
id: 'OHIFDicomHtmlSopClassHandler',
2019-06-12 16:09:35 -04:00
type: MODULE_TYPES.SOP_CLASS_HANDLER,
sopClassUIDs,
2019-04-16 12:00:06 -04:00
getDisplaySetFromSeries(series, study, dicomWebClient, authorizationHeaders) {
const instance = series.getFirstInstance();
const metadata = instance.getData().metadata;
const {
SeriesDescription,
SeriesNumber,
SeriesDate,
SeriesTime,
} = metadata;
const srDisplaySet = {
2019-04-16 12:00:06 -04:00
plugin: 'html',
Modality: 'SR',
displaySetInstanceUID: utils.guid(),
2019-04-16 12:00:06 -04:00
wadoRoot: study.getData().wadoRoot,
wadoUri: instance.getData().wadouri,
SOPInstanceUID: instance.getSOPInstanceUID(),
SeriesInstanceUID: series.getSeriesInstanceUID(),
StudyInstanceUID: study.getStudyInstanceUID(),
SeriesDescription,
metadata,
SeriesDate,
SeriesTime,
SeriesNumber,
2019-08-13 15:36:46 -04:00
authorizationHeaders,
2022-02-03 09:33:02 +01:00
sopClassUids: sopClassUIDs,
images: series._instances,
isDerived: true,
referencedDisplaySets: [],
2019-04-16 12:00:06 -04:00
};
srDisplaySet.getSourceDisplaySet = function() {
return srDisplaySet.referencedDisplaySets;
};
return srDisplaySet;
2019-08-13 15:36:46 -04:00
},
2019-04-16 12:00:06 -04:00
};
export default OHIFDicomHtmlSopClassHandler;