Hello,
Cornerstone is unable to read certain DICOM files that contain an SQ tree with nested SQs, and it throws the following error:
YPXCRZ:2232
Failed to load DICOM:
Object
error
:
dataSet
:
a
byteArray
:
Uint8Array(2193886) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
byteArrayParser
:
{readUint16: ƒ, readInt16: ƒ, readUint32: ƒ, readInt32: ƒ, readFloat: ƒ, …}
elements
:
x0018a001
:
{tag: 'x0018a001', vr: 'SQ', length: 436, dataOffset: 1124, hadUndefinedLength: true, …}
x001021b0
:
{tag: 'x001021b0', vr: 'LT', length: 0, dataOffset: 896}
x0008103e
:
{tag: 'x0008103e', vr: 'LO', length: 26, dataOffset: 658}
x0020000d
:
{tag: 'x0020000d', vr: 'UI', length: 52, dataOffset: 1576}
x0020000e
:
{tag: 'x0020000e', vr: 'UI', length: 54, dataOffset: 1636}
x00080005
:
{tag: 'x00080005', vr: 'CS', length: 10, dataOffset: 238}
x00080008
:
{tag: 'x00080008', vr: 'CS', length: 28, dataOffset: 256}
x00080012
:
{tag: 'x00080012', vr: 'DA', length: 8, dataOffset: 292}
x00080013
:
{tag: 'x00080013', vr: 'TM', length: 6, dataOffset: 308}
x00080016
:
{tag: 'x00080016', vr: 'UI', length: 26, dataOffset: 322}
x00080018
:
{tag: 'x00080018', vr: 'UI', length: 50, dataOffset: 356}
x00080020
:
{tag: 'x00080020', vr: 'DA', length: 8, dataOffset: 414}
x00080021
:
{tag: 'x00080021', vr: 'DA', length: 8, dataOffset: 430}
x00080022
:
{tag: 'x00080022', vr: 'DA', length: 8, dataOffset: 446}
x00080023
:
{tag: 'x00080023', vr: 'DA', length: 0, dataOffset: 462}
x00080030
:
{tag: 'x00080030', vr: 'TM', length: 6, dataOffset: 470}
x00080031
:
{tag: 'x00080031', vr: 'TM', length: 6, dataOffset: 484}
x00080032
:
{tag: 'x00080032', vr: 'TM', length: 14, dataOffset: 498}
x00080033
:
{tag: 'x00080033', vr: 'TM', length: 0, dataOffset: 520}
x00080050
:
{tag: 'x00080050', vr: 'SH', length: 0, dataOffset: 528}
x00080060
:
{tag: 'x00080060', vr: 'CS', length: 2, dataOffset: 536}
x00080064
:
{tag: 'x00080064', vr: 'CS', length: 4, dataOffset: 546}
x00080070
:
{tag: 'x00080070', vr: 'LO', length: 18, dataOffset: 558}
x00080080
:
{tag: 'x00080080', vr: 'LO', length: 20, dataOffset: 584}
x00080081
:
{tag: 'x00080081', vr: 'ST', length: 6, dataOffset: 612}
x00080090
:
{tag: 'x00080090', vr: 'PN', length: 0, dataOffset: 626}
x00081010
:
{tag: 'x00081010', vr: 'SH', length: 4, dataOffset: 634}
x00081030
:
{tag: 'x00081030', vr: 'LO', length: 4, dataOffset: 646}
x00081060
:
{tag: 'x00081060', vr: 'PN', length: 0, dataOffset: 692}
x00081070
:
{tag: 'x00081070', vr: 'PN', length: 8, dataOffset: 700}
x00081090
:
{tag: 'x00081090', vr: 'LO', length: 18, dataOffset: 716}
x00082111
:
{tag: 'x00082111', vr: 'ST', length: 60, dataOffset: 742}
x00100010
:
{tag: 'x00100010', vr: 'PN', length: 14, dataOffset: 810}
x00100020
:
{tag: 'x00100020', vr: 'LO', length: 8, dataOffset: 832}
x00100030
:
{tag: 'x00100030', vr: 'DA', length: 0, dataOffset: 848}
x00100040
:
{tag: 'x00100040', vr: 'CS', length: 2, dataOffset: 856}
x00101000
:
{tag: 'x00101000', vr: 'LO', length: 0, dataOffset: 866}
x00101010
:
{tag: 'x00101010', vr: 'AS', length: 4, dataOffset: 874}
x00101030
:
{tag: 'x00101030', vr: 'DS', length: 2, dataOffset: 886}
x00180015
:
{tag: 'x00180015', vr: 'CS', length: 6, dataOffset: 904}
x00180050
:
{tag: 'x00180050', vr: 'DS', length: 12, dataOffset: 918}
x00181000
:
{tag: 'x00181000', vr: 'LO', length: 2, dataOffset: 938}
x00181010
:
{tag: 'x00181010', vr: 'LO', length: 4, dataOffset: 948}
x00181012
:
{tag: 'x00181012', vr: 'DA', length: 8, dataOffset: 960}
x00181014
:
{tag: 'x00181014', vr: 'TM', length: 6, dataOffset: 976}
x00181016
:
{tag: 'x00181016', vr: 'LO', length: 18, dataOffset: 990}
x00181018
:
{tag: 'x00181018', vr: 'LO', length: 14, dataOffset: 1016}
x00181019
:
{tag: 'x00181019', vr: 'LO', length: 14, dataOffset: 1038}
x00181020
:
{tag: 'x00181020', vr: 'LO', length: 16, dataOffset: 1060}
x00181030
:
{tag: 'x00181030', vr: 'LO', length: 16, dataOffset: 1084}
x00185100
:
{tag: 'x00185100', vr: 'CS', length: 4, dataOffset: 1108}
x00200010
:
{tag: 'x00200010', vr: 'SH', length: 6, dataOffset: 1698}
x00200011
:
{tag: 'x00200011', vr: 'IS', length: 4, dataOffset: 1712}
x00200012
:
{tag: 'x00200012', vr: 'IS', length: 2, dataOffset: 1724}
x00200013
:
{tag: 'x00200013', vr: 'IS', length: 2, dataOffset: 1734}
x00200020
:
{tag: 'x00200020', vr: 'CS', length: 6, dataOffset: 1744}
x00280002
:
{tag: 'x00280002', vr: 'US', length: 2, dataOffset: 1758}
x00280004
:
{tag: 'x00280004', vr: 'CS', length: 4, dataOffset: 1768}
x00280006
:
{tag: 'x00280006', vr: 'US', length: 2, dataOffset: 1780}
x00280010
:
{tag: 'x00280010', vr: 'US', length: 2, dataOffset: 1790}
x00280011
:
{tag: 'x00280011', vr: 'US', length: 2, dataOffset: 1800}
x00280100
:
{tag: 'x00280100', vr: 'US', length: 2, dataOffset: 1810}
x00280101
:
{tag: 'x00280101', vr: 'US', length: 2, dataOffset: 1820}
x00280102
:
{tag: 'x00280102', vr: 'US', length: 2, dataOffset: 1830}
x00280103
:
{tag: 'x00280103', vr: 'US', length: 2, dataOffset: 1840}
x00280301
:
{tag: 'x00280301', vr: 'CS', length: 4, dataOffset: 1850}
x00282110
:
{tag: 'x00282110', vr: 'CS', length: 2, dataOffset: 1862}
x00570010
:
{tag: 'x00570010', vr: 'UN', length: 18, dataOffset: 1876}
x00571004
:
{tag: 'x00571004', vr: 'UN', length: 2368, dataOffset: 1906}
x00571005
:
{tag: 'x00571005', vr: 'SQ', length: 4278393195, dataOffset: 4286, hadUndefinedLength: true, …}
[[Prototype]]
:
Object
warnings
:
(4) ['eof encountered before finding sequence item delimiter in sequence item of undefined length', 'eof encountered before finding sequence delimiter in sequence of undefined length', 'eof encountered before finding item delimiter tag while reading sequence item of undefined length', 'eof encountered before finding sequence delimitation tag while reading sequence of undefined length']
[[Prototype]]
:
Object
exception
:
"dicomParser:parseDicomDataSetExplicit: buffer overrun"
[[Prototype]]
:
Object
[[Prototype]]
:
Object
It lists the length as 4 GB,
whereas when I open it with the Radient program,
it displays the correct value: (0057,1005) SQ # 0, 0
There seems to be a bug somewhere; apparently, it's calculating the length incorrectly for nested tree-structured SQs.
{tag: 'x00571005', vr: 'SQ', length: 4278393195, dataOffset: 4286, hadUndefinedLength: true, …}
I went and found the specific sq element that was causing the error and deleted it entirely; that made the image appear.
However, I wanted to know if there is a way in Cornerstone to avoid deleting the tag while still preventing the error and ensuring the image displays correctly.
cornerstone-core - 2.6.1 - 2021-11-19
Hello,
Cornerstone is unable to read certain DICOM files that contain an SQ tree with nested SQs, and it throws the following error:
YPXCRZ:2232
Failed to load DICOM:
Object
error
:
dataSet
:
a
byteArray
:
Uint8Array(2193886) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
byteArrayParser
:
{readUint16: ƒ, readInt16: ƒ, readUint32: ƒ, readInt32: ƒ, readFloat: ƒ, …}
elements
:
x0018a001
:
{tag: 'x0018a001', vr: 'SQ', length: 436, dataOffset: 1124, hadUndefinedLength: true, …}
x001021b0
:
{tag: 'x001021b0', vr: 'LT', length: 0, dataOffset: 896}
x0008103e
:
{tag: 'x0008103e', vr: 'LO', length: 26, dataOffset: 658}
x0020000d
:
{tag: 'x0020000d', vr: 'UI', length: 52, dataOffset: 1576}
x0020000e
:
{tag: 'x0020000e', vr: 'UI', length: 54, dataOffset: 1636}
x00080005
:
{tag: 'x00080005', vr: 'CS', length: 10, dataOffset: 238}
x00080008
:
{tag: 'x00080008', vr: 'CS', length: 28, dataOffset: 256}
x00080012
:
{tag: 'x00080012', vr: 'DA', length: 8, dataOffset: 292}
x00080013
:
{tag: 'x00080013', vr: 'TM', length: 6, dataOffset: 308}
x00080016
:
{tag: 'x00080016', vr: 'UI', length: 26, dataOffset: 322}
x00080018
:
{tag: 'x00080018', vr: 'UI', length: 50, dataOffset: 356}
x00080020
:
{tag: 'x00080020', vr: 'DA', length: 8, dataOffset: 414}
x00080021
:
{tag: 'x00080021', vr: 'DA', length: 8, dataOffset: 430}
x00080022
:
{tag: 'x00080022', vr: 'DA', length: 8, dataOffset: 446}
x00080023
:
{tag: 'x00080023', vr: 'DA', length: 0, dataOffset: 462}
x00080030
:
{tag: 'x00080030', vr: 'TM', length: 6, dataOffset: 470}
x00080031
:
{tag: 'x00080031', vr: 'TM', length: 6, dataOffset: 484}
x00080032
:
{tag: 'x00080032', vr: 'TM', length: 14, dataOffset: 498}
x00080033
:
{tag: 'x00080033', vr: 'TM', length: 0, dataOffset: 520}
x00080050
:
{tag: 'x00080050', vr: 'SH', length: 0, dataOffset: 528}
x00080060
:
{tag: 'x00080060', vr: 'CS', length: 2, dataOffset: 536}
x00080064
:
{tag: 'x00080064', vr: 'CS', length: 4, dataOffset: 546}
x00080070
:
{tag: 'x00080070', vr: 'LO', length: 18, dataOffset: 558}
x00080080
:
{tag: 'x00080080', vr: 'LO', length: 20, dataOffset: 584}
x00080081
:
{tag: 'x00080081', vr: 'ST', length: 6, dataOffset: 612}
x00080090
:
{tag: 'x00080090', vr: 'PN', length: 0, dataOffset: 626}
x00081010
:
{tag: 'x00081010', vr: 'SH', length: 4, dataOffset: 634}
x00081030
:
{tag: 'x00081030', vr: 'LO', length: 4, dataOffset: 646}
x00081060
:
{tag: 'x00081060', vr: 'PN', length: 0, dataOffset: 692}
x00081070
:
{tag: 'x00081070', vr: 'PN', length: 8, dataOffset: 700}
x00081090
:
{tag: 'x00081090', vr: 'LO', length: 18, dataOffset: 716}
x00082111
:
{tag: 'x00082111', vr: 'ST', length: 60, dataOffset: 742}
x00100010
:
{tag: 'x00100010', vr: 'PN', length: 14, dataOffset: 810}
x00100020
:
{tag: 'x00100020', vr: 'LO', length: 8, dataOffset: 832}
x00100030
:
{tag: 'x00100030', vr: 'DA', length: 0, dataOffset: 848}
x00100040
:
{tag: 'x00100040', vr: 'CS', length: 2, dataOffset: 856}
x00101000
:
{tag: 'x00101000', vr: 'LO', length: 0, dataOffset: 866}
x00101010
:
{tag: 'x00101010', vr: 'AS', length: 4, dataOffset: 874}
x00101030
:
{tag: 'x00101030', vr: 'DS', length: 2, dataOffset: 886}
x00180015
:
{tag: 'x00180015', vr: 'CS', length: 6, dataOffset: 904}
x00180050
:
{tag: 'x00180050', vr: 'DS', length: 12, dataOffset: 918}
x00181000
:
{tag: 'x00181000', vr: 'LO', length: 2, dataOffset: 938}
x00181010
:
{tag: 'x00181010', vr: 'LO', length: 4, dataOffset: 948}
x00181012
:
{tag: 'x00181012', vr: 'DA', length: 8, dataOffset: 960}
x00181014
:
{tag: 'x00181014', vr: 'TM', length: 6, dataOffset: 976}
x00181016
:
{tag: 'x00181016', vr: 'LO', length: 18, dataOffset: 990}
x00181018
:
{tag: 'x00181018', vr: 'LO', length: 14, dataOffset: 1016}
x00181019
:
{tag: 'x00181019', vr: 'LO', length: 14, dataOffset: 1038}
x00181020
:
{tag: 'x00181020', vr: 'LO', length: 16, dataOffset: 1060}
x00181030
:
{tag: 'x00181030', vr: 'LO', length: 16, dataOffset: 1084}
x00185100
:
{tag: 'x00185100', vr: 'CS', length: 4, dataOffset: 1108}
x00200010
:
{tag: 'x00200010', vr: 'SH', length: 6, dataOffset: 1698}
x00200011
:
{tag: 'x00200011', vr: 'IS', length: 4, dataOffset: 1712}
x00200012
:
{tag: 'x00200012', vr: 'IS', length: 2, dataOffset: 1724}
x00200013
:
{tag: 'x00200013', vr: 'IS', length: 2, dataOffset: 1734}
x00200020
:
{tag: 'x00200020', vr: 'CS', length: 6, dataOffset: 1744}
x00280002
:
{tag: 'x00280002', vr: 'US', length: 2, dataOffset: 1758}
x00280004
:
{tag: 'x00280004', vr: 'CS', length: 4, dataOffset: 1768}
x00280006
:
{tag: 'x00280006', vr: 'US', length: 2, dataOffset: 1780}
x00280010
:
{tag: 'x00280010', vr: 'US', length: 2, dataOffset: 1790}
x00280011
:
{tag: 'x00280011', vr: 'US', length: 2, dataOffset: 1800}
x00280100
:
{tag: 'x00280100', vr: 'US', length: 2, dataOffset: 1810}
x00280101
:
{tag: 'x00280101', vr: 'US', length: 2, dataOffset: 1820}
x00280102
:
{tag: 'x00280102', vr: 'US', length: 2, dataOffset: 1830}
x00280103
:
{tag: 'x00280103', vr: 'US', length: 2, dataOffset: 1840}
x00280301
:
{tag: 'x00280301', vr: 'CS', length: 4, dataOffset: 1850}
x00282110
:
{tag: 'x00282110', vr: 'CS', length: 2, dataOffset: 1862}
x00570010
:
{tag: 'x00570010', vr: 'UN', length: 18, dataOffset: 1876}
x00571004
:
{tag: 'x00571004', vr: 'UN', length: 2368, dataOffset: 1906}
x00571005
:
{tag: 'x00571005', vr: 'SQ', length: 4278393195, dataOffset: 4286, hadUndefinedLength: true, …}
[[Prototype]]
:
Object
warnings
:
(4) ['eof encountered before finding sequence item delimiter in sequence item of undefined length', 'eof encountered before finding sequence delimiter in sequence of undefined length', 'eof encountered before finding item delimiter tag while reading sequence item of undefined length', 'eof encountered before finding sequence delimitation tag while reading sequence of undefined length']
[[Prototype]]
:
Object
exception
:
"dicomParser:parseDicomDataSetExplicit: buffer overrun"
[[Prototype]]
:
Object
[[Prototype]]
:
Object
It lists the length as 4 GB,
whereas when I open it with the Radient program,
it displays the correct value: (0057,1005) SQ # 0, 0
There seems to be a bug somewhere; apparently, it's calculating the length incorrectly for nested tree-structured SQs.
{tag: 'x00571005', vr: 'SQ', length: 4278393195, dataOffset: 4286, hadUndefinedLength: true, …}
I went and found the specific
sqelement that was causing the error and deleted it entirely; that made the image appear.However, I wanted to know if there is a way in Cornerstone to avoid deleting the tag while still preventing the error and ensuring the image displays correctly.
cornerstone-core - 2.6.1 - 2021-11-19