2020-03-09 19:03:23 +00:00
|
|
|
export default function getModalities(Modality, ModalitiesInStudy) {
|
|
|
|
|
if (!Modality && !ModalitiesInStudy) {
|
2019-10-31 14:41:08 -04:00
|
|
|
return {};
|
2019-08-13 15:36:46 -04:00
|
|
|
}
|
|
|
|
|
|
2020-03-09 19:03:23 +00:00
|
|
|
const modalities = Modality || {
|
2019-10-31 14:41:08 -04:00
|
|
|
vr: 'CS',
|
|
|
|
|
Value: [],
|
|
|
|
|
};
|
|
|
|
|
|
2023-02-22 21:01:36 -05:00
|
|
|
// Rare case, depending on the DICOM server we are using, but sometimes,
|
|
|
|
|
// modalities.Value is undefined or null.
|
|
|
|
|
modalities.Value = modalities.Value || [];
|
|
|
|
|
|
2020-03-09 19:03:23 +00:00
|
|
|
if (ModalitiesInStudy) {
|
|
|
|
|
if (modalities.vr && modalities.vr === ModalitiesInStudy.vr) {
|
|
|
|
|
for (let i = 0; i < ModalitiesInStudy.Value.length; i++) {
|
|
|
|
|
const value = ModalitiesInStudy.Value[i];
|
2019-08-13 15:36:46 -04:00
|
|
|
if (modalities.Value.indexOf(value) === -1) {
|
|
|
|
|
modalities.Value.push(value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
2020-03-09 19:03:23 +00:00
|
|
|
return ModalitiesInStudy;
|
2019-08-13 15:36:46 -04:00
|
|
|
}
|
|
|
|
|
}
|
2019-10-31 14:41:08 -04:00
|
|
|
|
2019-08-13 15:36:46 -04:00
|
|
|
return modalities;
|
|
|
|
|
}
|