将 dicom header 写入 csv
write dicom header to csv
我有一堆 .dcm-files (dice-files),我想从中提取 header 并将信息保存在 CSV 文件中。
如下图所示,分隔符有问题:
例如看图片中的第二行:我想这样拆分:
0002 | 0000 | File Meta Information Group Length | UL | 174
但如您所见,我不仅有多个分隔符,而且有时 ' ' 是一个,有时不是。第三列的长度也不同,所以有时那里只有较短的文本,例如图片类型在图片的下方。
有没有人有什么妙招,怎么写成CSV文件?
我使用 pydicom 来读取和显示我 IDE 中的文件。
如果有任何建议,我将不胜感激:)
我建议回到数据元素本身并从那里开始工作,而不是从字符串输出(这实际上是为了在交互式会话中探索)
以下代码适用于没有序列的数据集,需要进行一些修改才能使用序列:
import csv
import pydicom
from pydicom.data import get_testdata_file
filename = get_testdata_file("CT_small.dcm") # substute your own filename here
ds = pydicom.dcmread(filename)
with open('my.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow("Group Elem Description VR value".split())
for elem in ds:
writer.writerow([
f"{elem.tag.group:04X}", f"{elem.tag.element:04X}",
elem.description(), elem.VR, str(elem.value)
])
可能还需要进行一些更改才能使 elem.value
部分看起来像您想要的那样,或者您可能希望将 CSV 编写器设置为在项目周围使用引号等。
输出如下:
Group,Elem,Description,VR,value
0008,0005,Specific Character Set,CS,ISO_IR 100
0008,0008,Image Type,CS,"['ORIGINAL', 'PRIMARY', 'AXIAL']"
0008,0012,Instance Creation Date,DA,20040119
0008,0013,Instance Creation Time,TM,072731
...
我有一堆 .dcm-files (dice-files),我想从中提取 header 并将信息保存在 CSV 文件中。
如下图所示,分隔符有问题:
例如看图片中的第二行:我想这样拆分:
0002 | 0000 | File Meta Information Group Length | UL | 174
但如您所见,我不仅有多个分隔符,而且有时 ' ' 是一个,有时不是。第三列的长度也不同,所以有时那里只有较短的文本,例如图片类型在图片的下方。
有没有人有什么妙招,怎么写成CSV文件?
我使用 pydicom 来读取和显示我 IDE 中的文件。
如果有任何建议,我将不胜感激:)
我建议回到数据元素本身并从那里开始工作,而不是从字符串输出(这实际上是为了在交互式会话中探索)
以下代码适用于没有序列的数据集,需要进行一些修改才能使用序列:
import csv
import pydicom
from pydicom.data import get_testdata_file
filename = get_testdata_file("CT_small.dcm") # substute your own filename here
ds = pydicom.dcmread(filename)
with open('my.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow("Group Elem Description VR value".split())
for elem in ds:
writer.writerow([
f"{elem.tag.group:04X}", f"{elem.tag.element:04X}",
elem.description(), elem.VR, str(elem.value)
])
可能还需要进行一些更改才能使 elem.value
部分看起来像您想要的那样,或者您可能希望将 CSV 编写器设置为在项目周围使用引号等。
输出如下:
Group,Elem,Description,VR,value
0008,0005,Specific Character Set,CS,ISO_IR 100
0008,0008,Image Type,CS,"['ORIGINAL', 'PRIMARY', 'AXIAL']"
0008,0012,Instance Creation Date,DA,20040119
0008,0013,Instance Creation Time,TM,072731
...