procesamiento de imágenes médicas

38
Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012

Upload: jennifer-rollins

Post on 30-Dec-2015

84 views

Category:

Documents


1 download

DESCRIPTION

Procesamiento de Imágenes Médicas. Lección # 6-7: Algoritmos sobre imágenes. Noviembre , 2012. Agenda. Procesamiento del Histograma Análisis Ecualización Expansión / Contracción Segmentación de imágenes Thresholding Region Growing Watershed Percepción del Color Pseudocolor. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Procesamiento  de  Imágenes Médicas

Procesamiento de Imágenes MédicasLección #6-7: Algoritmos sobre imágenes

Noviembre, 2012

Page 2: Procesamiento  de  Imágenes Médicas

Agenda• Procesamiento del Histograma• Análisis• Ecualización• Expansión/Contracción• Segmentación de imágenes

• Thresholding• Region Growing• Watershed

• Percepción del Color• PseudocolorProcesamiento de imágenes médicas

Page 3: Procesamiento  de  Imágenes Médicas

PROCESAMIENTO DEL HISTOGRAMA

Trabajar con el histograma

Procesamiento de imágenes médicas

Page 4: Procesamiento  de  Imágenes Médicas

Histograma• En una imagen en gris, es la representación

gráfica de la frecuencia de ocurrencia de cada nivel de gris en una imagen

• Arreglo unidimensional de valores h

h(k) = nk = card{(x,y) | f(x,y) = k}

• k = 0, 1, …, L-1 y L es el nro. de niveles de gris• card denota la cardinalidad de un conjunto

• En Matlab, la función imhist

Procesamiento de imágenes médicas

Page 5: Procesamiento  de  Imágenes Médicas

Histograma• Un histograma normalizado se define como:

• n es el número total de píxeles

• p(rk) es la probabilidad del k-ésimo nivel de gris

• Histograma de una imagen de 8-bits:• Crear un arreglo de 256 posiciones• Inicializarlo en cero• Leer c/intensidad de píxel y sumar 1 en cada posición

Procesamiento de imágenes médicas

Page 6: Procesamiento  de  Imágenes Médicas

Analizando un Histograma

Procesamiento de imágenes médicas

Page 7: Procesamiento  de  Imágenes Médicas

Analizando un Histograma

Procesamiento de imágenes médicas

Page 8: Procesamiento  de  Imágenes Médicas

Ecualización• Cambiar la distribución de los valores de grises

para obtener una forma más “distribuida”• Función de distribución acumulativa

• sk es el nuevo nivel de grises para todos los píxeles rk

• En Matlab, empleando la función histeq

Procesamiento de imágenes médicas

Page 9: Procesamiento  de  Imágenes Médicas

Procesamiento de imágenes médicas

Page 10: Procesamiento  de  Imágenes Médicas

Ecualización• Global (histeq) y local (adapthisteq)

Procesamiento de imágenes médicas

Page 11: Procesamiento  de  Imágenes Médicas

Ecualización• Global (histeq) y local (adapthisteq)

Procesamiento de imágenes médicas

Page 12: Procesamiento  de  Imágenes Médicas

Desplazamiento

• El desplazamiento se puede realizar con imadd y imsubtract

Procesamiento de imágenes médicas

A = original B = shift(I, +50) A-B

Page 13: Procesamiento  de  Imágenes Médicas

Expansión

Procesamiento de imágenes médicas

• También conocida como input cropping

• Expande el histograma en el rango [rmin, rmax] del rango completo [0, L-1]

• Cada valor r, es mapeado a un valor s como

• La expansión aumenta el contraste• En Matlab, la función imadjust

Page 14: Procesamiento  de  Imágenes Médicas

Expansión

Procesamiento de imágenes médicas

Page 15: Procesamiento  de  Imágenes Médicas

Contracción

Procesamiento de imágenes médicas

• También conocida como output cropping

• Contrae el histograma en el rango [rmin, rmax] a un rango menor [smin, smax]

• Cada valor r, es mapeado a un valor s como

