src_dicom_dicomManufacturer.js
import {safeGet} from '../dicom/dataElement.js';
// doc imports
/* eslint-disable no-unused-vars */
import {DataElement} from '../dicom/dataElement.js';
/* eslint-enable no-unused-vars */
/**
* Related DICOM tag keys.
*/
const TagKeys = {
Manufacturer: '00080070',
};
/**
* Normalised manufacturer names.
*/
export const NormalisedManufacturers = {
GE: 'ge',
SIEMENS: 'siemens',
PHILIPS: 'philips',
HITASHI: 'hitashi'
};
/**
* Get the manufacturer.
*
* @param {Object<string, DataElement>} elements The DICOM tags.
* @returns {string|undefined} The manufacturer.
*/
export function getManufacturer(elements) {
return safeGet(elements, TagKeys.Manufacturer);
}
/**
* Get the normalised manufacturer.
*
* @param {Object<string, DataElement>} elements The DICOM tags.
* @returns {string|undefined} The manufacturer as a unique
* all lower case string.
*/
export function getNormalisedManufacturer(elements) {
let res;
const manufacturer = getManufacturer(elements);
if (typeof manufacturer !== 'undefined') {
if (manufacturer.toUpperCase().startsWith('SIEMENS')) {
// 'SIEMENS', 'Siemens Healthineers'
res = NormalisedManufacturers.SIEMENS;
} else if (manufacturer.startsWith('GE')) {
// 'GE MEDICAL SYSTEMS'
res = NormalisedManufacturers.GE;
} else if (manufacturer.startsWith('Philips')) {
// 'Philips Healthcare', 'Philips Medical Systems'
res = NormalisedManufacturers.PHILIPS;
} else {
res = manufacturer.toLowerCase();
}
}
return res;
}