export function dicomToXml(json) { const xml = [ '', '', ]; dicomObjectToXml(xml, json); xml.push(''); return xml.join('\n'); } export function dicomObjectToXml(xml, json) { for (const [tag, value] of Object.entries(json)) { dicomTagToXml(xml, tag, value); } return xml; } export function dicomTagToXml(xml, tag, value) { if (!value || !value.vr || !value.Value) { return xml; } xml.push(``); const isSQ = value.vr === 'SQ'; let index = 1; if (isSQ) { for (const item of value.Value) { xml.push(``); dicomObjectToXml(xml, item); xml.push(''); } } else { for (const item of value.Value) { xml.push(`${item}`); } } xml.push(''); return xml; }