当我使用金字塔组学提取特征时,我收到以下警告:
GLCM是对称的,因此Sum Average = 2 * Joint Average,只需要计算1
我应该注意这个警告并找到解决方法吗?
不,这只是一个警告,提醒您在这种情况下,联合平均值和总平均值是 100% 相关的。 所以没有错误,只是一个通知。
此警告有助于了解会发生什么; 但是,无论如何要关闭它吗?
打印此警告会减慢代码速度!
谢谢!
@omaghsoudi您应该能够使用命令行提取器的以下参数来控制它。 您提到的消息是警告。 通过降低详细程度,您应该能够禁止将警告打印到控制台。
$ pyradiomics --help
[...]
Logging:
Controls the (amount of) logging output to the console and the (optional) log-file.
--logging-level LEVEL
Set capture level for logging
--log-file FILE File to append logger output to
--verbosity [{1,2,3,4,5}], -v [{1,2,3,4,5}]
Regulate output to stderr. By default [3], level
WARNING and up are printed. By specifying this
argument without a value, level INFO [4] is assumed.
A higher value results in more verbose output.
当我加载 pyradiomics 特征描述符时,有什么方法可以将其关闭?
我使用它如下:
从 radiomics 导入一阶、glcm、ngtdm、gldm、glrlm、glszm
我需要关闭这些功能系列的详细信息。
谢谢!
如果您以编程方式使用 pyradiomics,您应该能够执行以下操作(请参阅 https://github.com/Radiomics/pyradiomics/blob/master/radiomics/base.py#L22-L23 中的评论):
import logging
# set level for all classes
logger = logging.getLogger("radiomics")
logger.setLevel(logging.ERROR)
# ... or set level for specific class
logger = logging.getLogger("radiomics.glcm")
logger.setLevel(logging.ERROR)
我没有测试过这个,但我认为这样的事情应该有效。
正如你所说,它解决了这个问题。
谢谢!
或者,您可以有选择地过滤掉某种类型的警告(在本例中DeprecationWarning
):
import warnings
warnings.simplefilter('ignore', DeprecationWarning)
嗨,这个解决方案对我不起作用。
我也试过:
from radiomics import setVerbosity
setVerbosity(60)
如此处所述: https :
然而我仍然得到了无情的
“GLCM是对称的,因此Sum Average = 2 * Joint Average,只需要计算1”日志。
请帮忙!
最有用的评论
正如你所说,它解决了这个问题。
谢谢!