如何解决尝试并使用RDSR Navigator排除方法不起作用
我正在使用RDSR Navigator,它是一个用于从RDSR DICOM文件(https://pypi.org/project/rdsr-navigator/)中提取数据的程序包。 有时,在这种特定类型的文件中,有些缺失的字段取决于我们在层次结构中的位置。 我只是想将0设置为万一一个字段丢失,但try和except方法不起作用。 我是Python的初学者,所以我的问题似乎很明显... 这是我的代码 预先感谢
import rdsr_navigator as nav
file = 'arterio_1.dcm'
sr_obj = nav.read_file(file)
for irr_event in sr_obj.get_all('irradiation_event_x-ray_data'):
try:
irr_event['kvp']
except NameError:
print('NO')
else:
print('YES: ',irr_event['kvp'].value[0])
这就是我得到的回报:
YES: 85.0
YES: 68.0
YES: 86.0
YES: 68.0
[...]
YES: 78.0
YES: 79.0
YES: 83.0
---------------------------------------------------------------------------
SrMissingContentException Traceback (most recent call last)
<ipython-input-22-47729fb39cce> in <module>
1 for irr_event in sr_obj.get_all('irradiation_event_x-ray_data'):
2 try:
----> 3 irr_event['kvp']
4 except NameError:
5 print('NO')
~\Anaconda3\lib\site-packages\rdsr_navigator\sr_element.py in __getitem__(self,concept_names)
24 def __getitem__(self,concept_names: Union[str,List[str]]) -> 'SrElement':
25 if isinstance(concept_names,str):
---> 26 return self.get(concept_names)
27
28 return self.get(*concept_names)
~\Anaconda3\lib\site-packages\rdsr_navigator\sr_element.py in get(self,*concept_names)
106
107 if len(concept_names) == 1:
--> 108 return self._get_first(concept_names[0])
109
110 raise ValueError('Invalid argument.')
~\Anaconda3\lib\site-packages\rdsr_navigator\sr_element.py in _get_first(self,concept_name)
115
116 message = 'Could not find: "{0}"'.format(concept_name)
--> 117 raise SrMissingContentException(message=message)
118
119 def get_all(self,concept_name: str) -> Iterator['SrElement']:
SrMissingContentException: Could not find: "kvp"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。