Вы находитесь на странице: 1из 30

Centro de Investigaciones

en ptica A.C .

Reporte Final de Estancia

Interferometra Digital

Presenta:
Ing. Sotero Ordoes Nogales

Asesor:
Dr. Manuel Servn Guirado

Len, Guanajuato, Junio 2016


ndice de contenido

1. Introduccin ......................................................................................... 2
2. Interferometra de corrimiento de fase ................................................. 3
Ejemplo 1 (Demodulacin de patrones de franjas) .................................... 4
Ejemplo 2 (Robustez a ruido) .................................................................... 6
Ejemplo 3 (Supresin de armnicos).......................................................... 8
Mtodo de proyeccin de franjas ............................................................... 9
Ejemplo 4 (Rechazo de armnicos con datos experimentales) .................. 11
Ejemplo 5 (Patrones RGB) ...................................................................... 13
3. Mtodo de Fourier .............................................................................. 14
Ejemplo 5 (MF con datos sintticos): ....................................................... 15
Ejemplo 6 (MF con datos reales): ............................................................. 16
4. Desenvolvimiento de fase .................................................................... 17
Desenvolvimiento por integracin lineal ................................................... 18
5. Normalizacin ..................................................................................... 22
6. Co-Faseo ............................................................................................. 25
7. Conclusiones ....................................................................................... 28
8. Referencias .......................................................................................... 28

Sotero Ordoes Nogales Reporte Interferometra Digital |1


1. Introduccin
El humano por mltiples razones cientficas e industriales tiene la necesidad
de utilizar instrumentos para medir propiedades fsicas; para comprender la natura-
leza y/o para generar nuevos productos y servicios. En la actualidad, se requiere que
los instrumentos de medida sean cada vez ms precisos. De hecho, la ptica viene a
cubrir esa necesidad donde los mtodos matemticos tienen especial importancia.
En el sentido anterior, una aplicacin de la ptica es la metrologa topogrfica
de superficies a escala microscpica. De hecho, la interferometra ptica es la herra-
mienta (en ptica) por excelencia para medir la textura de una superficie, la cual
est basada en el principio de hacer interferir dos haces: uno de referencia y otro con
los datos de la medicin.
Los mtodos matemticos en interferometra ptica tienen por objetivo deter-
minar la diferencia de camino ptico contenido en la informacin de fase del patrn
de franjas obtenido en el experimento. En este sentido, se han desarrollado algoritmos
que permiten recuperar la informacin correspondiente a la medicin a partir de los
interferogramas.
Un patrn de franjas es matemticamente expresado como
= + cos (1)
donde es la luminosidad de fondo, es el contraste de franjas, es la
diferencia de camino ptico y es el vector de posicin espacial. De hecho, la infor-
macin requerida est contenida en la diferencia de fase, entonces, es deseable deter-
minar dichos valores a partir del modelo mencionado.
En general, el proceso para realizar alguna medicin empleando interferome-
tra ptica consta de los siguientes cuatro pasos bien definidos:
1. La adquisicin de datos: mediante un interfermetro, proyeccin de franjas,
etc.; en este proceso se obtienen los interferogramas.
2. Demodulacin de interferogramas: mediante post-procesamiento en alguna
computadora digital o mediante un sistema puramente ptico.

cin es el mapa de fase discontinua en mdulo 2 , por lo tanto, se requiere


3. Desenvolvimiento de fase: comnmente el resultado del proceso de demodula-

desenvolver para que la funcin de fase sea continua.


4. Interpretacin de datos: se convierte las unidades de fase a las unidades de la
medicin que se realiza.
El presente reporte tiene por tema principal la demodulacin. En este sentido, se
abordan las diversas tcnicas que se han desarrollado para extraer la diferencia de
fase , que pueden ser agrupadas en aquellas que se basan en la Transformada de

Sotero Ordoes Nogales Reporte Interferometra Digital |2


Fourier y las basadas en el planteamiento de un sistema de ecuaciones que dan origen
a la interferometra de corrimiento de fase.
El resto del presente reporte tiene la siguiente estructura: en la seccin 2 se
describe la tcnica de interferometra de corrimiento de fase para la demodulacin de
interferogramas. El mtodo por transformada de Fourier para demodulacin es des-
crito en la seccin 3. En la seccin 4 se describe el proceso de desenvolvimiento de
fase. En la seccin 5 se aborda el tema de normalizacin de patrones de franjas. En
la seccin 6 se describe el mtodo de co-faseo. Finalmente, en la seccin 7 se enlistan
las conclusiones principales.

2. Interferometra de corrimiento de fase


La tcnica conocida como interferometra de corrimiento de fase (PSI, por sus
siglas en ingls) est basada en la idea de plantear un sistema de ecuaciones, el cual
permita determinar la diferencia de fase. Como se observa en la Eq. (1) se tienen tres
incgnitas ( , , ), entonces se requiere de al menos tres ecuaciones tal que el
sistema formado por ellas sea consistente. Para ello se aplica un trmino de corri-
miento de fase nominal (conocido) a cada ecuacin, entonces, un sistema con
ecuaciones queda expresado como,
= + cos + ; = 1, 2, , (2)

ritmo de tres o cuatro pasos ( = 3 o = 4, respectivamente) o algn mtodo simi-


Del sistema de ecuaciones anterior se determina la funcin de fase mediante un algo-

lar.
Con base en la formulacin moderna de algoritmos para interferometra de
corrimiento de fase (PSA), la cual consiste en interpretar el mtodo como un filtro
!
que al aplicarse al conjunto patrones permite estimar la funcin de fase
buscada, adems es consistente con la teora de sistemas lineales.
Considere la Transformada de Fourier de un patrn de franjas corrido en fase,
$ $
= "# + % &' # + % )&' # +
2 2
(3)

$2 % &' # . Sea , un filtro lineal que cumple con el criterio de cuadratura


Cuyo grfico se muestra en la Figura 1, donde el objetivo es conservar el trmino

[1]. Si se aplica el filtro al conjunto de interferogramas se tiene,


!)

, , = . /0 , 1 (4)
0

donde , = !) 0 /0 # , 1 , en forma equivalente y por propiedades del espacio


de Fourier se tiene,
Sotero Ordoes Nogales Reporte Interferometra Digital |3
Figura 1: Espectro de un patrn de franjas. Figura 2: FTF del mtodo de tres pasos.

$
3 = 3 % &' # (
2
(5)

