Pyradiomics: Advertencias de extracción de características de GLCM

Creado en 6 jun. 2019  ·  8Comentarios  ·  Fuente: AIM-Harvard/pyradiomics

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?

question

Comentario más útil

Como dijiste, resolvió el problema.

¡Gracias!

Todos 8 comentarios

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!

¿Fue útil esta página
0 / 5 - 0 calificaciones