我正在处理一组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()所在的文件和没有ReadImageInformation()所在的文件之间没有区别
file_reader.GetImageIO()
file_reader.GetMetaDataKeys() # Crashes
file_reader.GetDimension()
我会在它周围放置一个异常处理程序来捕获错误。所以看起来是这样的:
相关问题 更多 >
编程相关推荐