Si bien el soporte de , + , es , 2 ( 1, nicamente se considera el


resultado hasta , ( 1 para estimar la seal analtica, es decir,
$
3 % &' , + , |5 !)
2
(6)

lo anterior muestra la ecuacin general para un PSA lineal [2]. Finalmente, la funcin
de fase buscada se determina como:
Arg , + , |5 !) Arg / !) /!) (7)
donde Arg es el argumento del nmero complejo.
Para ejemplificar, consideremos el algoritmo de tres pasos propuesto por
Bruning et al. [3], donde el filtro es definido como,
3;< =1 ( % &> ?=1 ( % & >@>A
? (8)
cuya Funcin de Transferencia Frecuencial (FTF) se muestra en la Figura 2, se
observa que los espectros en las posiciones ( y 0 (intensidad de fondo) son elimi-
nados. Con base en la formulacin general, el algoritmo de tres pasos para queda
determinado por,
D E
;B % &' ( ( % &>A % &>A F
G ;B Arg
(9)
;B

Ejemplo 1 (Demodulacin de patrones de franjas)


En los ejemplos mostrados se emplearon los algoritmos de tres, cuatro y cinco
pasos cuyas FTF se muestran en las Figura 2-4, cuyas formulaciones matemticas se
muestran a continuacin,
D E
HB % &' (I ( F I ; ; /2
GHB Arg
(10)
HB
D E
KB % &' ( I2 (2 F I2 ; H ; /2
G KB Arg HB
(11)

Sotero Ordoes Nogales Reporte Interferometra Digital |4


Figura 3: FTF del mtodo de cuatro pasos. Figura 4: FTF del mtodo de cinco pasos ro-
busto a error de detuning.

El siguiente cdigo en Matlab realiza la demodulacin con los algoritmos


antes mencionados.

%% crear mapa de fase sinttico


[X,Y] = meshgrid(1:256);
phi = 0.001*((X-127).^2 + (Y-127).^2);

%% Algoritmo de tres pasos


w0 = 2*pi/3;
I0 = 128 + 127*cos(phi + 0*w0);
I1 = 128 + 127*cos(phi + 1*w0);
I2 = 128 + 127*cos(phi + 2*w0);
A_3s = I0 - I1 - exp(1i*w0)*I1 + exp(1i*w0)*I2; % estimar seal analtica
phi_3s = angle(A_3s); % estimar funcin de fase
fig_A3s = figure();
imagesc(phi_3s),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 3 pasos \omega_0=2\pi/3');

%% Algoritmo de cuatro pasos


w0 = pi/2;
I0 = 128 + 127*cos(phi + 0*w0);
I1 = 128 + 127*cos(phi + 1*w0);
I2 = 128 + 127*cos(phi + 2*w0);
I3 = 128 + 127*cos(phi + 4*w0);
A_4s = I0 - 1i*I1 - I2 + 1i*I3; % estimar seal analtica
phi_4s = angle(A_4s); % estimar funcin de fase
fig_A4s = figure();
imagesc(phi_4s),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 4 pasos \omega_0=\pi/2');

%% Algoritmo de cinco pasos


w0 = pi/2;
I0 = 128 + 127*cos(phi + 0*w0);
I1 = 128 + 127*cos(phi + 1*w0);
I2 = 128 + 127*cos(phi + 2*w0);
I3 = 128 + 127*cos(phi + 4*w0);
I4 = 128 + 127*cos(phi + 5*w0);
A_5s = I0 - 1i*2*I1 - 2*I2 + 1i*2*I3 + I4; % estimar seal analtica
phi_5s = angle(A_5s); % estimar funcin de fase
fig_A5s = figure();
imagesc(phi_4s),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 5 pasos \omega_0=\pi/2');

Sotero Ordoes Nogales Reporte Interferometra Digital |5


Figura 6: Patrn de franjas base con ruido
Figura 5: FTF del algoritmo de seis pasos. gaussiano de fase Q 0 y S 0.1.

Los resultados obtenidos se muestran en la Figura 7, donde se observa que la


funcin de fase estimada con los diferentes algoritmos es equivalente. Sin embargo,
los patrones de franjas capturados presentan ruido relacionado intrnsecamente con
el experimento, adems, la exactitud no est garantizada en los valores de corri-
miento de fase nominal. En los siguientes apartados se abordan los problemas antes
mencionados.

Ejemplo 2 (Robustez a ruido)


Este ejercicio muestra la robustez de un algoritmo a la presencia de ruido en
los datos. Para ello consideramos el algoritmo de tres pasos descrito anteriormente y
un mtodo de seis pasos propuesto por Bruning et al. [3] que es caracterizado como,
H

3LB = M=1 ( % & 0>A


? (12)
0

Realizando la convolucin con los datos y tomando la Transformada Inversa de Fou-


rier del resultado se obtiene la expresin del algoritmo (cuya FTF se muestra en la
Figura 5),
D E
LB % &'
(N (N F ( F N; (O ; N H (13)
O K ; 2 6 , N (1 F;
,O (1 ;

(a) (b) (c) (d)


Figura 7. Resultados del ejemplo 1, (a) patrn de franjas base, (b)-(d) las funciones de fase estima-
das con cada algoritmo: ;B , HB y KB , respectivamente.

Sotero Ordoes Nogales Reporte Interferometra Digital |6


(a) (b)
Figura 8: Comparacin de robustez a ruido dos algoritmos: tres y cuatro pasos, (a) fase recuperada
con tres pasos ;< , (b) fase estimada con seis pasos L< .

G LB = Arg LB

A continuacin se muestra el script de Matlab para el ejemplo en cuestin,

%% crear mapa de fase sinttico


[X,Y] = meshgrid(1:256);
phi = 0.001*((X-127).^2 + (Y-127).^2);

%% Algoritmo de seis pasos


w0 = 2*pi/6;
alpha = (-1)^(2/3);
betha = (-1)^(1/3);
I0 = 128 + 127*cos(phi + 0*w0 + (2*rand(256,256)-1));
I1 = 128 + 127*cos(phi + 1*w0 + (2*rand(256,256)-1));
I2 = 128 + 127*cos(phi + 2*w0 + (2*rand(256,256)-1));
I3 = 128 + 127*cos(phi + 3*w0 + (2*rand(256,256)-1));
I4 = 128 + 127*cos(phi + 4*w0 + (2*rand(256,256)-1));
I5 = 128 + 127*cos(phi + 4*w0 + (2*rand(256,256)-1));
A_6s = I0 alpha*I1 alpha*I2 I2 + alpha*I3 betha*I3 ...
+ alpha*I4 + betha*I5; % estimar seal analtica
phi_6s = angle(A_6s); % estimar funcin de fase
fig_A6s = figure();
imagesc(phi_6s),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 6 pasos \omega_0=2\pi/6');

Los resultados se muestran en la Figura 8, donde se observa que el algoritmo


de seis pasos atena considerablemente el ruido de fase que el mtodo de tres pasos.
Cabe mencionar, que ambos algoritmos (tres y seis pasos) estn basados en el mtodo
de los mnimos cuadrados, entonces, las funciones de fase estimadas (Figura 8) son
la mejor solucin en el sentido de mnimos cuadrados. Esto implica, que la mayor
cantidad de informacin redundante del algoritmo de seis pasos permite una mejor
estimacin a la fase real.
Una figura de mrito empleada para indicar la robustez al ruido es la ganancia
de la relacin seal a ruido (UV! ) que est determinada como,
|3 |F
UV! =
1 X
2 W)X 3 3 Y
(14)

Sotero Ordoes Nogales Reporte Interferometra Digital |7


(a)

(b)

Figura 9: Respuesta de los algoritmo a la presencia de armnicos, (a) respuesta a armnicos del
algoritmo [3] y (b) respuesta a armnicos del algoritmo propuesto en [2].

donde el 3 es el complejo conjugado [2]. Con base en la ecuacin anterior la


ganancia de los algoritmos (de este ejemplo) son 3 y 6 respectivamente. Evidente-
mente la ecuacin anterior nos permite determinar el valor tal que su UV! sea
mxima.

Ejemplo 3 (Supresin de armnicos)


Este ejercicio muestra la robustez de un algoritmo a la presencia de armnicos.
Se emplean el algoritmo de cuatro pasos descrito anteriormente y el siguiente:
F
3 Z1 ( % &> [ Z1 ( % & >@>A
[; 2 (15)
Tomando la transformada inversa de Fourier de los filtros anteriores aplicados a los
datos se obtienen los algoritmos,
D E
HB\ % &'
(2 ( % &>A F 2% &>A F ( ; (16)
GHB ArgZ HB\ [
\

En la Figura 9 se muestra la respuesta a amnicos de los mtodos en cuestin.


Se observa que el algoritmo [3] es afectado por los armnicos [-7,-3,5,9]; los cuales no
son deseados. Por su parte, el mtodo [2] es afectado por los armnicos [-10,-7-6,-3,-
2,5,6,9,10]; entonces ste ltimo es ms robusto a armnicos.
A continuacin se muestra el script de Matlab para el ejemplo en cuestin,

%% Algoritmo de cuatro pasos robusto a variaciones de fondo


w0 = pi/2;
% Cargar datos
I0 = im2double(imread('I0.bmp'));
I1 = im2double(imread('I1.bmp'));
I2 = im2double(imread('I2.bmp'));

Sotero Ordoes Nogales Reporte Interferometra Digital |8


(a) (b) (c)

(d)

Figura 10: Eliminacin de armnicos, (a) patrn de franjas base, (b) fase estimada GH<
estimada GH<] .
y (c) fase

I3 = im2double(imread('I3.bmp'));

A_4s_a = I0 2*I1 exp(1i*w0)*I1 + I2 ...


+ 2*exp(1i*w0)*I2 I3; % estimar seal analtica
phi_4s_a = angle(A_4s_a); % estimar funcin de fase
fig_A4s_a = figure();
imagesc(phi_4s_a),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 4s_a pasos \omega_0=\pi/2');

observa que la estimacin GH<]


En la Figura 10 se muestra la estimacin de los algoritmos mencionados, se
no contiene las componentes de baja frecuencia lo
cual es debido que a las caractersticas del mtodo y por lo tanto, las funciones de
fase estimadas (con cada algoritmo) no son equivalentes como se puede observar en
la Figura 10(d) donde se observa que los trminos de pistn son distintos y se han
filtrado algunas componentes de baja frecuencia deseadas [Figura 10(c)].
En la siguiente seccin se describe el mtodo de proyeccin de franjas em-
pleado para la adquisicin de datos experimentales. Los datos son empleados para
ejemplos experimentales mostrados ms adelante.

Mtodo de proyeccin de franjas


Inicialmente propuesto por Rowe y Welford consiste en proyectar sobre un
objeto patrones de intensidad en forma de franjas, capturar las proyecciones sobre
un objeto, posteriormente, analizar las capturas para determinar las mediciones co-
rrespondientes, como por ejemplo la superficie tridimensional de un objeto [4]. Con
los avances tecnolgicos, surge la proyeccin digital de franjas (DFP, por sus siglas
en ingls) en la cual los patrones son generados digitalmente. La principal ventaja de

Sotero Ordoes Nogales Reporte Interferometra Digital |9


Figura 11: Configuracin tpica para el mtodo de proyeccin de franjas.

la DFP es la sencillez del arreglo experimental que consta de un proyector comercial,


una cmara CCD y una computadora para el anlisis. Las tcnicas de DFP se pueden
dividir por el nmero de capturas: de una y de mltiples capturas. Las de una captura
permiten medir objetos en movimiento (rapidez). Mientras que las de mltiples per-
miten obtener una mayor resolucin.
En las tcnicas que requieren mltiples capturas se pueden emplear algoritmos
de interferometra de corrimiento de fase para la demodulacin de la misma. As se
pueden emplear patrones de tipo sinusoidal, triangular o trapezoidal que son proyec-
tados en forma secuencia y son capturados por la CCD, donde no es estrictamente
necesario que la cmara y el proyector estn sincronizados temporalmente. Las de-
formaciones que experimentan los patrones, debido a la topografa del objeto, con-
tiene la informacin suficiente para recuperar los datos de la medicin de esa topo-
grafa. Comnmente, las dimensiones de profundidad se determinan por algn m-
todo de triangulacin.
El mtodo de proyeccin de franjas presenta inconvenientes relacionados con
el proyector y con la cmara. Cuando los patrones son generados a escala de grises o
monocromticos, la no-linealidad de la cmara es despreciable en comparacin con
la del proyector [5]. As la respuesta del sistema de proyeccin queda representada
por,
^
_, ` _, ` a
(17)
donde _, ` es la intensidad proyectada, ^ _, ` es la intensidad capturada y b es
el valor gamma del proyector usualmente mayor a 1. En la Eq. (17) se muestra
que los patrones capturados presentan armnicos, no deseados, de la misma seal.
Por otro lado, cuando se proyectan patrones RGB (un interferograma en cada canal)
surge el crosstalk (o diafona cromtica) que aparece como una respuesta no-lineal
para cada canal, as como el fenmeno de aliasing entre los canales adyacentes, es
decir,
^
E E NcE c (18)

Sotero Ordoes Nogales Reporte Interferometra Digital |10


^
c = c + NEc E + Ncd d
^
d = d + Ncd c

donde E^ , c^ , d^ son los patrones capturado e E , c , d son los proyectados, respecti-


vamente a cada canal. Los coeficientes NcE , Ndc , Ncd son las contribuciones del patrn
del canal verde en el canal rojo, el canal azul al verde y el canal verde al azul [6].

por un valor .
Adems, en las Eqs. (18) se observa que los valores de fase nominal son afectados

En la Figura 11 se muestra una configuracin tpica para el mtodo de pro-


yeccin de franjas, donde el eje ptico del proyector y la CCD se encuentran en el

Y de las pupilas del proyecto y de la CCD. El objeto bajo prueba es colocado en el


mismo plano y es paralelo al plano de referencia, el cual est situado a una distancia

plano de referencia hacia la CCD. Con estas consideraciones y basados en el dia-


grama; la altura del objeto es determinada como
gh
f =
2 Y
(19)

donde gh es el periodo de los patrones capturados y = i d es la diferencia de


fase en cada punto, tal que i es el valor de fase en el punto " de la superficie del
objeto y d es el valor de fase ene le plano de referencia. Un proceso de calibracin
es requerido para determinar los valores en la Eq. (19), como por ejemplo el propuesto
por Jia et al. [7] donde se emplean varios planos de referencia con lo cual se mejora
considerablemente la resolucin.
En el presente reporte se emplea el mtodo de proyeccin de franjas con la
configuracin mostrada en la Figura 11 en la captura de datos experimentales.

Ejemplo 4 (Rechazo de armnicos con datos experimentales)


Este ejemplo es continuacin del 3, ahora se emplean patrones de franjas ex-

= 2 /4.
perimentales. Los patrones de franjas capturados se muestran en la Figura 12, los
cuales son corridos en fase por un trmino de
La funcin de fase de los patrones de la Figura 12(b) es la seal portadora de
fase del objeto, como se puede observar en la Figura 12(a). Rescribiendo la Eq. (1)
con las consideraciones anteriores se obtiene,
=" +$ cos / + + ; = 0, ,3 (20)
donde / es la portadora y es la fase del objeto. Aplicando el algoritmo de
cuatro pasos de la Eq. (20) se obtiene lo siguiente,
% &Z' = I +I ; = /2
D E @k E [
HBj F ; (21)

Sotero Ordoes Nogales Reporte Interferometra Digital |11


(a)

(b)

Figura 12: Patrones de intensidad para perfilometra de una pirmide con corrimientos = 2 /4,
(a) los patrones de franjas con el objeto y (b) los patrones de referencia.

= 0 [en la Eq. (20)] y resolvemos con el mismo algoritmo


Por lo tanto, es necesario eliminar la seal portadora. Para ello se estima el valor de
la portadora haciendo
como sigue,

Hj % &k E
= I F +I ; ; = /2
/ = Arg
(22)
Hj

Entonces, la fase del objeto estar determinada como,


% &' E = HBj % )&k
D E
HB
GH< = Arg HB
(23)

En el siguiente script de Matlab se muestra el procedimiento realizado para


los dos algoritmos tratados en el Ejemplo 3.

w0 = pi/2;
% Cargar datos
oI0 = im2double(imread('piramide_obj_I0.bmp'));
oI1 = im2double(imread('piramide_obj_I1.bmp'));
oI2 = im2double(imread('piramide_obj_I2.bmp'));
oI3 = im2double(imread('piramide_obj_I3.bmp'));
rI0 = im2double(imread('piramide_ref_I0.bmp'));
rI1 = im2double(imread('piramide_ref_I1.bmp'));
rI2 = im2double(imread('piramide_ref_I2.bmp'));
rI3 = im2double(imread('piramide_ref_I3.bmp'));

%% Algoritmo de cuatro pasos


oA_4s = oI0 - 1i*oI1 - oI2 + 1i*oI3; % estimar seal analtica
cA_4s = rI0 1i*rI1 rI2 + 1i*rI3;
c = angle(cA_4s); % estimar seal portadora
phi_4s = angle(oA_4s.*exp(-1i*c)); % estimar funcin de fase
fig_A4s = figure();
imagesc(phi_4s),colormap gray, axis equal, axis off,

Sotero Ordoes Nogales Reporte Interferometra Digital |12


(a) (b) (c) (d)

(e)
Figura 13: Eliminacin de armnicos con datos reales, (a) fase estimada GHB con el algoritmo de
cuatro pasos [3], (b) fase estimada GHB\ con el algoritmo de Servn et al. [2], (c) fase desenvuelta
lHB calculada con el primer mtodo y (d) la fase desenvuelta estimada lHB\ con el segundo
algoritmo. En (e) se compara las fases estimadas de los algoritmos.

title('Fase estimada algoritmo de 4 pasos \omega_0=\pi/2');

%% Algoritmo de cuatro pasos robusto a variaciones de fondo


oA_4s_a = oI0 2*oI1 exp(1i*w0)*oI1 + oI2 ...
+ 2*exp(1i*w0)*oI2 oI3; % estimar seal analtica
cA_4s_a = rI0 2*rI1 exp(1i*w0)*rI1 + rI2 ...
+ 2*exp(1i*w0)*rI2 rI3;
c = angle(cA_4s_a); % estimar seal portadora
phi_4s_a = angle(oA_4s_a.*exp(-1i*c)); % estimar funcin de fase
fig_A4s_a = figure();
imagesc(phi_4s_a),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 4s_a pasos \omega_0=\pi/2');

En la Figura 13 se muestra el resultado del script anterior, adems se agrega


los mapas de fase desenvuelta de ambos algoritmos. En la Figura 13(e) se comparan

fase GHB tiene menor contribucin de armnicos en comparacin con GHB\ , este
los perfiles de fase estimadas con cada algoritmo, se observa que el mapa de

ltimo presenta una contribucin importante del segundo armnico lo cual se debe a
que el mtodo no elimina dicho armnico [ver Figura 9(b)].

Ejemplo 5 (Patrones RGB)


En este ejemplo se proyecta un patrn RGB tal como fue descrito en el apar-

= 2 /3 y en este sentido se utiliz el algoritmo de tres pasos cuya FTF se muestra


tado de proyeccin de franjas. Cada interferograma es corrido en fase nominal por

en la Figura 2.
El resultado se muestra en la Figura 14, donde se utilizaron dos objetos: un
casquete de esfera y una concha, el gradiente de la concha es accidentado. Se observa
que la fase estimada presenta un error significativo; debido a que seal moduladora

Sotero Ordoes Nogales Reporte Interferometra Digital |13


(a) (b) (c)

(d)

Figura 14: Demodulacin de patrones RGB, (a) patrn de franjas con objetos, (b) patrn de refe-
rencia, (c) fase estimada G ;B y (d) perfil del patrn de referencia.

[$ ] est en funcin del patrn de franjas como consecuencia de la respuesta fre-


cuencial de los sensores de la CCD y, adems, el corrimiento de cada canal es
afectado en un trmino [ver Figura 14(d)].

3. Mtodo de Fourier
El mtodo introducido por Takeda et al. [8], basado en la transformada de
Fourier consiste en extraer el espectro correspondiente a . La idea fundamental
del mtodo es la de introducir una frecuencia portadora m , entonces, la representa-
cin matemtica de un patrn de franjas, con esas consideraciones, queda determi-
nada como,
" $ cos 2 m_ (24)
donde la frecuencia portadora es en la direccin _. Haciendo / $ 2 % &' E
,
podemos representar la Eq. (24) en su forma compleja,
" / % &FnoA p / % )&FnoA p (25)
donde / % )FnoA p denota el complejo conjugado. La transformada de Fourier de la
ecuacin anterior con respecto de _, est determinada por,
qp r, ` s r ( m ,` s r m ,` (26)
donde las letras maysculas indican la pertenencia al dominio de Fourier. En la
Figura 15 se muestra el espectro de un interferograma donde s r ( m , ` es el rango
de frecuencias que se desea recuperar, es decir,
s r ( m ,` qp 3 r ( m ,` (27)

Sotero Ordoes Nogales Reporte Interferometra Digital |14


Figura 15: Esquema del mtodo de Fourier para la demodulacin de un patrn de franjas.

donde 3 r m , ` es un filtro que permite extraer el intervalo espectral deseado.


Posteriormente, se traslada s r ( m , ` al origen (r 0). Finalmente, la funcin de
fase busca es determinada por,
Im /
G atan w |
Re /
(28)

donde Re , Im representan la parte real e imaginaria del argumento.


La principal fuente de error del mtodo por transformada de Fourier es la
prdida de energa que ocurre durante la etapa de filtrado. En este sentido, se em-
plean ventanas de Hamming y de Han para evitar la prdida de la energa.
La diferencia principal de demodular con transformada de Fourier (con res-
pecto de PSI) es que se requiere nicamente un patrn de franjas. Sin embargo, el
mtodo requiere que la seal portadora separe lo suficiente los espectros para poder
filtrar adecuadamente. A continuacin se realizan dos ejemplos con el mtodo tra-
tado.

Ejemplo 5 (MF con datos sintticos):


Este ejemplo muestra el procedimiento para demodular un patrn de franjas
empleando el mtodo por transformada de Fourier. Para ello, se gener un patrn
con una portadora lineal y una gaussiana centrada como mapa de fase.
A continuacin se muestra el script en Matalb escrito para este ejemplo.

%% Establecimiento de datos sintticos


N = 256; % dimensin de la imagen
w_f = 15; % radio del filtro
[i,j] = meshgrid(1:N);
phi = 0.001*((i-0.5*N).^2+(j-0.5*N).^2); % Phi de prueba
u = 0.3*pi*i; % Estimar portadora
I = 128 + 127*cos(phi + u + ...
0.5*(2*rand(size(phi))-1)); % Generar patrn

%% Metodo de Fourier
FI = fft2(I.*exp(1i*pi* ...
(i+j)).*exp(-1i*u)); % coef. FT + fftshift

r = sqrt((i-0.5*N).^2 + (j-0.5*N).^2); % Diseo del filtro


Filtro = double(r < w_f);
I_filtrada = FI.*Filtro; % Filtrado

Sotero Ordoes Nogales Reporte Interferometra Digital |15


(a) (b) (c)
Figura 16: Proceso para demodulacin de fase mediante el Mtodo de Fourier: (a) patrn de inten-
sidad, (b) proceso de filtrado en el dominio de Fourier y (c) mapa de fase determinado.

A_signal = ifft2(I_filtrada).* ... % Estimar seal analtica


exp(-1i*pi*(i+j)); % IFT + fftshift
phi = angle(A_signal); % Estimar la fase

fig_filtrado = figure(); % Graficar filtrado


imagesc(0.1*Filtro+0.7*img_frecu),
colormap gray, axis equal, axis off,
title('Proceso de filtrado');

fig_fase = figure(); % Graficar filtrado


imagesc(-angle(A_signal))
colormap gray, axis equal,
axis off,
title('Mapa de fase envuelta')

El resultado se muestra en la Figura 16, se observa que la fase recuperada


presenta un rizado en los bordes donde se produce el salto de 2 . Lo anterior se
debe al efecto del filtro; el ancho espectral debe ser adecuado.

Ejemplo 6 (MF con datos reales):


Este ejemplo muestra el procedimiento para demodular un patrn de franjas
con datos reales empleando el mtodo por transformada de Fourier, en particular se
emplea el patrn correspondiente a la pirmide como se muestra en la Figura 17.
A continuacin se muestra el script en Matalb escrito para este ejemplo.

%% Establecimiento de datos sintticos


I = im2double(imread('piramide_obj_I0.bmp')); % Patron de franjas
[m,n] = size(I);
w_f = 20; % radio del filtro
[i,j] = meshgrid(1:n,1:m);
u = 0.101*pi*i + 0.001*pi*j; % Estimar portadora
I = 128 + 127*cos(phi + u + ...
0.5*(2*rand(size(phi))-1)); % Generar patrn

%% Mtodo de Fourier
FI = fft2(I.*exp(1i*pi* ...
(i+j)).*exp(-1i*u)); % coef. FT + fftshift

Sotero Ordoes Nogales Reporte Interferometra Digital |16


(a) (b) (c)
Figura 17: Proceso demodulacin con el Mtodo de Fourier con datos reales: (a) patrn de intensi-
dad, (b) proceso de filtrado en el dominio de Fourier y (c) mapa de fase determinado.

r = sqrt((i-0.5*N).^2 + (j-0.5*N).^2); % Diseo del filtro


Filtro = double(r < w_f);
I_filtrada = FI.*Filtro; % Filtrado
A_signal = ifft2(I_filtrada).* ... % Estimar seal analtica
exp(-1i*pi*(i+j)); % IFT + fftshift
phi = angle(A_signal); % Estimar la fase

fig_filtrado = figure(); % Graficar filtrado


imagesc(0.1*Filtro+0.7*img_frecu),
colormap gray, axis equal, axis off,
title('Proceso de filtrado');

fig_fase = figure(); % Graficar filtrado


imagesc(-angle(A_signal))
colormap gray, axis equal,
axis off,
title('Mapa de fase envuelta')

El resultado se muestra en la Figura 17, se observa que el mapa de fase recu-


perado tiene el rizado descrito anteriormente. Comparando las Figura 13(a) y Figura
17(c) se observa que la primera es mejor estimacin que la segunda y esto se debe
principalmente a la cantidad de datos para cada estimacin. Por ello, el mtodo de
Fourier es utilizado para medir fenmenos u objetos en movimiento, mientras que
PSI se emplea cuando se requiere mayor precisin en la medicin.

4. Desenvolvimiento de fase
El procedimiento de desenvolvimiento de fase consiste en recuperar los valores
originales de la fase a partir de los valores principales (fase envuelta), es decir, se
obtiene un mapa de fase continua a partir de uno discontinuo. Formalmente el pro-
blema puede ser planteado como,
G _
} _ =~ } _ = G _ 2 Round w |
2
(29)

donde Round , es la funcin que redondea su argumento al entero ms cer-


cano, } es el mapa de fase desenvuelto, G es la fase envuelta y ~ es el operador de

Sotero Ordoes Nogales Reporte Interferometra Digital |17


envolvimiento tal que ~ _ , . Cabe mencionar que el operador ~ es sobre-
yectivo pero no inyectivo. Por lo tanto, el desenvolvimiento de fase es un problema

valor _ es dependiente espacial y/o temporalmente, entonces, el contexto propor-


matemticamente mal planteado en el sentido de Hadamard [9]. Sin embargo, el

ciona la informacin necesariamente para poder realizar el desenvolvimiento.

Desenvolvimiento por integracin lineal


El mtodo inicialmente propuesto por Itoh [10] consiste en desenvolver la fase
progresivamente. Rescribiendo la Eq. (29) como sigue,
} = G2 _ (30)
Tomando la derivada discreta ( ) de la ecuacin anterior,
} = G 2 _
} _ } _1 = G _ G _1 2 _ _1
(31)

donde _ _1 por propiedades del campo. Aplicando el operador de


envolvimiento,

~ } _ = ~ G _ 2 _ = ~ G _ (32)

La expresin anterior es un resultado muy importante puesto que indica que la deri-
vada de la fase desenvuelta es equivalente a la derivada de la fase envuelta. Final-
mente, la funcin de fase desenvuelta es determinada como sigue,
p)
} _ = G 0 + . ~ } 1 (33)
0

Para lo cual se asumi que el patrn de franjas cumple con el Teorema de


Nyquist. Es conocido que el mtodo de Itoh es sensible a la presencia de ruido, sin
embargo, establece el fundamento para mtodos prcticos. En este sentido, se des-
cribe una variante (del algoritmo de Itoh) con un buen desempeo en presencia de
ruido controlado. Considerando lo siguiente,
~ G _ G _ 1 = ~ G _ } _ 1 (34)
Si la respuesta espectral del ruido es suficientemente acotada, entonces,
~ G _ G _ 1 = G _ } _ 1 (35)
y el desenvolvimiento de fase queda determinado como,
} _ = } _ 1 + ~ G _ } _ 1 ; 0,1 (36)
donde el parmetro es el criterio para filtrar el ruido.

