Cuando utilizo piradiómica para extraer funciones, recibo la siguiente advertencia:
GLCM es simétrico, por lo tanto, suma promedio = 2 * promedio conjunto, solo se debe calcular 1
¿Debo prestar atención a esta advertencia y encontrar una forma de solucionarlo?
No, es solo una advertencia para advertirle del hecho de que, en este caso, el promedio conjunto y el promedio total están correlacionados al 100%. Así que no hay error, solo una notificación.
Esta advertencia es útil para saber qué sucede; sin embargo, ¿hay alguna forma de apagarlo?
¡Imprimir esta advertencia ralentiza el código!
¡Gracias!
@omaghsoudi debería poder controlar eso usando los siguientes argumentos para el extractor de línea de comandos. El mensaje que mencionas es una advertencia. Al reducir el nivel de verbosidad, debería poder deshabilitar la impresión de las advertencias en la consola.
$ 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.
¿Hay alguna forma de que pueda apagarlo cuando cargo los descriptores de funciones de piradiómica?
Lo uso de la siguiente manera:
de radiomics import firstorder, glcm, ngtdm, gldm, glrlm, glszm
Necesito desactivar el detallado para estas familias de funciones.
¡Gracias!
Si usa pyradiomics mediante programación, debería poder hacer algo como esto (consulte los comentarios en 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)
No lo he probado, pero creo que algo como esto debería funcionar.
Como dijiste, resolvió el problema.
¡Gracias!
Alternativamente, puede filtrar selectivamente las advertencias de un cierto tipo (en este caso, DeprecationWarning
):
import warnings
warnings.simplefilter('ignore', DeprecationWarning)
Hola, esta solución no me funciona.
También probé:
from radiomics import setVerbosity
setVerbosity(60)
Como se describe aquí: https://pyradiomics.readthedocs.io/en/latest/_modules/radiomics.html
Sin embargo, sigo siendo implacable
"GLCM es simétrico, por lo tanto, suma promedio = 2 * promedio conjunto, solo se debe calcular 1" log.
¡Por favor ayuda!
Comentario más útil
Como dijiste, resolvió el problema.
¡Gracias!