本文由Markdown语法编辑器编辑完成。
前言:
已知用pydicom读取一类Dicom图像时会报错,报错信息大致如下:
OSError: cannot identify image file <_io.BytesIO object at 0x107683728>
During handling of the above exception, another exception occured:
AttributeError: ‘OSError’ object has no attribute ‘message’.
During handling of the above exception, another exception occured:
pydicom.dataset.PropertyError: AttributeError in pixel_array property: ‘OSError’ object has no attribute ‘message’.
在github上曾经有相似遭遇的网友贴出了详细的报错信息:
https://github.com/pydicom/pydicom/issues/331
其实详细阅读这个报错信息,如果对DICOM图像的传输语法(Tag名为:(0020, 0010) Transfer Syntax UID)比较了解的话,大致可以猜出应该是由于本次读取的DICOM图像和一般的DICOM图像数据存储方式不同,而导致的pydicom无法按常规方式进行读取。)
以下主要介绍针对这个问题的解决方案。最终的解决方案大致是:由于目前pydicom库还不支持读取这种类型的dicom图像,通过寻找替代库simpleITK库来读取这种类型的dicom图像,完成图像数据的获取和后处理。
1. pydicom
2. Dicom图像的压缩格式
3. pydicom读取压缩格式的DICOM图像报错的解决方案
参考链接:
- pydicom读取dicom图像时报错信息:
https://github.com/pydicom/pydicom/issues/331
未完待续……