Sotero Ordoes Nogales Reporte Interferometra Digital |18


El mtodo descrito en la Eq. (36) plantea el desenvolvimiento de fase como

mente la fase y el trmino penaliza la derivada, por ende est relacionado intrnse-
un problema de valor inicial y utiliza el mtodo de Euler para integrar progresiva-

camente con los datos; un valor no adecuado (menor o mayor) permitir errores
considerables en el momento de deenvolver la fase.
Con la finalidad de implementar el mtodo de desenvolvimiento se define el
operador de envolvimiento como sigue,
~ Fn
~ atan2 sin , cos
(37)

donde Fn es la recta real con intervalo , y atan2 , es el arco tangente de

`
cuatro cuadrantes definido como,

atan , _>0
_
_
atan , `>0
2 `
atan2 `, _ _
2 atan ` , `<0 (38)
`
atan , _<0
_
indefinido, _ = 0, ` = 0
En general, el desenvolvimiento en 2D requiere de una ruta de integracin
como lo sugiere el mtodo de Itoh. Para ello, en el presente reporte se elige una ruta
de zigzag del grid. A continuacin se muestra el cdigo de Matlab escrito para
realizar el desenvolvimiento de fase. Debido a la similitud de los mtodos descritos
no se muestra el mtodo de Itoh.

