Actividad Grupal de Teledetección y procesado de imágenes

Procesado de imágenes DICOM

Introducción

Hemos realizado el proyecto en Python por el conocimiento generado en anteriores entregas de la asignatura. Python ofrece una orientación a objetos beneficiosa para programar de forma modular y permite el acceso a librerías de gestión para el trabajo que nos ocupa (General Python FAQ - Python 3.14.0., s.f.).

Específicamente, se han utilizado las librerías siguientes:

Podemos resumir la funcionalidad de la aplicación de la siguiente forma:

Vistas las características de la aplicación, procedemos a explicar el código del programa:

Explicación del código de la aplicación

Al trabajar en un lenguaje interpretado como Python, es preciso que las declaraciones de clases, métodos y funciones se hagan antes de su llamada. Se considera innecesaria la documentación de la aplicación, existiendo para ello comentarios y bloques de documentación en el fichero fuente.

Capturas de pantalla

Considerando que la aplicación funciona únicamente en sistemas UNIX, se adjuntan las siguientes capturas de pantalla en una instalación de Debian 13 con arquitectura de 64 bits:

La primera pantalla que aparece es el selector de archivo:

Figura 1: Primera pantalla del programa, que permite la selección de archivos DICOM.

Después la imagen se procesa, llegando a la pantalla principal del programa:

Figura 2: Cuadro de dialogo generado con la clase filedialog para abrir un archivo.

Modificando los sliders, se pueden modificar las propiedades y aplicar la segmentación:

Figura 4: Visualización de la misma imagen modificando parámetros. Arriba izquierda: parámetros por defecto. Arriba derecha: parámetros exagerados no permiten detectar hallazgos. Abajo izquierda: la ventana es demasiado amplia y el fondo es demasiado claro desvirtuando la imagen, abajo derecha: se diferencian más regiones.

Como vemos a utilidad de los sliders de level y window es importante para posibilitar una correcta definición de diferentes regiones según su intensidad. Ello permitirá también saber el tipo de tejido al que miramos.

Comprobamos también la función del umbral:

Figura 5: Funcionalidad del filtro de umbral.

Conclusiones

Esta actividad ha permitido el acercamiento a la realidad del procesado de imágenes mediante el desarrollo e implementación de una interfaz gráfica de usuario para procesar imágenes médicas en el archivo estándar DICOM. Se han implementado técnicas de segmentación para las imágenes, así como una posibilidad para mejorar la visualización de las mismas, priorizando estructuras.

Las imágenes se han obtenido de (Adam, s.f.). El propio autor de la página especifica que no son suyas. El enlace que facilita (http://headctstudy.qure.ai/#dataset) está caído a fecha actual. Sin embargo, proporciona un enlace permalink en su página que aún funciona.

Referencias

Adam, J. (s.f.). Dicom processing. Retrieved December 14, 2025, from https://jason-adam.github.io/dicom/

General Python FAQ - Python 3.14.0. (s.f). Python Documentation. https://docs.python.org/3/faq/general.html

Matplotlib documentation—Matplotlib 3.10.8 documentation. (s.f.). Retrieved December 14, 2025, from https://matplotlib.org/stable/index.html

Numpy documentation. (s.f.). Retrieved December 14, 2025, from https://numpy.org/doc/

Tkinter - Python interface to Tcl/Tk. (s.f). Python Documentation. https://docs.python.org/3/library/tkinter.html