首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在调用SimpleITK.SimpleITK.ImageFileReader.ReadImageInformation()之前检查文件

在调用SimpleITK.SimpleITK.ImageFileReader.ReadImageInformation()之前检查文件
EN

Stack Overflow用户
提问于 2020-06-12 23:50:03
回答 1查看 128关注 0票数 1

我正在处理一组DICOM文件,其中一些包含图像信息,而另一些则没有。

代码语言:javascript
复制
file_reader = sitk.ImageFileReader()
file_reader.SetFileName(fileName)
file_reader.ReadImageInformation()

但是,如果文件没有图像信息,我会得到以下错误。

代码语言:javascript
复制
Traceback (most recent call last):

  File "<ipython-input-61-d187aed107ed>", line 5, in <module>
    file_reader.ReadImageInformation()

  File "/home/peter/anaconda3/lib/python3.7/site-packages/SimpleITK/SimpleITK.py", line 8673, in ReadImageInformation
    return _SimpleITK.ImageFileReader_ReadImageInformation(self)

RuntimeError: Exception thrown in SimpleITK ImageFileReader_ReadImageInformation: /tmp/SimpleITK/Code/IO/src/sitkImageReaderBase.cxx:107:
sitk::ERROR: Unable to determine ImageIO reader for "/path/115.dcm"

如果DICOM文件没有任何信息,我希望忽略该文件,而不是调用ReadImageInformation()。有没有办法在调用ReadImageInformation()之前检查它是否正常工作?我尝试了以下方法,它们在包含ReadImageInformation()的文件和不包含该函数的文件之间没有区别。

代码语言:javascript
复制
file_reader.GetImageIO()
file_reader.GetMetaDataKeys() # Crashes
file_reader.GetDimension()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-13 03:07:44

我只需要在它周围放置一个异常处理程序来捕获错误。所以它看起来像这样:

代码语言:javascript
复制
file_reader = sitk.ImageFileReader()
file_reader.SetFileName(fileName)
try:
    file_reader.ReadImageInformation()
except:
    print(fileName, "has no image information")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62347866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档