% Archivo unwrapLocal.m
function [phi] = unwrapLocal(phia,phiw,lambda)
%UNWRAPLOCAL desenvolvimiento de un pixel con el mtodo penalizado
% [phi] = unwrapLocal(phia,phiw,lambda)
% -phia es el valor anterior de la ruta de desenvolvimiento.
% -phiw es el valor que ser desenvuelto.
% -lambda es el valor de penalizacin
deriv = phiw - phia;
phi = phia + lambda*atan2(sin(deriv),cos(deriv));
end

% Archivo unwrap1D.m
function [usignal] = unwrap1D(wsignal,lambda)
%UNWRAP1D desenvolvimiento de una seal unidimensional.
% [usignal] = unwrap1D(wsignal,lambda)
% -wsignal seal 2D con fase envuelta.
% -lambda es el valor de penalizacin.

Sotero Ordoes Nogales Reporte Interferometra Digital |19


n = length(wsignal);
usignal = zeros(size(wsignal));
for i=2:n
usignal(i) = unwrapLocal(usignal(i-1),wsignal(i),lambda);
end
end

% Archivo unwrap2D.m
function [imgUnwrap] = unwrap2D(imgWrap,lambda)
%UNWRAP2D desenvolvimiento de una seal bidimensional.
% [imgUnwrap] = unwrap2D(imgWrap,lambda)
% -imgWrap seal 2D con fase envuelta.
% -lambda es el valor de penalizacin.
[m,n] = size(imgWrap);
tmpUnwrap = convertZigZag(imgWrap,[m,n],'vec');
tmpUnwrap = unwrap1D(tmpUnwrap,lambda);
ImgUnwrap = convertZigZag(tmpUnwrap,[m,n],'mat');
end

