diff --git a/src/DicomMetaDictionary.js b/src/DicomMetaDictionary.js index c6a9dd1e..4bbdce61 100644 --- a/src/DicomMetaDictionary.js +++ b/src/DicomMetaDictionary.js @@ -146,10 +146,12 @@ class DicomMetaDictionary { if (naturalDataset[naturalName].length === 1) { const sqZero = naturalDataset[naturalName][0]; + //add accessor to object props, leave arrays and arraybuffers unchanged if ( sqZero && typeof sqZero === "object" && - !sqZero.length + !sqZero.length && + !(sqZero instanceof ArrayBuffer) ) { addAccessors(naturalDataset[naturalName], sqZero); } else { diff --git a/test/test_data.js b/test/test_data.js index 29000352..4a75c18e 100644 --- a/test/test_data.js +++ b/test/test_data.js @@ -166,7 +166,7 @@ const tests = { .PixelMeasuresSequence.SpacingBetweenSlices; expect(spacing).to.equal(0.12); expect(Array.isArray(naturalSequence.SharedFunctionalGroupsSequence)).to.equal(true); - + expect(naturalSequence.ProcedureCodeSequence).to.have.property( "CodingSchemeDesignator", "L" @@ -269,6 +269,7 @@ const tests = { const dataset = DicomMetaDictionary.naturalizeDataset( dicomDict.dict ); + expect(dataset.PixelData instanceof ArrayBuffer).to.be.true; datasets.push(dataset); });