Você está na página 1de 10

INSTITUTO TECNOLOGICO SUPERIOR DE IRAPUATO

DIVISION DE INGENIERIA ELECTRONICA

Practica 1 P3

Point Spread Function


Calculo en MATLAB Integrantes:
GONZALEZ RAMIREZ JULIO CESAR RODRIGUEZ SOTO CARLOS ALEJANDRO VELAZQUEZ CORDOVA GADIEL DZAHUINDANDA 1S09110316 IS09110050 IS09160545

INGENIERIA ELECTRONICA

PROCESAMIENTO DIGITAL JOSE EDUARDO TORRES FERNANDEZ


25 NOVIEMBRE 2013

INTRODUCCION
La PSF (Point Spread Function) describe la respuesta de un sistema de imagen a una fuente de punto o punto objeto. Un trmino ms general para la PSF es la respuesta del sistema impulsivo, la PSF siendo la respuesta impulsiva de un sistema ptico enfocado (central). La PSF en muchos contextos se puede considerar como la gota (blob) extendida de una imagen que representa un objeto sin resolver. En trminos funcionales, es la versin de dominio espacial de la funcin de transferencia de la modulacin. Es un concepto til en la ptica de Fourier, imgenes astronmicas, en el microscopio electrnico y otras tcnicas de imagen como la microscopia en 3D (microscopia de escner de lser confocal) y la microscopia de fluorescencia. El grado de dispersin (desenfoque) del punto de objeto es una medida de calidad de un sistema de imagen. En sistemas de imagen incoherentes como los microscopios de fluorescencia, los telescopios o los microscopios pticos, el proceso de la formacin de la imagen son lineales en poder y son descritos por teoras de sistemas lineales. Esto significa que cuando dos objetos A y B son trazados simultneamente, el resultado es igual a la suma independiente de los objetos trazados. En otras palabras: el trazado de A no es afectada por el trazo de B y viceversa, debido a la propiedad de nointeractuar de los fotones. La imagen de un objeto complejo se puede ver como convolucin de un objeto verdadero y la PSF. Sin embargo, cuando la luz detectada es coherente, la formacin de imagen es linear en el campo complejo. Grabacin de la intensidad de una imagen puede llevar a una cancelacin u otros efectos no lineales.

Ilustracin 1. Formacin de PSF

Para obtener la imagen de un objeto, la luz reflejada sobre este pasa a travs de un sistema de lentes y crea la imagen en el interior del equipo ptico. Cualquier instrumento ptico, incluso los de mxima calidad, producen ligeras desviaciones en la trayectoria de los fotones lo que se traduce en aberraciones de la imagen de modo que sta nunca es una copia exacta del original. Por supuesto los instrumentos de mayor calidad producirn siempre una imagen ms real, pero nunca idntica. El origen de las distorsiones es vario, las dos causas principales son ligeras imperfecciones de las lentes y la difraccin de la luz, la tecnologa permite minimizar cada vez ms las imperfecciones en las lentes pero el problema de la difraccin nunca se podr anular por

completo debido a la propia caracterstica de la luz como onda-partcula y por la definicin de la difraccin: cualquier punto que recibe una onda se convierte, a su vez, en emisor de esa onda. En microscopa ptica, la resolucin mxima terica es de unos 250 nm (la mitad de la longitud de onda de la luz empleada), si observamos un objeto puntual menor o igual de 250 nm deberamos obtener la imagen de un punto de luz nico, en realidad lo que obtenemos en la mayor parte de los sistemas pticos es un circulo de mayor tamao que el real y un halo alrededor de dicho disco a modo de los anillos de saturno (airy disk). En la prctica, el crculo no siempre es perfecto, puede parecerse algo a una elipse o incluso, si la calidad de las lentes no es muy buena, puede ser algo ms irregular.

Ilustracin 2. Reflexion de la imagen.

El sistema informtico analiza la imagen obtenida, la compara con la terica y genera las funciones matemticas necesarias para convertir la imagen del punto en lo que estamos obervando. Una vez conseguido el poder deformar digitalmente la imagen del mismo modo que el sistema ptico, tenemos un simulador del mismo y la principal ventaja es que es posible utilizar esas funciones para conseguir el efecto opuesto: generar la imagen real a partir de la imagen distorsionada.

Ilustracin 3. Determinacin de PSF.

Esto es facil para un solo punto pero el trabajo necesario aumenta de modo exponencial con el tamao y la complejidad de una imagen

DESARROLLO
Para calcular la PSF se ocup el toolbox de Matlab cfool. A continuacin se muestra la manera en cmo se desarroll el problema. Se utiliz la cmara de un iPod touch 4G para determinar la PSF del sensor de la cmara digital. Para poder calcular la PSF se tomo una imagen en blanco y negro de un cuadrado. A continuacin se utiliz el cdigo mostrado en la Tabla 1, para determinar los bordes de la imagen y obtener las caractersticas de la PSF.

