【发布时间】:2019-10-18 16:51:42
【问题描述】:
我有一个包含四个主题及其 DICOM 图像的树。下面是一个主题的目录结构示例:
'C:\\DICOM_EXPORT\\four_de-id\\four_de-id\\100013\\100013\\*.dcm*'
我正在创建一个循环,以递归方式遍历
C:\\DICOM_EXPORT\\four_de-id\\four_de-id\\
在四个主题的每个文件夹中并递归选择一个 .dcm 文件,然后在该图像上应用 pydicom.dcmread() 并填充一个初始化字典 dcm_read,主题 ID subject[38:44] 作为键和特定 DCM 的内容标记为每个键的各自值。标签位于我创建的名为TAGS 的列表中(见下文)。
>>> print(TAGS)
['(0008,0008)', '(0008,0020)', '(0008,0060)', '(0008,0070)', '(0008,0080)', '(0008,0081)', '(0008,0090)', '(0008,009C)', '(0008,1010)', '(0008,1030)', '(0008,103E)', '(0008,1040)', '(0008,1090)', '(0010,1010)', '(0018,0050)', '(0018,0080)', '(0018,0081)', '(0018,0082)', '(0018,0087)', '(0018,0088)', '(0018,0089)', '(0018,0093)', '(0018,0094)', '(0018,1000)', '(0018,1020)', '(0018,1030)', '(0018,1250)', '(0018,1251)', '(0018,9041)', '(0018,9050)', '(0020,0011)', '(0020,0035)', '(0020,0037)', '(0028,0010)', '(0028,0011)', '(0028,0012)', '(0028,0030)']
dcm_read = {}
for i in subjects:
os.chdir(i)
dcm_image=glob.glob('*.dcm')
for subject in subjects:
dcm_read.update({subject[38:44]:pydicom.dcmread(fp=dcm_image, specific_tags=TAGS)})
来自pydicom.dcmread() 的specific_tags 参数似乎是出现错误(见下文)的地方。
Traceback (most recent call last):
File "<input>", line 5, in <module>
File "C:\Users\Isabel Wingert\Anaconda3\envs\DCM_EXPORT\lib\site-packages\pydicom\filereader.py", line 850, in dcmread
force=force, specific_tags=specific_tags)
File "C:\Users\Isabel Wingert\Anaconda3\envs\DCM_EXPORT\lib\site-packages\pydicom\filereader.py", line 651, in read_partial
preamble = read_preamble(fileobj, force)
File "C:\Users\Isabel Wingert\Anaconda3\envs\DCM_EXPORT\lib\site-packages\pydicom\filereader.py", line 589, in read_preamble
preamble = fp.read(128)
AttributeError: 'list' object has no attribute 'read'
但是,pydicom 的 documentation 声明 specific_taglist 的参数可以是元素列表。有没有人遇到过这个问题?还是我必须以不同的方式设置我的TAGS 列表?
【问题讨论】:
标签: python list attributes pydicom