使用3DSlicer进行特征提取,只显示表头第一行,请问如何解决?

软件版本:5.6
问题描述:使用3DSlicer进行特征提取,只显示表头第一行,错误日志如图,意思就是代码错误

yaml.load(...)
instead of file "D:\3DSlicer\Slicer 5.6.0\slicer.org\Extensions-32390\SlicerRadiomics\Lib\site-packages\radiomics\scripts\__init__.py", line 353
settingsSchema = yaml.safe_load(schema)['mapping']['setting']['mapping']);

请问具体我要如何操作修改才能正常使用?谢谢

首先尝试卸载该软件,重新安装在默认路径,再加载模块尝试是否可行。


根据您提供的错误截图,问题出在 ruamel.yaml 的库中,提示 safe_load() 函数已被移除,建议使用以下替代方案:

yaml = YAML(typ='safe', pure=True)
yaml.load(...)

修改建议:

  1. 找到 __init__.py 文件的第353行,并将 yaml.safe_load(schema) 替换为以下代码:
yaml = YAML(typ='safe', pure=True)
settingsSchema = yaml.load(schema)['mapping']['setting']['mapping']
  1. 确保 ruamel.yaml 版本兼容: 由于报错显示该函数被移除,您可以考虑使用较新版本的 ruamel.yaml 库,或者根据提示的替代方法进行修改。
  2. 测试代码:修改后,保存文件并重启 3D Slicer,再次运行您的特征提取任务,查看问题是否已解决。