suyashkumar / dicom

⚡High Performance DICOM Medical Image Parser in Go.
MIT License
933 stars 136 forks source link

fix the problem that cannot parse dicom file with SQ of undefined length #241

Closed Louis296 closed 1 year ago

Louis296 commented 2 years ago

Hello, I find a problem when I use it to parsing dicom file. The problem occurs when parsing a dicom file with SQ of undefined length, which has an Item Delimitation Tag (FFFE, E00D) and Sequence Delimitation Tag(FFFE, E0DD). Parser could parse these tags, but it will try to read the value of these tag and regard it as an string value. Because of the length of such item is unmeaningful FFFFFFFF, the parser will read all left data as an string value and occur an EOF exception.

A simple solution is to judge the tag in function readElement, if it is Delimitation Tag, just return, not try to read the value of it. For verify this solution, I create a special dicom file, 'testdata/6.dcm' ,which only have SQ of undefined length in dataset.

For more detail information about SQ of undefined length, click here and read the Table 7.5-3