AttributeError:“ FileDataset”对象没有属性“ ImagePosition”

时间:2018-10-08 18:36:38

标签: python dicom pydicom

for person in range(0, len(dirs1)):
    for root, dirs, files in os.walk(os.path.join(path, dirs1[person])):
        dcmfiles = [_ for _ in files if _.endswith('.dcm')]
        for dcmfile in dcmfiles:
            dcm_image = pydicom.read_file(os.path.join(root, dcmfile))
            img = dcm_image.pixel_array
            img2 = dcm_image.ImagePosition   # Error in this line

针对:

(0020, 0032) Image Position (Patient) DS: ['-166.000000', '-171.699997', '-207.500000']

我的问题是我希望将“图像位置(患者)”结构作为数组或其中的一个元素(例如'-207.500000')。 当我运行代码时,会发生此错误:img2 = dcm_image.ImagePosition的行给出了AttributeError: 'FileDataset' object has no attribute 'ImagePosition'

1 个答案:

答案 0 :(得分:1)

如Karl在其评论中所建议的,“图像位置(患者)”属性可以通过

访问
dmc_image.ImagePositionPatient

如果此属性出现错误stil,则表示错误指示:您的对象没有此属性。 Dicom指出(0020,0032)标签的关键字是ImagePositionPatient,而ImagePosition实际上是已退休的标签(0020,0030)。请参阅DICOM Data Dictionary,第59页。因此,您的对象不包含对象的事实可能是一件好事。