我目前正在尝试使用 python 中的 pydicom 编辑导致放射治疗问题的私有 dicom 标签。这里有点python新手,所以请多多包涵。
dicom 文件正确导入python;我在命令的第一张图片中附加了一些输出
ds = dicomio.read_file("xy.dcm")
print(ds)
这将返回以下数据: pydicom 输出
突出显示的标签是我需要编辑的标签。
当尝试类似
ds[0x10,0x10].value
这给出了正确的输出:
'SABR Spine'
但是,尝试一些类似的东西
ds[3249,1000]
或者
ds[3249,1000].value
返回以下输出:
> Traceback (most recent call last):
File "<pyshell#64>", line 1, in <module>
ds[3249,1000].value
File "C:\Users\...\dataset.py", line 317, in __getitem__
data_elem = dict.__getitem__(self, tag)
KeyError: (0cb1, 03e8)
如果我尝试通过相同的方法访问 [3249,1010],它会返回 (0cb1, 03f2) 的 KeyError。
我尝试将标签添加到 _dicom_dict.py 文件中,如第二张图片中突出显示的那样:
我做对了吗?我什至不确定我是否正确访问标签 - 使用
ds[300a,0070]
给我'SyntaxError:无效语法'作为输出,例如,即使它作为分数组序列存在于文件中。我也被告知 [3249,1000] 以某种方式连接到 [3249,1010] ,显然因为它们是专有标签,它们不能在 Matlab 中编辑,但有人建议它们可以出于某种原因在 python 中编辑.
非常感谢