【发布时间】:2012-04-25 03:52:45
【问题描述】:
我将 DICOM 与 Python 和 Pydicom 库一起使用,当我使用 .dcm 文件时,我没有遇到任何问题。但我现在使用的是 DICOMDIR 数据集。
我的代码是下一个:
ds = dicom.read_file("dicomdir")
我尝试访问pixel_array元素如下:
data = ds.pixel_array
我得到下一个错误:TypeError: No pixel data found in this dataset.
print ds 的输出或多或少是下一个:
(0004, 1130) 文件集 ID CS: 'GEMS_11_10_111' (0004, 1200) 第一个目录记录的偏移量 UL:412 (0004, 1202) 最后一个目录记录的偏移量 UL: 412 (0004, 1212) 文件集一致性标志 US: 0 (0004, 1220) 目录记录序列 7 项 ---- (0004, 1400) 下一个目录记录 UL 的偏移量:0 (0004, 1410) 记录使用中标志美国:65535 (0004, 1420) 参考低级 Di UL 的偏移量:558 (0004, 1430) 目录记录类型 CS:“患者” (0008, 0005) 特定字符集 CS: 'ISO_IR 100' (0010, 0010) 患者姓名 PN: '-----------------' (0010, 0020) 患者 ID LO:“246992” (0010, 0030) 患者出生日期 DA: '19630523' (0010, 0040) 患者性别 CS:'F'
(0004, 1400) 下一个目录记录 UL 的偏移量:0 (0004, 1410) 记录使用中标志美国:65535 (0004, 1420) 参考低级 Di UL 的偏移量:800 (0004, 1430) 目录记录类型 CS:“研究” (0008, 0005) 特定字符集 CS: 'ISO_IR 100' (0008, 0020) 学习日期 DA: '20111011' (0008, 0030) 学习时间 TM: '151535.000000' (0008, 0050) 登录号 SH: '1009819901' (0008, 1030) 研究说明 LO: 'MG CONVENCIONAL' (0020, 000d) 研究实例 UID UI:1.2.840.113564.9.1.2005121220021252.20110608105548.21009819901 (0020, 0010) 研究 ID SH: '1009819901'
(0004, 1400) 下一个目录记录 UL 的偏移量:0 (0004, 1410) 记录使用中标志美国:65535 (0004, 1420) 参考低级 Di UL 的偏移量:968 (0004, 1430) 目录记录类型 CS:'SERIES' (0008, 0005) 特定字符集 CS: 'ISO_IR 100' (0008, 0060) 模态 CS: 'MG' (0008, 103e) 系列说明 LO:“屏幕保存” (0020, 000e) 系列实例 UID UI:1.2.840.113619.2.144.2347322947.2192645372.5 (0020, 0011) 系列号是:'354'
(0004, 1400) 下一个目录记录的偏移量 UL: 1298 (0004, 1410) 记录使用中标志美国:65535 (0004, 1420) 参考低级 Di UL 的偏移量:0 (0004, 1430) 目录记录类型 CS:“图像” (0004, 1500) 参考文件 ID CS: ['DICOM', 'PA1', 'ST1', 'SE1', 'IM1'] (0004, 1510) 文件 UI 中引用的 SOP 类 UID:辅助捕获图像存储 (0004, 1511) 文件 UI 中引用的 SOP 实例 UID:1.2.840.113619.2.144.44653394.14990.1318380911.86 (0004, 1512) F UI 中引用的传输语法 UID:显式 VR Little Endian (0008, 0005) 特定字符集 CS: 'ISO_IR 100' (0008, 0008) 图像类型 CS: 'DERIVED' (0008, 0023) 内容日期 DA: '20111011' (0008, 0033) 内容时间 TM: '151909.000000' (0020, 0013) 实例编号 IS: '8844' (0028, 0010) 美国行数:2298 (0028, 0011) 列美国:1980 (0028, 1052) 重新调整截距 DS: '0' (0028, 1053) 重新调整斜率 DS:'1'
最后一部分重复了四次。我的 DICOMDIR 数据集中有 4 张图像。
你知道如何使用 Numpy Array 访问每个图像的字段吗?
【问题讨论】:
-
注意到您在pydicom user forum 中提出了同样的问题。为了完整起见,如果您能在 SO 上提供此答案的副本,那就太好了。
-
@AndersGustafsson 没问题,你说的很对。
标签: python numpy dicom pydicom