我在CentOS 7的Anaconda Spyder上使用Python 3.7.3。
我在一个文件中有一个3D DICOM卷:/usr/share/aliza/datasets/DICOM/00_MR/Tra_FLAIR.dcm
我正在尝试将其读入3D numpy数组,如here所述。
我尝试以下代码
import pydicom as dicom
import numpy as np
image=dicom.read_file('/usr/share/aliza/datasets/DICOM/00_MR/Tra_FLAIR.dcm')
image.pixel_array
这导致
Traceback (most recent call last):
File "<ipython-input-28-85bf1e993c9b>", line 1, in <module>
image.pixel_array
File "/home/peter/anaconda3/lib/python3.7/site-packages/pydicom/dataset.py", line 1362, in pixel_array
self.convert_pixel_data()
File "/home/peter/anaconda3/lib/python3.7/site-packages/pydicom/dataset.py", line 1308, in convert_pixel_data
raise last_exception
File "/home/peter/anaconda3/lib/python3.7/site-packages/pydicom/dataset.py", line 1276, in convert_pixel_data
arr = handler.get_pixeldata(self)
File "/home/peter/anaconda3/lib/python3.7/site- packages/pydicom/pixel_data_handlers/pillow_handler.py", line 187, in get_pixeldata
raise NotImplementedError(e.strerror)
NotImplementedError: None
我的理解是,python软件包dicom只是pydicom 0.9.9或更早版本,当我搜索dicom here时,所有匹配都针对pydicom
答案 0 :(得分:2)
这很可能是图像处理程序(在这种情况下为“枕形”)未处理压缩类型的问题。
请参阅文档当前稳定分支中的Supported Transfer Syntax页-您显示的链接适用于旧版本。如果您使用的是pydicom的旧版本,请进行更新-图像处理(和错误消息)一直在改进每个版本。
您可以使用||=== Build: Debug in CppApp (compiler: GNU GCC Compiler) ===|
obj\Debug\Main.o||In function `main':|
D:\CodeBlocks\CppApp\Main.cpp|5|undefined reference to `Vector<int>::Vector()'|
D:\CodeBlocks\CppApp\Main.cpp|18|undefined reference to `Vector<int>::~Vector()'|
||error: ld returned 1 exit status|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 4 second(s)) ===|
来查看您拥有的类型,并从该表中确定哪些处理程序可以支持它。