【发布时间】:2017-01-20 16:04:26
【问题描述】:
我正在尝试使用 freesurfer 的 dcm2nii 实用程序将大量 DTI siemens DICOM 转换为 NifTi,但在某些文件上失败,因为它们缺少生成 .bvec 和 @987654325 所必需的 DiffusionGradientDirection tag (0x19,0x100E) @ 文件。并不是标签没有值,它们似乎根本不存在。
ds[0x19,0x100E] 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/space/jazz/1/users/gwarner/anaconda/lib/python2.7/site-packages/pydicom-0.9.9-py2.7.egg/dicom/dataset.py”,第 277 行,在 getitem data_elem = dict.getitem(self, tag) KeyError: (0019, 100e)
我尝试添加它,但收到以下错误:
ds[0x19,0x100E].value = '是' 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/space/jazz/1/users/gwarner/anaconda/lib/python2.7/site-packages/pydicom-0.9.9-py2.7.egg/dicom/dataset.py”,第 277 行,在 getitem data_elem = dict.getitem(self, tag) KeyError: (0019, 100e)
有没有办法手动插入这个标签?
【问题讨论】:
-
您确定标签正确吗?组 0x19 是奇数,因此它是私有标签,而不是标准字典的一部分。而在 dicom 标准中,
Diffusion Gradient Direction似乎是一个序列,而不是具有单个值的数据元素。 -
@darcymason 我打赌操作需要添加私人所有者
-
@darcymason 我相当肯定这是正确的标签。我已经在各种西门子机器的几千个 dti 运行上尝试过这个,每个具有 (0x19,0x100e) 的机器都成功生成 .bval/.bvec 文件,而每次缺少该标签的运行都无法生成 .bval/.bvec文件。我相信所有的传播数据都存储在私有标签中(mri-imaging.blogspot.com/2011/04/…)
-
啊,我在 pydicom 的私有标签信息中找到了它——查看完整答案。