微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试并使用RDSR Navigator排除方法不起作用

如何解决尝试并使用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 举报,一经查实,本站将立刻删除。