% Archivo unwrap2D.m
function [S] = convertZigZag(signal,dim,opcion)
%CONVERTZIGZAG convertir una imagen a trayecto zigzag y viceversa
% de acuerdo con opcion
% [S] = convertZigZag(signal,dim,opcion)
% -signal seal a convertir 1D<->opcin= 'mat'
% o 2D<->opcin='vec'.
% -dim arreglo bidimensional tal que dim=[m,n].
% -opcion convertir matriz a vector: 'vec', en caso
% opuesto 'mat'.
m = dim(1);
n = dim(2);
switch opcion
case 'vec' % convertir la matriz a un vector
S = zeros(m*n,1);
for i=1:2:m
ind = (i-1)*n;
S(ind+1:ind+n) = signal(i,:);
end
for i=2:2:m
ind = (i-1)*n;
S(ind+1:ind+n) = signal(i,n:-1:1);
end
case 'mat' % convertir el vector a matriz (proceso inverso)
S = zeros(m,n);
for i=1:2:m
ind = (i-1)*n;
S(i,:) = signal(ind+1:ind+n);
end
for i=2:2:m
ind = (i-1)*n;
S(i,n:-1:1) = signal(ind+1:ind+n);
end
otherwise
S = false;

Sotero Ordoes Nogales Reporte Interferometra Digital |20


