python - AttributeError:“FileDataset”对象没有属性“SliceLocation”
问题描述
我正在使用从一些文章中获得的以下代码。
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,
函数名称:getattr,
消息:返回超级(数据集,自我)。获取属性(名称)
解决方案
正如您在此处看到的:
DICOM 标准
Slice Location 属性是可选的。抛出的错误意味着没有这样的属性。因此,就 DICOM 标准而言,可以预期会收到此错误。
推荐阅读
- javascript - Storybook - 无法模拟嵌套的 React-Router-Dom 链接而不抛出无尽的 NPM 错误
- azure - 在 Azure 中创建一个简单的 VPN
- ros - 将机器人手 URDF 连接到 ROS 中的控制器
- excel - 循环遍历两个工作表中的两个单元格区域
- r - Bookdown 完成渲染没有任何错误但不产生输出
- flutter - 使用 source_gen 获取未定义的超类型或接口的名称
- github - (Github)“测试您的 SSH 连接”-> 主机密钥验证失败
- neo4j - 展开两个列表并将行索引匹配在一起?
- python - Alembic API 如何获取原始 SQL 脚本
- amazon-web-services - 使用 AWS lambda [CDK] 访问 S3 中的对象