我正在尝试使用Python中的pydicom读取DICOM文件,并希望将标头数据存储到pandas dataframe中。为此,我该如何提取数据元素的值?
到目前为止,我已经创建了一个dataframe,其中列是DICOM文件中的标签名称。我已经访问了数据元素,但我只需要存储数据元素的值,而不是整个序列。为此,我将序列转换为字符串并尝试拆分它。但由于不同标签的长度不同,它也无法工作。
到目前为止,我已经创建了一个dataframe,其中列是DICOM文件中的标签名称。我已经访问了数据元素,但我只需要存储数据元素的值,而不是整个序列。为此,我将序列转换为字符串并尝试拆分它。但由于不同标签的长度不同,它也无法工作。
refDs = dicom.dcmread('000000.dcm')
info_header = refDs.dir()
df = pd.DataFrame(columns = info_header)
print(df)
info_data = []
for i in info_header:
if (i in refDs):
info_data.append(str(refDs.data_element(i)).split(" ")[0])
print (info_data[0],len(info_data))
我将数据元素序列元素放入列表中,因为我无法直接将其放入数据框中。上述代码的输出为
(0008, 0050) Accession Number SH: '1091888302507299' 89
但我只想存储引号内的数据。