有点奇怪的问题,但是当无法读取 dicom 文件的标签时,我正在做一些测试来处理错误。
不幸的是,我没有可用的损坏的 dicom。
具体来说,任何人都可以建议如何将某种错误编码的文本标签或一些无效的数字数据标签应用到文件上,以使 python 的 pydicom 包无法读取它?
有点奇怪的问题,但是当无法读取 dicom 文件的标签时,我正在做一些测试来处理错误。
不幸的是,我没有可用的损坏的 dicom。
具体来说,任何人都可以建议如何将某种错误编码的文本标签或一些无效的数字数据标签应用到文件上,以使 python 的 pydicom 包无法读取它?
您可以查看 DCMTK 中的 dcmodify 工具。它可用于插入、修改和删除属性。我怀疑是否可以通过命令行指定无效的属性值,但您当然可以修改源代码来实现这一点(除非您绝对可以根据值表示编写超过最大长度的属性值)。
我的方法是创建一个字符缓冲区并将二进制数据写入其中。然后将其传递给将值写入属性的方法。
例子:
[编辑]:DCMTK,dcmodify:http ://dicom.offis.de/dcmtk.php.en