• La contracción reduce el contraste• En Matlab, la función imadjust

Page 16: Procesamiento  de  Imágenes Médicas

SEGMENTACIÓN DE IMÁGENES

Extraer regiones de interés

Procesamiento de imágenes médicas

Page 17: Procesamiento  de  Imágenes Médicas

Segmentación• Proceso de particionar una imagen en un conjunto

de regiones disjuntas cuya unión forma la imagen completa

• Estas regiones, generalmente corresponden a objetos, fondo, etc.

• La mayoría de los algoritmos de segmentación se basan en dos principios:• Discontinuidad• Similaridad

Procesamiento de imágenes médicas

Page 18: Procesamiento  de  Imágenes Médicas

Segmentación• Proceso complejo debido a:

• Presencia de iluminación discontinua• Sombras• Superposición de objetos• Poco contraste

Procesamiento de imágenes médicas

Page 19: Procesamiento  de  Imágenes Médicas

Segmentación• Muchas técnicas ad-hoc• Las técnicas pueden variar de acuerdo a:

• Tipo de imagen (binaria, gris, color)• Selección de la técnica matemática (morfología,

estadística, basada en grafos, etc.)• Tipo de característica (intensidad, color, textura,

movimiento, etc.)• Enfoque algoritmico (top-down, bottom-up, grafos)

• Una posible clasificación es: métodos basados en intensidad, basados en regiones y otros métodos.

Procesamiento de imágenes médicas

Page 20: Procesamiento  de  Imágenes Médicas

Basados en intensidad• Conceptualmente, es un enfoque sencillo• Emplea estadísticas de los píxeles (usando un

histograma) para determinar cuáles píxeles pertenecen al background o foreground

• Image thresholding: convertir una imagen de varios niveles de intensidad a una con menos (usualmente 2)

Procesamiento de imágenes médicas

Page 21: Procesamiento  de  Imágenes Médicas

Thresholding• IPT tiene una función para convertir una imagen

en grises a binaria: im2bw• La función recibe como parámetro el threshold T• El algoritmo de una técnica básica de

thresholding es:

1. Inspeccionar el histograma (imhist)

2. Seleccionar el valor apropiado de T

3. Aplicar el valor seleccionado (im2bw)

4. Si el resultado es satisfactorio, salvar la imagen. Sino, repetir los pasos 2-4

Procesamiento de imágenes médicas

Page 22: Procesamiento  de  Imágenes Médicas

Thresholding• Probemos el siguiente algoritmo:Ioriginal = imread('coins.jpg');

I = rgb2gray(Ioriginal);

imshow(I);

Id = im2double(I); % I is a uint8 grayscale image

T = 0.5*(min(Id(:)) + max(Id(:)));

deltaT = 0.01; % convergence criterion

done = false;

while ~done

g = Id >= T;

Tnext = 0.5*(mean(Id(g)) + mean(Id(~g)));

done = abs(T - Tnext) < deltaT;

T = Tnext;

end

imshow(im2bw(I, T)); %what means T? :-)

Procesamiento de imágenes médicas

Page 23: Procesamiento  de  Imágenes Médicas

Thresholding• Ejercicio: empleando un thresholding “manual”

compararlo con el algoritmo anterior y empleando la función graythresh de Matlab

Procesamiento de imágenes médicas

Page 24: Procesamiento  de  Imágenes Médicas

Basados en regiones• Concepto de conectividad. Partición de I en n

regiones R1, R2, R3, R4

• Region growing• Comenzar en p e ir “creciendo” alrededor de ésta

mientras se cumpla el criterio de homogeneidad

Procesamiento de imágenes médicas

Page 25: Procesamiento  de  Imágenes Médicas

Region Growing• Requiere de una(s) semilla(s)• Se necesita definir:

• El criterio de similitud• ¿Cómo se selecciona la semilla?• El criterio de parada

Procesamiento de imágenes médicas

promedio de píxeles

Page 26: Procesamiento  de  Imágenes Médicas

Region Growing

