【发布时间】:2017-04-26 20:21:10
【问题描述】:
我目前正在尝试使用 python 中的 pydicom 编辑导致放射治疗出现问题的私有 dicom 标签。这里有点python新手,所以请多多包涵。
dicom 文件正确导入python;我在命令的第一张图片中附加了一些输出
ds = dicomio.read_file("xy.dcm")
print(ds)
这将返回以下数据: pydicom output
突出显示的标签是我需要编辑的标签。
当尝试类似的事情时
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: invalid syntax' 作为输出,例如,即使它作为分数组序列存在于文件中。我也被告知 [3249,1000] 以某种方式连接到 [3249,1010] ,显然因为它们是专有标签,它们不能在 Matlab 中编辑,但有人建议它们可以出于某种原因在 python 中编辑.
非常感谢
【问题讨论】: