II.3. Retoque (enhancement) de imágenes médicas (Bankman I. N. (Ed.), Handbook of medical imaging, Academic Press, 2000) Las técnicas de retoque de imágenes son técnicas matemáticas diseñadas para mejorar la calidad de un imagen. El resultado es una nueva imagen que muestra ciertas características (de acuerdo a criterios específicos) mejor que en la imagen original. Se pueden producir varias versiones de la imagen original cada una mostrando algún tipo de mejoría en la característica de interés. Los algoritmos más simples de retoque de imágenes se diseñan específicamente para el problema de interés, por ejemplo realce de una fractura en rayos-x del fémur de cierto equipo médico). Las técnicas más avanzadas se diseñan en base a requerimientos más generales, por ejemplo realce de fracturas en imágenes de rayos-x de huesos. Además de su aplicación en imágenes médicas, las mismas técnicas de retoque se utilizan en todos los campos de aplicación de imágenes digitales por ejemplo: fotografías digitales, imágenes de radar, video digital. Muchas de las técnicas de retoque de imágenes médicas se aplican para la interpretación por un humano experto, aunque también se aplican para un posterior análisis automático. Si no se usan adecuadamente las técnicas de retoque pueden degradar la calidad de la imagen y dificultar una interpretación correcta. Por ejemplo se puede incrementar el ruido al mejorar el contraste o se pueden eliminar detalles importantes al atenuar el ruido, y en general pueden introducirse una variedad de artefactos. Conceptos preliminares y definiciones Definimos una imagen digital como un arreglo bidimensional (2D) de números enteros que representan la distribución espacial de una señal continua. La señal espacial se muestrea a intervalos regulares (con algún tipo de sensor matricial) y la intensidad se cuantifica dentro de un numero finito de niveles (usualmente 256, 512, 1024 ó 4096). Asumiremos que una imagen tiene M renglones, N columnas y P niveles de intensidad (niveles de gris) con valores desde 0 hasta P-1. El histograma de una imagen se utiliza frecuentemente en técnicas de procesamiento digital, se define como un arreglo que contiene la cuenta del número de píxeles que corresponden a cada uno de los P-1 niveles de gris en la imagen. El histograma h(i) se puede definir como:
Convolución de una mascara con una imagen Uan operación fundamental de procesamiento de imágenes es la convolución de una mascara ( o kernel) - que es una pequeña matriz - con la imagen original, el resultado es una nueva imagen filtrada por el kernel. Los coeficeintes del kernel determinan el tipo de filtrado sobre la imagen: atenuación de ruido, detección de bordes en x, y, incremento del contraste. Si consideramos un kernel w(k,l) como un arreglo de tamaño (2K+1, 2L+1) donde la posición (0,0) es el centro del kernel, la convolución con una imagen f(m,n) está definida como: donde g(m,n) es la imagen de salida. Para implementar la operación de convolución se centra el kernel en la posición (m,n) de la imagen. Se realiza el producto de cada elemento del kernel con el pixel correspondiente en la imagen y se suman todos los productos, el valor del pixel (m,n) de la imagen se remplaza por el resultado. Esta operación se repite para todos los pixéles de la imagen. Es necesario aplicar algún criterio para procesar los bordes de la imagen en los que ya no correspondería un pixel para todos los elementos del kernel. El criterio más simple es realizar la convolución solo hasta las posiciones en la imagen para las que corresponda un pixel a cada uno de los elementos del kernel (con lo que la imagen convolucionada será más pequeña que la original). II.3.1 Operaciones sobre pixéles Escalamiento de intensidad Es un método que se utiliza para adecuar el rango dinámico de la imagen digital para mejorar su visualización. También se utiliza cuando la información de interés ocupa un rango limitado de niveles de gris. Por ejemplo si f1 y f2 son los dos niveles que definen nuestro rango de interés, una transformación de escala puede ser: donde e es una imagen intermedia, g es la imagen de salida y fmax es la intensidad maxima. En la figura se ilustra esta operación con f1=90 y f2=170, fmax=255.
Equalización del histograma En algunos casos se logra mejora significativa en la visualización de una imagen al maximizar el aprovechamiento del rango de nivel de gris disponible. Esto se logra distribuyendo la información de intensidad de la imagen sobre todo el rango. La técnica se basa en la interpretación del histograma de la imagen como una distribución de probabilidad de la intensidad de los pixéles. El número total de píxeles en una imagen es MxN y es igual a la suma de todos lso valores en el arreglo h(i). Para distribuir de manera uniforme todos los píxeles de la imagen en el rango (0, P- 1), debemos tener (MxN)/P píxeles en cada elemento (bin) de h(i). Para lograr esto se utiliza el histograma acumulado normalizado: Una vez calculado, el histograma acumulado normalizado se puede utilizar como un mapeo entre la imagen original y una nueva imagen de salida. La imagen final tendrá un histograma de máxima uniformidad si se calcula como:
En la figura siguiente se muestra un ejemplo de equalización del histograma II.3.2. Operaciones locales (aplicadas utilizando una ventana, kernel ó máscara) Reducción de ruido: Promedio se utiliza una mascara como la mostrada y se convoluciona con la imagen original, el resultado es una imagen con el ruido ( y los detalles más pequeños) atenuados. Mediana es un filtro no lineal que no utiliza convolución, en su lugar se aplica un algoritmo de cálculo de la mediana del conjunto de valores dentro de una máscara de cierto tamaño Realce de bordes
La detección de bordes en una imagen se basa en el cálculo de diferencias (un borde es una diferencia de intensidad significativa) en un rango de escalas espaciales de interés. Equalización local del histograma Esta operación no lineal proporciona incrementos importantes en el contraste de una imagen. Se basa en la aplicación del método de equalización descrito antes, aplicado sobre una ventana de tamaño (2K+1 x 2L+1) de manera traslapada:
donde h LA (m,n)(i) es el histograma local, H LA (m,n)(j) es el histograma local acumulado, y g(m,n) es la imagen de salida. La figura siguiente muestra una imagen con equalización local. El método tiene tiempos de procesamiento muy grandes. Equalización local del histograma II.3.3. Operaciones sobre varias imágenes: promedio, sustracción Promedio: se promedian pixel por pixel varias imágenes correspondientes (adquiridas en tiempos diferentes) para atenuar el ruido Diferencia: se calcula pixel por pixel la diferencia de dos imágenes correspondientes que muestran alguna caracterísitica diferente (p.e. Angiografía por sustracción) II.3.4. Filtrado en el dominio de frecuencia Además del dominio espacial, los filtros lineales se pueden aplicar en el dominio de la frecuencia mediante la modicación de la transformada de Fourier de la imagen original. Una vez modificada la imagen en el dominio de la frecuencia se toma la transformada inversa y se obtiene la imagen filtrada. Si una imagen g(m,n) es el resultado de la convolución de la imagen original f(m,n) con el kernel w(m,n), g(m,n)= w(m,n)* f(m,n), Por el teorema de convolución, G(u,v) =F(g(m,n)) se puede obtener como:
G(u,v)= W(u,v) F(u,v), donde W(u,v) y F(u,v) son las transformadas de Fourier del kernel w(m,n) y de la imagen f(m,n) respectivamente, la multiplicación se realiza pixel por pixel, por los que las dos imágenes W(u,v) y F(u,v) deben tener el mismo tamaño. La imagen filtrada se obtiene calculando la transformada inversa de Fourier de G(u,v): g(m,n)=f -1 (G(u,v)) Para evitar artefactos el kernel de filtrado debe tener transiciones suaves, algunos filtros que funcionan bien son: butterworth para filtrado de altas o bajas frecuencias; gaussiano para filtrado de altas frecuencias; LoG para detección de bordes. Ejemplo: filtrado Gaussiano y LoG de imágenes de US de la P.