(a) (b) (c)

de Itoh, (c) fase desenvuelta con el mtodo de Euler penalizado con = 0.4.
Figura 18: Desenvolvimiento de fase, (a) mapa de fase envuelta, (b) fase desenvuelta con el mtodo

end
end

Los resultados se muestran en la Figura 18, la funcin de fase es una gaussiana

algoritmo de Itoh falla al detectar un cambio de direccin 2 falso. En este sentido,


con ruido blanco de media cero y varianza 0.08. Se observa que debido al ruido el

la penalizacin del mtodo de Euler filtra el ruido y la fase desenvuelta es significa-


tivamente ms fiable.
Como se mencion anteriormente, el desenvolvimiento de fase, como un pro-
ceso dependiente de la ruta, requiere que la direccin de integracin est en funcin
de la fiabilidad de los datos, es decir, aquellos valores cuya relacin seal a ruido sea
mayor. En este sentido, el algoritmo floodFill cuya direccin est gobernada por un
mapa de calidad fue propuesto por Asundi y Wensel [11] para el desenvolvimiento
de fase. A continuacin se muestra el algoritmo:
mYI , ,
Si y = 0 entonces
1

r1 "/" , , .
2

1.
3

=p + 1, ?, =p , + 1?, =p 1, ?, =p , 1?.
4

Mientras no sea vaca hacer


5

.
6

mYI , , .
7
8
9 Fin Mientras
10 Fin Si
11 Fin
donde 0 , son las coordenadas de la posicin a desenvolver y las del desenvolvi-
miento previo y el valor es la penalizacin de la derivada, es el grid sobre el cual
est definido la fase, es decir, , , son el mapa de fidelidad y la mscara
de coordenadas: 1 si est desenvuelto o 0 en caso contrario. La variable es una
Sotero Ordoes Nogales Reporte Interferometra Digital |21
Figura 19: Desenvolvimiento de fase con Figura 20: Capturas del desenvolvimiento con flood-
floodFill y mapa de fidelidad. Fill de la Figura 17(c).

ordenados. La funcin extrae las coordenadas en del primer elemento. En


lista ordenada en forma descendente; evidentemente en la lnea 5 los valores son

la Figura 19 se muestra un ejemplo de la ruta de floodFill con el mapa de fidelidad


mostrado.
En general, la ruta de desenvolvimiento generada por floodFill permite una
mejor estimacin de la fase que la ruta de zigzag. En la Figura 20 se muestran seis
capturas del desenvolvimiento de la fase de la pirmide estimada con el mtodo de
Fourier, se utiliz la seal moduladora como mapa de fidelidad.

