从单个文件读取3D DICOM卷到numpy阵列

2024-04-20 14:10:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在CentOS 7上的Anaconda Spyder上使用Python 3.7.3。你知道吗

我有一个3D DICOM卷,它位于一个文件中:/usr/share/aliza/datasets/DICOM/00\u MR/Tra_天赋.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只是pydicom0.9.9或更早版本,当我搜索dicom时,here,所有点击的都是pydicom


Tags: inpyhomedatalibpackageslinesite
1条回答
网友
1楼 · 发布于 2024-04-20 14:10:55

这很可能是图像处理程序(在本例中是枕头)没有处理压缩类型的问题。你知道吗

请参阅文档当前稳定分支中的Supported Transfer Syntax页—您显示的链接是针对旧版本的。如果你有一个旧版本的pydicom,请更新-图像处理(和错误消息)已改善每个版本。你知道吗

您可以使用print(image.file_meta.TransferSyntaxUID)查看您拥有的类型,并从该表中确定哪些处理程序可以支持它。你知道吗

相关问题 更多 >