Procesamiento de imágenes médicas

Page 27: Procesamiento  de  Imágenes Médicas

Watershed• Técnica morfológica que su nombre deriva de la

geografía

• Watershed significa la línea divisora (general-mente cordilleras/mon-tañas) que divide las áreas drenadas por dife-rentes sistemas fluvia-les

Procesamiento de imágenes médicas

Page 28: Procesamiento  de  Imágenes Médicas

Watershed• IPT tiene la función watershed• Requiere una imagen de entrada y el criterio de

conectividad (4 u 8 vecinos)• Adicionalmente, en Matlab existe una función

para la distancia que se usa en conjunto con watershed

• Esta función calcula la distancia de un píxel al píxel más cercano de éste distinto de 0. La función se llama bwdist y contiene distancia Euclideana y de Ciudad (Manhattan)

Procesamiento de imágenes médicas

Page 29: Procesamiento  de  Imágenes Médicas

Percepción del Color• Combinación de las propiedades de la luz + el

aspecto psicológico del sistema de visión humano• Los modelos de color es una especificación de un

sistema de coordenadas y un subespacio, donde cada color es representado como un punto

• Pueden variar de acuerdo al área de trabajo:• Fotografía• Física• Materiales• Algoritmos

Procesamiento de imágenes médicas

Page 30: Procesamiento  de  Imágenes Médicas

Modelo RGB• Valores desde 0x00 hasta 0xFF por canal

Procesamiento de imágenes médicas

Page 31: Procesamiento  de  Imágenes Médicas

Modelo CMY y CMYK• Emplea los 3 colores primarios (pigmentos):

• Cyan• Magenta• Amarillo

• Empleado por las impresoras• El cuarto color: blacK (CMYK)• En Matlab, la conversión entre RGB y CMYK se

realizar con la función imcomplement

Procesamiento de imágenes médicas

Page 32: Procesamiento  de  Imágenes Médicas

Modelo HSV• Hue, describe el tipo de color (tono)• Saturation, medida de la “pureza” (diluido en

blanco)• Value, intensidad de la luz reflejada desde los

objetos

Procesamiento de imágenes médicas

Page 33: Procesamiento  de  Imágenes Médicas

Modelo HSV• Capacidad de distinguir colores distintos por un

humano• Algoritmos basados en HSV• Problemas con los valores alrededor del rojo y

conversión a RGB (costoso)• En Matlab: rgb2hsv y hsv2rgb

Procesamiento de imágenes médicas

Page 34: Procesamiento  de  Imágenes Médicas

Otros Modelos• YIQ (NTSC), empleado para la televisión

analógica (América)• Y: luminancia, I: dos señales de color, Q:

saturación• En Matlab, rgb2ntsc y ntsc2rgb• YCbCr, usado para video digital• Y: luminancia, Cb: diferencia en azul, Cr:

diferencia en rojo y valor referencia• En Matlab, rgb2ycbcr y ycbcr2rgb

Procesamiento de imágenes médicas

Page 35: Procesamiento  de  Imágenes Médicas

PseudoColor• Realzar una imagen monocroma para propósitos

visuales• Niveles de grises “opacan” regiones de interés

(ejemplo: presencia de un tumor)• El ojo humano es capaz de distinguir miles de

intensidades de color, y solo 100 niveles de grises• Solución típica: usar una LUT (lookup table) y

contrastar colores consecutivos• Diversas técnicas de pseudocolor

Procesamiento de imágenes médicas

Page 36: Procesamiento  de  Imágenes Médicas

Intensity Slicing• En Matlab, la función grayslice

Procesamiento de imágenes médicas

Page 37: Procesamiento  de  Imágenes Médicas

Intensity Slicing

Procesamiento de imágenes médicas

Page 38: Procesamiento  de  Imágenes Médicas

Otras técnicas• Niveles de grises a transformaciones de color

• Pseudocolor en el dominio de la frecuencia• Pseudolor después de un proceso de segmentación

a cada región

Procesamiento de imágenes médicas