5. Normalizacin
El proceso de normalizacin de franjas tiene por objetivo eliminar la seal
moduladora. En la Figura 14 se muestra un caso prctico donde la seal moduladora
est en funcin tanto de las variables espaciales como temporales y que es descrito
en la Eq. (18). El mtodo descrito en el presente trabajo fue propuesto por Quiroga
y Servn [12], se considera un patrn de franjas de la forma,
" $ cos (39)
donde " es el trmino de DC o intensidad de fondo, $ es el contraste de franjas,
es la funcin de fase y es el vector de posicin espacial. Sea es un interfe-
rograma tal que el trmino de DC fue eliminado mediante un filtro pasa-altas,

$ cos 3- (40)
Considerando el operador espiral de fase cuya Funcin de Transferencia Fre-
cuencial (FTF) est determinada como,

Sotero Ordoes Nogales Reporte Interferometra Digital |22


r + I
r, = = exp IN r,
|r + I|
(41)

El operador anterior es empleado para estimar la cuadratura de , tal que,


=
1
= $ # exp I
2
(42)
# + exp I exp IO
donde O = arctan r. Entonces, en el dominio espacial tenemos que,
= exp IO sin
1
= ) $ # exp I
2 (43)
# + exp I exp IO

Tomando la magnitud de la transformacin de bajo , se obtiene la cuadratura


del patrn de franjas, esto es,
| | = |I exp IO sin |=$ |sin | (44)
Finalmente, el patrn de franjas es normalizado mediante,

0 = cos l (45)
donde la fase es determinada,
l = Arg + I| | (46)
As el patrn de franjas es normalizado y, 0 1,1 .
La funcin implementada en Matlab del mtodo descrito anteriormente se muestra
a continuacin. Nota: el argumento I es un interferograma sin el trmino de DC.

% Archivo normalizar.m
function [In] = normalizar(I)
[m,n] = size(I);
[v,u] = meshgrid(-m/2:m/2-1,-n/2:n/2-1);
FI = fftshift(fft2(I));
betha = atan2(v,u);
betha = betha';
S = ifft2(fftshift(FI.*exp(1i*betha)));
arg = angle(I+1i*abs(S));
In =0.5*(cos(arg) + 1);
end

% Archivo ejemploNormalizar.m
%% crear un patron de franjas con perfil gaussiano
x = 1:256;
y = x;
[X,Y] = meshgrid(x,y);

Sotero Ordoes Nogales Reporte Interferometra Digital |23


(a) (b)

(c)

Figura 21: Normalizacin de un patrn de franjas sinttico con el algoritmo [12], (a) patrn de
franjas con moduladora, (b) patrn de franjas normalizado, (c) comparacin de los valores de
intensidad del patrn normalizado y el no-normalizado.

phi = 0.001*((X-127).^2 +(Y-127).^2);


b = exp(-4.*(((X-127).^2+(Y-127).^2)./1e5));
I = b.*cos(phi);

%% Normalizar patrn de franjas


In = normalizar(I);

%% Graficar
subplot(2,2,1),imagesc(I) % Interferograma
colormap gray, axis equal
axis off, title('I_\alpha(r)')

subplot(2,2,2),plot(I(128,:),'r-') % Perfil del interferograma


axis([1 256 min(I(128,:)) max(I(128,:))])
title('I_\alpha(128,y)')
xlabel('Pixeles'), ylabel('Amplitud')

subplot(2,2,3),imagesc(In) % Interferograma normalizado


colormap gray, axis equal
axis off, title('I_n(x,y)')

subplot(2,2,3),imagesc(In) % Perfil interferograma norm


subplot(2,2,4),plot(In(128,:),'r-')
axis([1 256 min(In(128,:)) max(In(128,:))])
title('I_n(128,y)')
xlabel('Pixeles'), ylabel('Amplitud')

El resultado del cdigo anterior se muestra en la Figura 21 se muestra el


resultado del proceso de normalizacin. Donde se observa la normalizacin de un
patrn sinttico.

Sotero Ordoes Nogales Reporte Interferometra Digital |24


Figura 22: Configuracin de co-faseo para perfilometra con dos perspectivas de proyeccin.

6. Co-Faseo
El mtodo de perfilometra por co-faseo tiene por objetivo reducir la prdida
de informacin debido a sombras que origina una perspectiva de proyeccin. En la

se observa que la pupila de la CCD (k ) es ortogonal al plano , la distancia del


Figura 22 se muestra la configuracin de co-faseo con dos perspectivas de proyeccin,

punto a las pupilas de los proyectores es la misma, }}}}}


= }}}}}
F , el ngulo del rayo
principal de las proyecciones con respecto al plano YZ es . Cabe mencionar que la
distancia }}}}} }}}}}
k puede ser distinta a como se muestra en la Figura citada.
El mtodo propuesto por Servn et al. [12] que se describe a continuacin,
recordando el modelo matemtico de un patrn de franjas expresado como,
=" +$ cos (45)
donde " es la iluminacin de fondo, $ el contraste de franjas, el corrimiento
temporal de fase y la funcin de fase buscada. En proyeccin de franjas por
cuestin de sensibilidad se agrega un portadora espacial tal que,
" $ cos / (46)
Adems, dado que los rayos principales de la CCD y del proyector son cruzados,
entonces: en el punto de observacin de la cmara se agrega una portadora espacial
relacionada con el ngulo entre las pupilas de la CCD y el proyector, entonces,
" $ cos / (47)
donde sin y es la frecuencia espacial en radianes por pixel.
Con las consideraciones anteriores se define el conjunto de interferogramas
para cada perspectiva de proyeccin:
,1 " $ cos / 1 ; 1,2, ,4 (48)

F ,1 " $ cos F /F 1 ; 1,2, ,4 (49)

Sotero Ordoes Nogales Reporte Interferometra Digital |25


En las Eqs. (48-49) se observa que se emplean 8 patrones de franjas. Aplicando el
mtodo de cuatro pasos de la Eq. (10) se obtiene (respectivamente),
% & c' E @k E
= ,0 + , 1 % &>A + , 2 % )&F>A + , 3 % )&;>A (50)

% & c' E @k E
= F ,0 + F , 1 % &>A + F , 2 % )&F>A + F , 3 % )&;>A (51)

= F = 0. Finalmente,
En las ecuaciones anteriores se observa la necesidad de eliminar la portadora. Para
ello considere el procedimiento de las Eqs. (48-52) tal que
la seal analtica de cada proyeccin queda determinada como:
% &c' E
=Z % & c' E @k E
[% )&k E
(52)

% &c' E
=Z % & c' E @k E
[% )&k E
(53)
As la fase estar determinada como:
% & E
= % )&k E
+ F % &k E
(54)
donde , F son las seales analticas de la proyeccin 1 y dos, respectivamente.

determinar la seal analtica tal que la fase sea negativa (ver Figura 1) se requiere
En la Eq. (54) se muestra la suma de las fases positiva y negativa. Por lo tanto, para

un algoritmo que recupere la componente negativa, para la otra seal analtica se


emplea el algoritmo de cuatro pasos mencionado anteriormente.
En la prctica es difcil conseguir un empalme de franjas (de ambas proyec-
ciones), entonces, un trmino de pistn distinto es agregado a las Eqs. (52-53) el cual
debe ser corregido. A continuacin se muestra el script de Matlab desarrollado.

%% Estimar la fase de la proyeccin 1 (fase postiva)


