Python 3.x 如何修复此代码以显示图像缩略图

Python 3.x 如何修复此代码以显示图像缩略图,python-3.x,pydicom,Python 3.x,Pydicom,下面的代码应该显示\data目录中可用的不同图像的缩略图。但是,它有点问题 从操作系统导入listdir 从os.path导入isfile,加入 mypath=“data/” file_names=[mypath+f表示listdir(mypath)中的f,如果isfile(join(mypath,f))] 文件数=len(文件名) 图=零件图(图尺寸=(40,50)) 图子地块() 轴=[] 对于i,枚举中的文件名(文件名): dataset=pydicom.dcmread(文件名) appe

下面的代码应该显示
\data
目录中可用的不同图像的缩略图。但是,它有点问题

从操作系统导入listdir
从os.path导入isfile,加入
mypath=“data/”
file_names=[mypath+f表示listdir(mypath)中的f,如果isfile(join(mypath,f))]
文件数=len(文件名)
图=零件图(图尺寸=(40,50))
图子地块()
轴=[]
对于i,枚举中的文件名(文件名):
dataset=pydicom.dcmread(文件名)
append(图add_子图(int(math.sqrt(number_文件))+1,int(math.sqrt(number_文件))+1,i+1))
plt.imshow(dataset.pixel_数组,cmap=plt.cm.bone)
plt.show()
我有以下错误:

---------------------------------------------------------------------------
运行时错误回溯(上次最近调用)
在里面
10 dataset=pydicom.dcmread(文件名)
11轴追加(图add_子图(int(math.sqrt(number_文件))+1,int(math.sqrt(number_文件))+1,i+1))
--->12 plt.imshow(dataset.pixel_数组,cmap=plt.cm.bone)
13 plt.show()
...
RuntimeError:以下处理程序可用于解码像素数据,但它们缺少必需的依赖项:GDCM(req.GDCM)
我试过做
!conda安装-c conda forge gdcm-y
,但出现以下错误:

收集包元数据(current_repodata.json):完成
解决环境:初始冻结解决失败。用灵活的解决方法重试。
解决环境:使用当前_repodata.json中的repodata失败,将使用下一个repodata源重试。
收集包元数据(repodata.json):完成
解决环境:初始冻结解决失败。用灵活的解决方法重试。
解决环境:-
发现冲突!正在查找不兼容的包。
这可能需要几分钟。按CTRL-C以中止。
失败
不满意错误:发现以下规格
要与环境中现有的python安装不兼容,请执行以下操作:
规格:

-gdcm->python[version='2.7.*.*3.5.*.*3.6.*.*.>=2.7,=3.6,=3.7,如果不完全需要python 3.8,可以使用以下命令行尝试使用python 3.7解释器创建新环境:

conda create -n myenv python=3.7

您还可以尝试从现有环境中使用pip安装依赖项。

下一个发布的pydicom版本中提供的GDCM的一个替代方案是(披露:我是pydicom的贡献者,也是pylibjpeg的作者)。只需在调用
数据集之前导入pylibjpeg,即可将pylibjpeg与pydicom v2.0一起使用。pixel_array

装置
pip安装pylibjpeg-pylibjpeg-pylibjpeg

用法
从pydicom导入dcmread
导入JPEG
ds=dcmread('path/to/file.dcm')
arr=ds.pixel\u阵列

目前还没有适用于Python 3.8的GDCM的conda版本,好吧,但我不明白为什么要尝试GDCM处理程序-可能检测到GDCM安装失败,但无法正常工作。请先尝试完全卸载GDCM,然后检查枕头是否足以满足您的需要。