描述错误
使用无效路径初始化提取器时出现静默故障。
观察到的行为:
当将radiomics.featureextractor.RadiomicsFeatureExtractor
与不存在的路径(或包含~/
路径)一起使用时,不会读取yaml文件,但提取程序将返回默认对象。
预期行为:
引发错误:找不到文件。 当前,用户可能会继续认为execute
(并发布?!)认为输出使用了他们的设置。
PyRadiomics配置
不适用。 任何有效的pydiadomics yaml。
版本(请填写以下信息):
额外的背景
在全新安装的anaconda环境中运行。
好点,这可能非常危险。
如果启用--validate
,则将识别此问题,但默认情况下将禁用参数文件的验证。
@JoostJM是否有理由不总是验证? 我们如何将--validate
标志切换为yes / no,并在默认情况下将其设置为yes?
我将进行调查,但据我所知,正常运行cmd行时,该参数文件也将得到验证。 --validate
使用常规的PyRadiomics接口,但仅验证参数文件并检查是否存在所有提供图像和遮罩的路径。
我昨天看了看,能够确认这个问题。
这确实是功能提取器的__init__
函数中的一个错误,如果字符串是指向不存在的文件的路径,然后应用默认设置,该错误将自动失败。 如果将更新此。
验证期间,如果参数文件路径无效,则会记录错误。
传递有效文件路径时,在两种情况下都将验证参数文件,即检查参数文件是否符合pyridomics配置方案。 当将字典作为用于特征提取器初始化的单个位置参数(不是扩展的字典/关键字参数,它们被解释为“设置”类型的配置参数)传递时,也是如此。
当字典作为单个位置参数传递以用于特征提取器的初始化时,也是如此
关于此,您指的是哪种字典? 因为文档说:
类型1(图像类型)和类型2(特征类)的参数只能在使用参数文件进行初始化时提供
除非您的意思是设置命令,否则当我使用mydict
而不是**mydict
来初始化功能提取器时,它应该工作吗? 因为在前一种情况下_always_的验证似乎失败,无论dict设置如何。
编辑:没关系,找到相关文档:
在初始化时,可以提供包含所有必要设置的字典(顶层包含键“ setting”,“ imageType”和/或“ featureClass”)。 这是通过将其作为第一个位置参数传递来完成的。