% Cargar datos
dI0 = im2double(imread('proy1_o_i0.png')); % Patrones con objeto
dI1 = im2double(imread('proy1_o_i1.png'));
dI2 = im2double(imread('proy1_o_i2.png'));
dI3 = im2double(imread('proy1_o_i3.png'));
rdI0 = im2double(imread('proy1_c_i0.png')); % Patrones con portadora
rdI1 = im2double(imread('proy1_c_i1.png'));
rdI2 = im2double(imread('proy1_c_i2.png'));
rdI3 = im2double(imread('proy1_c_i3.png'));
% Estimar seal analtica
A_s1 = dI0 1i*dI1 dI2 + 1i*dI3; % objeto + portadora
A_c1 = rdI0 1i*rdI1 rdI2 + 1i*rdI3; % portadora
% Estimar fase
c1 = angle(A_c1); % estimar portadora
phi_1 = angle(A_s1.*exp(-1i*c1)); % estimar fase del obj

%% Estimar la fase de la proyeccin 2 (fase negativa)


% Cargar datos
iI0 = im2double(imread('proy2_o_i0.png')); % Patrones con objeto
iI1 = im2double(imread('proy2_o_i1.png'));
iI2 = im2double(imread('proy2_o_i2.png'));
Sotero Ordoes Nogales Reporte Interferometra Digital |26
(a) (b) (c) (d)

(e) (f) (g) (h)

Figura 23: Co-faseo con dos perspectivas de proyeccin y cuatro patrones en cada perspectiva: (a)-
(d) patrones con objeto y de referencias con perspectiva derecha a izquierda respectivamente, (e)-
(f) fases estimadas desde la derecha y desde la izquierda, (g) fase del objeto por co-faseo (suma de
fases) y (h) la fase de co-faseo desenvuelta.
iI3 = im2double(imread('proy2_o_i3.png'));
riI0 = im2double(imread('proy2_c_i0.png')); % Patrones con portadora
riI1 = im2double(imread('proy2_c_i1.png'));
riI2 = im2double(imread('proy2_c_i2.png'));
riI3 = im2double(imread('proy2_c_i3.png'));
% Estimar seal analtica
A_s2 = dI0 + 1i*dI1 dI2 - 1i*dI3; % objeto + portadora
A_c2 = rdI0 + 1i*rdI1 rdI2 - 1i*rdI3; % portadora
% Estimar fase
c2 = angle(A_c2); % estimar portadora
phi_2 = angle(A_s2.*exp(1i*c2)); % estimar fase del obj
%% Realizar suma de fase
A_o = A_s1.exp(-1i*c1) + A_s2.exp(-1i*c2);
phi_o = angle(A_o);

%% Graficar
fig_proy1 = figure(); % fase proy 1
Imagesc(phi_1),colormap gray, axis equal
axis off, title('fase proyeccion 1')
fig_proy2 = figure(); % fase proy 2
Imagesc(phi_2),colormap gray, axis equal
axis off, title('fase proyeccion 2')
fig_objeto = figure(); % fase objeto cofaseado
Imagesc(phi_o),colormap gray, axis equal
axis off, title('fase objeto)

Los resultados se muestran en la Figura 23, se observa que el ruido de las


sobras de cada perspectiva se atena considerablemente en la fase de co-faseo, lo cual
es el objetivo del mtodo descrito anteriormente. En las Figuras 23(e-f) se observa el
problema del trmino de pistn originado por imprecisiones en la alineacin de la
instalacin experimental, entonces, el trmino debe ser corregido.

Sotero Ordoes Nogales Reporte Interferometra Digital |27


7. Conclusiones
En el presente reporte se realiza una revisin de los temas de interferometra
digital: demodulacin, desenvolvimiento, normalizacin y co-faseo. En especial se re-
vis el tema de demodulacin de interferogramas, en particular, las tcnicas de in-
terferometra por corrimiento de fase y el mtodo de transformada de Fourier. La
primera permite una estimacin con mayor resolucin en la fase estimada, mientras
que mtodo de Fourier permite una mayor velocidad de clculo. Considerando el
mtodo de proyeccin de franjas, cuando se proyectan patrones RGB es necesario
realizar una normalizacin para compensar la no-linealidad de los sensores. Si el
objeto bajo prueba genera sombras sobre reas que se desean medir, entonces, el
mtodo de co-faseo permitir reducir o inclusive eliminar la prdida de informacin
debido a las sombras. Por otro lado, el mtodo de desenvolvimiento que mejor desem-
peo es el floodFill con un valor de penalizacin de 0.35 para corrimiento de fase y
0.6 para mtodo de Fourier.

8. Referencias

[1] M. Servn, J. A. Quiroga and M. Padilla, Fringe pattern analysis for optical
metrology: theory, algorithms, and applications, John Wiley & Sons, 2014.
[2] J. H. Bruning, D. R. Herriott, J. E. Gallagher, D. P. Rosenfeld, A. D. White
and D. J. Brangaccio, "Digital wavefront measuring interferometer for testing
optical surfaces and lenses," Appl. Opt., vol. 13, no. 11, pp. 2693-2703, 1974.
[3] S. H. Rowe y W. T. Welford, Surface topography of non-optical surfaces by
proyected interference fringes, Nature, vol. 216, pp. 786-787, 1967.
[4] P. S. Huang, Q. Hu, F. Jin and F. P. Chiang, "Color-encoded digital fringe
proyection technique for high-speed tree-dimensional surface contouring," Opt.
Eng., vol. 38, no. 6, pp. 1065-1071, 1999.
[5] J. L. Flores, J. A. Ferrari, G. G. Torales, R. Legarga-Saenz and A. Silva, "Color-
fringe pattern profilometry using a generalized phase-shifting algorithm," Appl.
Opt., vol. 54, pp. 8827-8834, 2015.
[6] P. Jia, J. Kofman, C. English and A. Deslauriers, "Comparison of linear and
nonlinear calibration methods for phase-shifting surface-geometry measure-
ment," in Optomechatronic Technologies, 2005.
[7] M. Takeda, H. Ina y S. Kobayashi, Fourier-transform method of fringe-patter
analysis for computer-base topography and interferometry, Opt. Soc. Am., vol.
72, n 1, pp. 156-160, 1982.

Sotero Ordoes Nogales Reporte Interferometra Digital |28


[8] A. N. Tikhonov and V. I. Asernin, Solutions of ill-posed problems, Winston,
1997.
[9] K. Itoh, Analysis of the phase unwrapping algorithm, Appl. Opt., 1982.
[10] A. Asundi and Z. Wensen, "Fast phase-unwrapping algorithm based on a gray-
scale mask and flood fill," Appl. Opt., vol. 37, no. 23, pp. 5416-5420, 1998.
[11] J. A. Quiroga and M. Servn, "Isotropic n-dimensional fringe pattern normali-
zation," Opt. Commun., vol. 224, no. 4-6, pp. 221-227, 2003.
[12] M. Servn, G. Garnica, J. C. Estrada y A. Quiroga, Coherent digital demodu-
lation of single-camera N-projections for 3D-object shape measurement: Co-
phased profilometry, Opt. Express, vol. 21, n 21, pp. 24873-24878, 2013.

Sotero Ordoes Nogales Reporte Interferometra Digital |29

Вам также может понравиться