我正在处理一组DICOM文件,其中一些包含图像信息,而另一些则没有。
file_reader = sitk.ImageFileReader()
file_reader.SetFileName(fileName)
file_reader.ReadImageInformation()但是,如果文件没有图像信息,我会得到以下错误。
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()的文件和不包含该函数的文件之间没有区别。
file_reader.GetImageIO()
file_reader.GetMetaDataKeys() # Crashes
file_reader.GetDimension()发布于 2020-06-13 03:07:44
我只需要在它周围放置一个异常处理程序来捕获错误。所以它看起来像这样:
file_reader = sitk.ImageFileReader()
file_reader.SetFileName(fileName)
try:
file_reader.ReadImageInformation()
except:
print(fileName, "has no image information")https://stackoverflow.com/questions/62347866
复制相似问题