我正在使用下面从一些文章中获得的代码。

def load_patient(files):
    slices = [pydicom.dcmread(s) for s in files]
    slices.sort(key = lambda x: int(x.InstanceNumber))

    try:
        ## actual property is ImagePositionPatient, shortened for screen width ##
        thickness = np.abs(slices[0].ImgPosPatient[2] - slices[1].ImgPosPatient[2])
    except:
        thickness = np.abs(slices[0].SliceLocation - slices[1].SliceLocation)

    for s in slices:
        s.SliceThickness = thickness

    return slices


低于错误


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





  文件:C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ pydicom \ dataset.py
  
  线:524,
  
  Func.Name:getattr,
  
  消息:返回超级(数据集,自身).getattribute(名称)

最佳答案

如您所见:
DICOM Standard
 切片位置属性是可选的。引发的错误意味着没有这样的属性。因此,根据DICOM标准,可以预期会收到此错误。

10-06 03:13