procesamiento de imágenes médicas

Post on 30-Dec-2015

85 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

Procesamiento de Imágenes MédicasLecció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• PseudocolorProcesamiento de imágenes médicas

PROCESAMIENTO DEL HISTOGRAMA

Trabajar con el histograma

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

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

Analizando un Histograma

Procesamiento de imágenes médicas

Analizando un Histograma

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

Procesamiento de imágenes médicas

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

Procesamiento de imágenes médicas

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

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

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

Expansión

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

SEGMENTACIÓN DE IMÁGENES

Extraer regiones de interés

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

Segmentación• Proceso complejo debido a:

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

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

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

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

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

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

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

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

Region Growing

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

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

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

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

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

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

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

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

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

Intensity Slicing• En Matlab, la función grayslice

Procesamiento de imágenes médicas

Intensity Slicing

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

top related