Escolar Documentos
Profissional Documentos
Cultura Documentos
Practica 1 P3
INGENIERIA ELECTRONICA
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.
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.
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.
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.
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.
300
150
600
700 100 200 300 400 500 600 700 800 900
250
200
150
100
50
100
200
300
400
500
600
700
800
X: 406 Y: 249
250
200
150
100
X: 428 Y: 54
50 395 400 405 410 415 420 425 430 435 440
200
150
100
50
0.5
1.5
2.5
3.5
4.5
100
50
250
200
150
100
50
0 -4
-2
300
150
600
700 100 200 300 400 500 600 700 800 900
300
150
600
700 100 200 300 400 500 600 700 800 900
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.