我正在尝试使用 Python 3 和 pyDicom 可视化一个 DICOM 文件,该文件应该包含一个黑色的 100x100 图像,其中绘制了一些曲线。像素数据是从标题 (7fe0,0010) 中提取的,打印时显示b'\x00\x00\x00...'
. 我可以轻松地将其转换为 100x100 的 numpy 数组。
但是,(5000,3000) 中的曲线数据显示我b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0H@\x00\x00\x00\x00\x00\xc0X@\x00\x00\x00\x00\x00\xc0H@'
无法将其转换为 100x100 像素图像中的 x,y 坐标。在 DICOM 文件中它说
- 曲线尺寸:2
- 点数:2
- 数据类型:聚
- 数据值表示:3
- 曲线标签:横轴
- 曲线数据:32个元素
主要问题是:如何解码在 100x100 图像中回溯曲线所需的坐标?我主要关心的是应该有 32 个元素,但输出中只有 26 个十六进制值。我也不知道如何处理\xc0H@
and \xc0X@
。当我打印这些时,它会产生192 72 64
和192 88 64
. python如何将这2个十六进制代码解码为6个数字?这些数字代表什么?
编辑:
显然数据值表示 3 意味着数据表示为浮点双精度。另一方面,数据中应该有两个点,那么每个点用16个元素表示?我看不出这两个语句是如何兼容的。有趣的是,\xc0H@
如前所述,第一个转换为 3 个数字,并通过这样做完成了曲线数据的前 16 个元素。如何将其转换为 2D 图像中的一个点?