Ilustracin 4. Imagen iPod touch 4G.

El programa carga la imagen al Workspace y detecta el borde de la imagen como se muestra a continuacin. Se tom un borde suponiendo que la PSF es uniforme en todos los bordes de la imagen. Se tom el intervalo donde inicia el borde y finaliza el orden como curva caracterstica de la PSF. A continuacin se invirti la curva para formar una curva tipo gaussiana. Se procedi a utilizar cftool en MATLAB para poder obtener la ecuacin caracterstica de la PSF. En Curve Fifting Tool se utiliz una aproximacin gaussiana de 4 trminos. La ecuacin y los coeficientes se muestran en la Tabla 2. Para poder apreciar si la PSF es correcta se utiliz la funcin deconvblind para verificar la exactitud.

250 100 200 200

300

150

400 100 500 50

600

700 100 200 300 400 500 600 700 800 900

Ilustracin 5. Imagen mostrada en el Workspace.

Ilustracin 6. Detalle del borde de la imagen.


300

250

200

150

100

50

100

200

300

400

500

600

700

800

Ilustracin 7. Grafica que muestra el borde de la imagen.

X: 406 Y: 249

250

200

150

100
X: 428 Y: 54

50 395 400 405 410 415 420 425 430 435 440

Ilustracin 8. Grafica que muestra el borde de la imagen.


250

200

150

100

50

0.5

1.5

2.5

3.5

4.5

Ilustracin 9. Curva invertida del borde de la imagen.

Ilustracin 10. Aproximacin de la PSF con cftool.


250 20 200 40 150 60 100 80

100

50

120 20 40 60 80 100 120

Ilustracin 11. PSF calculada 3D.


300

250

200

150

100

50

0 -4

-2

Ilustracin 12. PSF Calculada 2D.

Original 250 100 200 200

300

150

400 100 500 50

600

700 100 200 300 400 500 600 700 800 900

Ilustracin 13. Imagen original.


Recuperda 250 100 200 200

300

150

400 100 500 50

600

700 100 200 300 400 500 600 700 800 900

Ilustracin 14. Imagen recuperada

CONCLUSIONES
Es posible estimar la PSF de una cmara digital, si se suponen condiciones ideales. En esta prctica se comprob que la PSF no es uniforme y que es complicado calcularla. Adems se aprendi a utilizar el cftool de MATLAB, para determinar diferentes tipos de curvas.
close all clear all clc imiPod = imread('C:\Users\gadiel\Desktop\iPod4G.jpg'); imiPod = imiPod(:,:,1); figure; imagesc(imiPod) colorbar

size(imiPod) yc = imiPod(406:428); figure; plot(yc) grid z = fliplr(yc); w = [z yc]; tw = 0:1:length(w)-1; tw = tw/10; w = cast(w,'double'); figure; plot(tw,w) grid

Tabla 1. Cdigo 1.
close all clear all clc imiPod = imread('C:\Users\gadiel\Desktop\002.jpg'); imiPod = imiPod(:,:,1); imwrite(imiPod,'Original','jpg') a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 b4 c4 = = = = = = = = = = = = -89.66 3.357 0.4899 -89.29 1.139 0.4871 7.001 2.991 0.01549 257.7 2.25 1.689 ; ; ; ; ; ; ; ; ; ; ; ;

x = -4:0.1:8; g = a1*exp(-((x-b1)/c1).^2)+a2*exp(-((x-b2)/c2).^2)+a3*exp(-((x-b3)/c3).^2)+a4*exp(-((xb4)/c4).^2);

figure; plot(x,g) grid tx = -4:0.1:8; ty = -4:0.1:8; [x,y] = meshgrid(tx,ty); psf = a1*exp((-((x-b1)/c1).^2-((y-b1)/c1).^2))+a2*exp((-((x-b2)/c2).^2-((yb2)/c2).^2))+a3*exp((-((x-b3)/c3).^2-((y-b3)/c3).^2))+a4*exp((-((x-b4)/c4).^2-((yb4)/c4).^2)); figure; imagesc(psf) colormap(pink) colorbar [J P] = deconvblind(imiPod,psf); imwrite(J,'Recuperada','jpg') figure; imagesc(J) colormap(pink) colorbar d = size(imiPod); M = d(1); N = d(2); MSE = (1/M*N)*sum(sum((J - imiPod).^2)); RMSE = sqrt(MSE) org = imread('C:\Users\gadiel\Desktop\original.jpg'); org = org(:,:,1); figure; imagesc(org) colormap(pink) colorbar title('Original') recp = imread('C:\Users\gadiel\Desktop\recuperada.jpg'); recp = recp(:,:,1); figure; imagesc(recp) colormap(pink) colorbar title('Recuperda')

Tabla 2. Codigo 2.

Você também pode gostar