将 3D DICOM 卷从单个文件读入 numpy 数组
Reading 3D DICOM volume, from single file, into numpy array
我在 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
这很可能是图像处理程序(在本例中为 Pillow)未处理压缩类型的问题。
请参阅文档当前 stable 分支中的 Supported Transfer Syntax 页面 - 您显示的 link 是针对旧版本的。如果您有旧版本的 pydicom,请更新 - 图像处理(和错误消息)一直在改进每个版本。
您可以使用 print(image.file_meta.TransferSyntaxUID)
查看您拥有的类型并据此确定 table 哪些处理程序可以支持它。
我在 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
这很可能是图像处理程序(在本例中为 Pillow)未处理压缩类型的问题。
请参阅文档当前 stable 分支中的 Supported Transfer Syntax 页面 - 您显示的 link 是针对旧版本的。如果您有旧版本的 pydicom,请更新 - 图像处理(和错误消息)一直在改进每个版本。
您可以使用 print(image.file_meta.TransferSyntaxUID)
查看您拥有的类型并据此确定 table 哪些处理程序可以支持它。