Pyradiomics: [BUG]使用无效路径初始化提取器时出现静默故障

创建于 2020-06-17  ·  5评论  ·  资料来源: AIM-Harvard/pyradiomics

描述错误
使用无效路径初始化提取器时出现静默故障。

观察到的行为:
当将radiomics.featureextractor.RadiomicsFeatureExtractor与不存在的路径(或包含~/路径)一起使用时,不会读取yaml文件,但提取程序将返回默认对象。

预期行为:
引发错误:找不到文件。 当前,用户可能会继续认为execute (并发布?!)认为输出使用了他们的设置。

PyRadiomics配置
不适用。 任何有效的pydiadomics yaml。

版本(请填写以下信息):

  • 作业系统:CentOS 7
  • Python版本:3.7.6
  • PyRadiomics版本:3.0

额外的背景
在全新安装的anaconda环境中运行。

所有5条评论

好点,这可能非常危险。

如果启用--validate ,则将识别此问题,但默认情况下将禁用参数文件的验证。

@JoostJM是否有理由不总是验证? 我们如何将--validate标志切换为yes / no,并在默认情况下将其设置为yes?

我将进行调查,但据我所知,正常运行cmd行时,该参数文件也将得到验证。 --validate使用常规的PyRadiomics接口,但仅验证参数文件并检查是否存在所有提供图像和遮罩的路径。

我昨天看了看,能够确认这个问题。

这确实是功能提取器的__init__函数中的一个错误,如果字符串是指向不存在的文件的路径,然后应用默认设置,该错误将自动失败。 如果将更新此。
验证期间,如果参数文件路径无效,则会记录错误。

传递有效文件路径时,在两种情况下都将验证参数文件,即检查参数文件是否符合pyridomics配置方案。 当将字典作为用于特征提取器初始化的单个位置参数(不是扩展的字典/关键字参数,它们被解释为“设置”类型的配置参数)传递时,也是如此。

当字典作为单个位置参数传递以用于特征提取器的初始化时,也是如此

关于此,您指的是哪种字典? 因为文档说:

类型1(图像类型)和类型2(特征类)的参数只能在使用参数文件进行初始化时提供

除非您的意思是设置命令,否则当我使用mydict而不是**mydict来初始化功能提取器时,它应该工作吗? 因为在前一种情况下_always_的验证似乎失败,无论dict设置如何。

编辑:没关系,找到相关文档:

在初始化时,可以提供包含所有必要设置的字典(顶层包含键“ setting”,“ imageType”和/或“ featureClass”)。 这是通过将其作为第一个位置参数传递来完成的。

此页面是否有帮助?
0 / 5 - 0 等级