我正在使用下面从一些文章中获得的代码。
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标准,可以预期会收到此错误。