Examen Físico Particular del Sistema Nervioso.pptx
Interferometría digital
1. Centro de Investigaciones
en Óptica A.C.
Reporte Final de Estancia
Interferometría Digital
Presenta:
Ing. Sotero Ordoñes Nogales
Asesor:
Dr. Manuel Servín Guirado
León, Guanajuato, Junio 2016
2. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |1
Índice de contenido
1. Introducción......................................................................................... 2
2. Interferometría de corrimiento de fase ................................................. 3
Ejemplo 1 (Demodulación de patrones de franjas) .................................... 4
Ejemplo 2 (Robustez a ruido).................................................................... 6
Ejemplo 3 (Supresión de armónicos).......................................................... 8
Método de proyección de franjas ............................................................... 9
Ejemplo 4 (Rechazo de armónicos con datos experimentales) ..................11
Ejemplo 5 (Patrones RGB) ......................................................................13
3. Método de Fourier ..............................................................................14
Ejemplo 5 (MF con datos sintéticos):.......................................................15
Ejemplo 6 (MF con datos reales):.............................................................16
4. Desenvolvimiento de fase ....................................................................17
Desenvolvimiento por integración lineal ...................................................18
5. Normalización .....................................................................................22
6. Co-Faseo .............................................................................................25
7. Conclusiones .......................................................................................28
8. Referencias..........................................................................................28
3. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |2
1. Introducción
El humano por múltiples razones científicas e industriales tiene la necesidad
de utilizar instrumentos para medir propiedades físicas; 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 más precisos. De hecho, la óptica viene a
cubrir esa necesidad donde los métodos matemáticos tienen especial importancia.
En el sentido anterior, una aplicación de la óptica es la metrología topográfica
de superficies a escala microscópica. De hecho, la interferometría ó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 medición.
Los métodos matemáticos en interferometría óptica tienen por objetivo deter-
minar la diferencia de camino óptico contenido en la información de fase del patrón
de franjas obtenido en el experimento. En este sentido, se han desarrollado algoritmos
que permiten recuperar la información correspondiente a la medición a partir de los
interferogramas.
Un patrón de franjas es matemáticamente 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 posición espacial. De hecho, la infor-
mación 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 medición empleando interferome-
tría óptica consta de los siguientes cuatro pasos bien definidos:
1. La adquisición de datos: mediante un interferómetro, proyección de franjas,
etc.; en este proceso se obtienen los interferogramas.
2. Demodulación de interferogramas: mediante post-procesamiento en alguna
computadora digital o mediante un sistema puramente óptico.
3. Desenvolvimiento de fase: comúnmente el resultado del proceso de demodula-
ción es el mapa de fase discontinua en módulo 2 , por lo tanto, se requiere
desenvolver para que la función de fase sea continua.
4. Interpretación de datos: se convierte las unidades de fase a las unidades de la
medición que se realiza.
El presente reporte tiene por tema principal la demodulación. En este sentido, se
abordan las diversas técnicas que se han desarrollado para extraer la diferencia de
fase , que pueden ser agrupadas en aquellas que se basan en la Transformada de
4. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |3
Fourier y las basadas en el planteamiento de un sistema de ecuaciones que dan origen
a la interferometría de corrimiento de fase.
El resto del presente reporte tiene la siguiente estructura: en la sección 2 se
describe la técnica de interferometría de corrimiento de fase para la demodulación de
interferogramas. El método por transformada de Fourier para demodulación es des-
crito en la sección 3. En la sección 4 se describe el proceso de desenvolvimiento de
fase. En la sección 5 se aborda el tema de normalización de patrones de franjas. En
la sección 6 se describe el método de co-faseo. Finalmente, en la sección 7 se enlistan
las conclusiones principales.
2. Interferometría de corrimiento de fase
La técnica conocida como interferometría de corrimiento de fase (PSI, por sus
siglas en inglés) 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
incógnitas ( , , ), entonces se requiere de al menos tres ecuaciones tal que el
sistema formado por ellas sea consistente. Para ello se aplica un término de corri-
miento de fase nominal (conocido) a cada ecuación, entonces, un sistema con
ecuaciones queda expresado como,
= + cos + ; = 1, 2, … , (2)
Del sistema de ecuaciones anterior se determina la función de fase mediante un algo-
ritmo de tres o cuatro pasos ( = 3 o = 4, respectivamente) o algún método simi-
lar.
Con base en la formulación moderna de algoritmos para interferometría de
corrimiento de fase (PSA), la cual consiste en interpretar el método como un filtro
que al aplicarse al conjunto patrones !
permite estimar la función de fase
buscada, además es consistente con la teoría de sistemas lineales.
Considere la Transformada de Fourier de un patrón de franjas corrido en fase,
= "# +
$
2
%&'
# − +
$
2
%)&'
# + (3)
Cuyo gráfico se muestra en la Figura 1, donde el objetivo es conservar el término
$ 2⁄ %&'
# − . Sea ℎ , un filtro lineal que cumple con el criterio de cuadratura
[1]. Si se aplica el filtro al conjunto de interferogramas se tiene,
, ∗ ℎ , = . /0 , − 1
!)
0
(4)
donde ℎ , = ∑ /0# , − 1!)
0 , en forma equivalente y por propiedades del espacio
de Fourier se tiene,
5. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |4
3 =
$
2
3 %&'
# ( (5)
Si bien el soporte de , ∗ + , es , 2 ( 1, únicamente se considera el
resultado hasta , ( 1 para estimar la señal analítica, es decir,
$
2
3 %&'
, ∗ + , |5 !) (6)
lo anterior muestra la ecuación general para un PSA lineal [2]. Finalmente, la función
de fase buscada se determina como:
Arg , ∗ + , |5 !) Arg / !) ⋯ /!) (7)
donde Arg ⋅ es el argumento del número 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 Función 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 formulación general, el algoritmo de tres pasos para queda
determinado por,
;B ≔ %&'D E
( ( %&>A %&>A
F
G;B Arg ;B
(9)
Ejemplo 1 (Demodulación 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 matemáticas se
muestran a continuación,
HB ≔ %&'D E
( I ( F I ; ; /2
GHB Arg HB
(10)
KB ≔ %&'D E
( I2 ( 2 F I2 ; H ; /2
GKB Arg HB
(11)
Figura 1: Espectro de un patrón de franjas. Figura 2: FTF del método de tres pasos.
6. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |5
El siguiente código en Matlab® realiza la demodulación con los algoritmos
antes mencionados.
%% crear mapa de fase sintético
[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 señal analítica
phi_3s = angle(A_3s); % estimar función de fase
fig_A3s = figure();
imagesc(phi_3s),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 3 pasos omega_0=2pi/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 señal analítica
phi_4s = angle(A_4s); % estimar función 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 señal analítica
phi_5s = angle(A_5s); % estimar función 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');
Figura 3: FTF del método de cuatro pasos. Figura 4: FTF del método de cinco pasos ro-
busto a error de detuning.
7. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |6
Los resultados obtenidos se muestran en la Figura 7, donde se observa que la
función de fase estimada con los diferentes algoritmos es equivalente. Sin embargo,
los patrones de franjas capturados presentan ruido relacionado intrínsecamente con
el experimento, además, 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 método de seis pasos propuesto por Bruning et al. [3] que es caracterizado como,
3LB = M=1 ( %& 0>A ?
H
0
(12)
Realizando la convolución con los datos y tomando la Transformada Inversa de Fou-
rier del resultado se obtiene la expresión del algoritmo (cuya FTF se muestra en la
Figura 5),
LB ≔ %&'D E
( N ( N F ( F N ; ( O ; N H
O K ; 2 6⁄ , N (1 F ;⁄
, O (1 ;⁄
(13)
Figura 5: FTF del algoritmo de seis pasos.
Figura 6: Patrón de franjas base con ruido
gaussiano de fase Q 0 y S 0.1.
(a) (b) (c) (d)
Figura 7. Resultados del ejemplo 1, (a) patrón de franjas base, (b)-(d) las funciones de fase estima-
das con cada algoritmo: ;B , HB y KB , respectivamente.
8. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |7
GLB = Arg LB
A continuación se muestra el script de Matlab para el ejemplo en cuestión,
%% crear mapa de fase sintético
[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 señal analítica
phi_6s = angle(A_6s); % estimar función de fase
fig_A6s = figure();
imagesc(phi_6s),colormap gray, axis equal, axis off,
title('Fase estimada algoritmo de 6 pasos omega_0=2pi/6');
Los resultados se muestran en la Figura 8, donde se observa que el algoritmo
de seis pasos atenúa considerablemente el ruido de fase que el método de tres pasos.
Cabe mencionar, que ambos algoritmos (tres y seis pasos) están basados en el método
de los mínimos cuadrados, entonces, las funciones de fase estimadas (Figura 8) son
la mejor solución en el sentido de mínimos cuadrados. Esto implica, que la mayor
cantidad de información redundante del algoritmo de seis pasos permite una mejor
estimación a la fase real.
Una figura de mérito empleada para indicar la robustez al ruido es la ganancia
de la relación señal a ruido (UV !⁄ ) que está determinada como,
UV !⁄ =
|3 |F
1
2 W 3 3∗X
)X
Y
(14)
(a) (b)
Figura 8: Comparación de robustez a ruido dos algoritmos: tres y cuatro pasos, (a) fase recuperada
con tres pasos ;< , (b) fase estimada con seis pasos L< .
9. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |8
donde el 3∗
es el complejo conjugado [2]. Con base en la ecuación anterior la
ganancia de los algoritmos (de este ejemplo) son 3 y 6 respectivamente. Evidente-
mente la ecuación anterior nos permite determinar el valor tal que su UV !⁄ sea
máxima.
Ejemplo 3 (Supresión de armónicos)
Este ejercicio muestra la robustez de un algoritmo a la presencia de armónicos.
Se emplean el algoritmo de cuatro pasos descrito anteriormente y el siguiente:
3 Z1 ( %&>
[
F
Z1 ( %& >@>A [; 2⁄ (15)
Tomando la transformada inversa de Fourier de los filtros anteriores aplicados a los
datos se obtienen los algoritmos,
HB
≔ %&'D E
( 2 ( %&>A
F 2%&>A
F ( ;
GHB
ArgZ HB
[
(16)
En la Figura 9 se muestra la respuesta a amónicos de los métodos en cuestión.
Se observa que el algoritmo [3] es afectado por los armónicos [-7,-3,5,9]; los cuales no
son deseados. Por su parte, el método [2] es afectado por los armónicos [-10,-7-6,-3,-
2,5,6,9,10]; entonces éste último es más robusto a armónicos.
A continuación se muestra el script de Matlab para el ejemplo en cuestión,
%% 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'));
(a)
(b)
Figura 9: Respuesta de los algoritmo a la presencia de armónicos, (a) respuesta a armónicos del
algoritmo [3] y (b) respuesta a armónicos del algoritmo propuesto en [2].
10. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |9
I3 = im2double(imread('I3.bmp'));
A_4s_a = I0 – 2*I1 – exp(1i*w0)*I1 + I2 ...
+ 2*exp(1i*w0)*I2 – I3; % estimar señal analítica
phi_4s_a = angle(A_4s_a); % estimar función 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 10 se muestra la estimación de los algoritmos mencionados, se
observa que la estimación GH<]
no contiene las componentes de baja frecuencia lo
cual es debido que a las características del método 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 términos de pistón son distintos y se han
filtrado algunas componentes de baja frecuencia deseadas [Figura 10(c)].
En la siguiente sección se describe el método de proyección de franjas em-
pleado para la adquisición de datos experimentales. Los datos son empleados para
ejemplos experimentales mostrados más adelante.
Método de proyección 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 tecnológicos, surge la proyección digital de franjas (DFP, por sus siglas
en inglés) en la cual los patrones son generados digitalmente. La principal ventaja de
(a) (b) (c)
(d)
Figura 10: Eliminación de armónicos, (a) patrón de franjas base, (b) fase estimada GH< y (c) fase
estimada GH<]
.
11. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |2
1. Introducción
El humano por múltiples razones científicas e industriales tiene la necesidad
de utilizar instrumentos para medir propiedades físicas; 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 más precisos. De hecho, la óptica viene a
cubrir esa necesidad donde los métodos matemáticos tienen especial importancia.
En el sentido anterior, una aplicación de la óptica es la metrología topográfica
de superficies a escala microscópica. De hecho, la interferometría ó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 medición.
Los métodos matemáticos en interferometría óptica tienen por objetivo deter-
minar la diferencia de camino óptico contenido en la información de fase del patrón
de franjas obtenido en el experimento. En este sentido, se han desarrollado algoritmos
que permiten recuperar la información correspondiente a la medición a partir de los
interferogramas.
Un patrón de franjas es matemáticamente 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 posición espacial. De hecho, la infor-
mación 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 medición empleando interferome-
tría óptica consta de los siguientes cuatro pasos bien definidos:
1. La adquisición de datos: mediante un interferómetro, proyección de franjas,
etc.; en este proceso se obtienen los interferogramas.
2. Demodulación de interferogramas: mediante post-procesamiento en alguna
computadora digital o mediante un sistema puramente óptico.
3. Desenvolvimiento de fase: comúnmente el resultado del proceso de demodula-
ción es el mapa de fase discontinua en módulo 2 , por lo tanto, se requiere
desenvolver para que la función de fase sea continua.
4. Interpretación de datos: se convierte las unidades de fase a las unidades de la
medición que se realiza.
El presente reporte tiene por tema principal la demodulación. En este sentido, se
abordan las diversas técnicas que se han desarrollado para extraer la diferencia de
fase , que pueden ser agrupadas en aquellas que se basan en la Transformada de
12. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |11
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 patrón
del canal verde en el canal rojo, el canal azul al verde y el canal verde al azul [6].
Además, en las Eqs. (18) se observa que los valores de fase nominal son afectados
por un valor Δ .
En la Figura 11 se muestra una configuración típica para el método de pro-
yección de franjas, donde el eje óptico del proyector y la CCD se encuentran en el
mismo plano y es paralelo al plano de referencia, el cual está situado a una distancia
Y de las pupilas del proyecto y de la CCD. El objeto bajo prueba es colocado en el
plano de referencia hacia la CCD. Con estas consideraciones y basados en el dia-
grama; la altura del objeto es determinada como
Δf =
ghℎ
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 calibración
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 resolución.
En el presente reporte se emplea el método de proyección de franjas con la
configuración mostrada en la Figura 11 en la captura de datos experimentales.
Ejemplo 4 (Rechazo de armónicos con datos experimentales)
Este ejemplo es continuación del 3, ahora se emplean patrones de franjas ex-
perimentales. Los patrones de franjas capturados se muestran en la Figura 12, los
cuales son corridos en fase por un término de = 2 /4.
La función de fase de los patrones de la Figura 12(b) es la señal 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,
HBj ≔ %&Z'D E @k E [
= − I − F + I ; ; = /2 (21)
13. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |12
Por lo tanto, es necesario eliminar la señal portadora. Para ello se estima el valor de
la portadora haciendo = 0 [en la Eq. (20)] y resolvemos con el mismo algoritmo
como sigue,
Hj ≔ %&k E
= − I − F + I ; ; = /2
/ = Arg Hj
(22)
Entonces, la fase del objeto estará determinada como,
HB ≔ %&'D E
= HBj %)&k E
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 señal analítica
cA_4s = rI0 – 1i*rI1 – rI2 + 1i*rI3;
c = angle(cA_4s); % estimar señal portadora
phi_4s = angle(oA_4s.*exp(-1i*c)); % estimar función de fase
fig_A4s = figure();
imagesc(phi_4s),colormap gray, axis equal, axis off,
(a)
(b)
Figura 12: Patrones de intensidad para perfilometría de una pirámide con corrimientos = 2 /4,
(a) los patrones de franjas con el objeto y (b) los patrones de referencia.
14. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |13
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 señal analítica
cA_4s_a = rI0 – 2*rI1 – exp(1i*w0)*rI1 + rI2 ...
+ 2*exp(1i*w0)*rI2 – rI3;
c = angle(cA_4s_a); % estimar señal portadora
phi_4s_a = angle(oA_4s_a.*exp(-1i*c)); % estimar función 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, además se agrega
los mapas de fase desenvuelta de ambos algoritmos. En la Figura 13(e) se comparan
los perfiles de fase estimadas con cada algoritmo, se observa que el mapa de
fase GHB tiene menor contribución de armónicos en comparación con GHB
, este
último presenta una contribución importante del segundo armónico lo cual se debe a
que el método no elimina dicho armónico [ver Figura 9(b)].
Ejemplo 5 (Patrones RGB)
En este ejemplo se proyecta un patrón RGB tal como fue descrito en el apar-
tado de proyección de franjas. Cada interferograma es corrido en fase nominal por
= 2 /3 y en este sentido se utilizó el algoritmo de tres pasos cuya FTF se muestra
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 señal moduladora
(a) (b) (c) (d)
(e)
Figura 13: Eliminación de armónicos con datos reales, (a) fase estimada GHB con el algoritmo de
cuatro pasos [3], (b) fase estimada GHB
con el algoritmo de Servín et al. [2], (c) fase desenvuelta
lHB calculada con el primer método y (d) la fase desenvuelta estimada lHB
con el segundo
algoritmo. En (e) se compara las fases estimadas de los algoritmos.
15. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |14
[$ ] está en función del patrón de franjas como consecuencia de la respuesta fre-
cuencial de los sensores de la CCD y, además, el corrimiento de cada canal es
afectado en un término Δ [ver Figura 14(d)].
3. Método de Fourier
El método introducido por Takeda et al. [8], basado en la transformada de
Fourier consiste en extraer el espectro correspondiente a . La idea fundamental
del método es la de introducir una frecuencia portadora m , entonces, la representa-
ción matemática de un patrón de franjas, con esas consideraciones, queda determi-
nada como,
" $ cos 2 m _ (24)
donde la frecuencia portadora es en la dirección _. Haciendo / $ 2⁄ %&' E
,
podemos representar la Eq. (24) en su forma compleja,
" / %&FnoAp
/∗
%)&FnoAp
(25)
donde /∗
%)FnoAp
denota el complejo conjugado. La transformada de Fourier de la
ecuación anterior con respecto de _, está determinada por,
qp r, ` s r ( m , ` s∗
r m , ` (26)
donde las letras mayúsculas 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)
(a) (b) (c)
(d)
Figura 14: Demodulación de patrones RGB, (a) patrón de franjas con objetos, (b) patrón de refe-
rencia, (c) fase estimada G;B y (d) perfil del patrón de referencia.
16. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |15
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 función de
fase busca es determinada por,
G atan w
Im /
Re /
| (28)
donde Re ⋅ , Im ⋅ representan la parte real e imaginaria del argumento.
La principal fuente de error del método por transformada de Fourier es la
pérdida de energía que ocurre durante la etapa de filtrado. En este sentido, se em-
plean ventanas de Hamming y de Han para evitar la pérdida de la energía.
La diferencia principal de demodular con transformada de Fourier (con res-
pecto de PSI) es que se requiere únicamente un patrón de franjas. Sin embargo, el
método requiere que la señal portadora “separe lo suficiente” los espectros para poder
filtrar adecuadamente. A continuación se realizan dos ejemplos con el método tra-
tado.
Ejemplo 5 (MF con datos sintéticos):
Este ejemplo muestra el procedimiento para demodular un patrón de franjas
empleando el método por transformada de Fourier. Para ello, se generó un patrón
con una portadora lineal y una gaussiana centrada como mapa de fase.
A continuación se muestra el script en Matalb® escrito para este ejemplo.
%% Establecimiento de datos sintéticos
N = 256; % dimensión 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 patrón
%% 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); % Diseño del filtro
Filtro = double(r < w_f);
I_filtrada = FI.*Filtro; % Filtrado
Figura 15: Esquema del método de Fourier para la demodulación de un patrón de franjas.
17. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |16
A_signal = ifft2(I_filtrada).* ... % Estimar señal analítica
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 patrón de franjas
con datos reales empleando el método por transformada de Fourier, en particular se
emplea el patrón correspondiente a la pirámide como se muestra en la Figura 17.
A continuación se muestra el script en Matalb® escrito para este ejemplo.
%% Establecimiento de datos sintéticos
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 patrón
%% Método de Fourier
FI = fft2(I.*exp(1i*pi* ...
(i+j)).*exp(-1i*u)); % coef. FT + fftshift
(a) (b) (c)
Figura 16: Proceso para demodulación de fase mediante el Método de Fourier: (a) patrón de inten-
sidad, (b) proceso de filtrado en el dominio de Fourier y (c) mapa de fase determinado.
18. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |17
r = sqrt((i-0.5*N).^2 + (j-0.5*N).^2); % Diseño del filtro
Filtro = double(r < w_f);
I_filtrada = FI.*Filtro; % Filtrado
A_signal = ifft2(I_filtrada).* ... % Estimar señal analítica
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 estimación que la segunda y esto se debe
principalmente a la cantidad de datos para cada estimación. Por ello, el método de
Fourier es utilizado para medir fenómenos u objetos en movimiento, mientras que
PSI se emplea cuando se requiere mayor precisión en la medición.
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 _ ± 2 Round w
G _
2
| (29)
donde Round ∶ ℝ ⟶ ℤ, es la función que redondea su argumento al entero más cer-
cano, } es el mapa de fase desenvuelto, G es la fase envuelta y ~ es el operador de
(a) (b) (c)
Figura 17: Proceso demodulación con el Método de Fourier con datos reales: (a) patrón de intensi-
dad, (b) proceso de filtrado en el dominio de Fourier y (c) mapa de fase determinado.
19. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |18
envolvimiento tal que ~ _ ∈ − , . Cabe mencionar que el operador ~ es sobre-
yectivo pero no inyectivo. Por lo tanto, el desenvolvimiento de fase es un problema
matemáticamente mal planteado en el sentido de Hadamard [9]. Sin embargo, el
valor _ es dependiente espacial y/o temporalmente, entonces, el contexto propor-
ciona la información necesariamente para poder realizar el desenvolvimiento.
Desenvolvimiento por integración lineal
El método inicialmente propuesto por Itoh [10] consiste en desenvolver la fase
progresivamente. Rescribiendo la Eq. (29) como sigue,
} = G ± 2 _ (30)
Tomando la derivada discreta (‡ ⋅ ) de la ecuación 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 expresión 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 función de fase desenvuelta es determinada como sigue,
} _ = G 0 + . ~ Š‡ } 1 ‹
p)
0
(33)
Para lo cual se asumió que el patrón de franjas cumple con el Teorema de
Nyquist. Es conocido que el método de Itoh es sensible a la presencia de ruido, sin
embargo, establece el fundamento para métodos prácticos. En este sentido, se des-
cribe una variante (del algoritmo de Itoh) con un buen desempeño 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 parámetro Œ es el criterio para filtrar el ruido.
20. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |19
El método descrito en la Eq. (36) plantea el desenvolvimiento de fase como
un problema de valor inicial y utiliza el método de Euler para integrar progresiva-
mente la fase y el término Œ penaliza la derivada, por ende está relacionado intrínse-
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 método 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,
atan2 `, _ ≔
•
‘
‘
‘
’
‘
‘
‘
“ atan ”
`
_
• , _ > 0
2
− atan —
_
`
˜ , ` > 0
−
2
− atan —
_
`
˜ , ` < 0
atan ”
`
_
• ± , _ < 0
indefinido, _ = 0, ` = 0
(38)
En general, el desenvolvimiento en 2D requiere de una ruta de integración
como lo sugiere el método de Itoh. Para ello, en el presente reporte se elige una ruta
de zigzag del grid. A continuación se muestra el código de Matlab® escrito para
realizar el desenvolvimiento de fase. Debido a la similitud de los métodos descritos
no se muestra el método de Itoh.
% Archivo unwrapLocal.m
function [phi] = unwrapLocal(phia,phiw,lambda)
%UNWRAPLOCAL desenvolvimiento de un pixel con el método 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 penalización
deriv = phiw - phia;
phi = phia + lambda*atan2(sin(deriv),cos(deriv));
end
% Archivo unwrap1D.m
function [usignal] = unwrap1D(wsignal,lambda)
%UNWRAP1D desenvolvimiento de una señal unidimensional.
% [usignal] = unwrap1D(wsignal,lambda)
% -wsignal señal 2D con fase envuelta.
% -lambda es el valor de penalización.
21. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |3
Fourier y las basadas en el planteamiento de un sistema de ecuaciones que dan origen
a la interferometría de corrimiento de fase.
El resto del presente reporte tiene la siguiente estructura: en la sección 2 se
describe la técnica de interferometría de corrimiento de fase para la demodulación de
interferogramas. El método por transformada de Fourier para demodulación es des-
crito en la sección 3. En la sección 4 se describe el proceso de desenvolvimiento de
fase. En la sección 5 se aborda el tema de normalización de patrones de franjas. En
la sección 6 se describe el método de co-faseo. Finalmente, en la sección 7 se enlistan
las conclusiones principales.
2. Interferometría de corrimiento de fase
La técnica conocida como interferometría de corrimiento de fase (PSI, por sus
siglas en inglés) 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
incógnitas ( , , ), entonces se requiere de al menos tres ecuaciones tal que el
sistema formado por ellas sea consistente. Para ello se aplica un término de corri-
miento de fase nominal (conocido) a cada ecuación, entonces, un sistema con
ecuaciones queda expresado como,
= + cos + ; = 1, 2, … , (2)
Del sistema de ecuaciones anterior se determina la función de fase mediante un algo-
ritmo de tres o cuatro pasos ( = 3 o = 4, respectivamente) o algún método simi-
lar.
Con base en la formulación moderna de algoritmos para interferometría de
corrimiento de fase (PSA), la cual consiste en interpretar el método como un filtro
que al aplicarse al conjunto patrones !
permite estimar la función de fase
buscada, además es consistente con la teoría de sistemas lineales.
Considere la Transformada de Fourier de un patrón de franjas corrido en fase,
= "# +
$
2
%&'
# − +
$
2
%)&'
# + (3)
Cuyo gráfico se muestra en la Figura 1, donde el objetivo es conservar el término
$ 2⁄ %&'
# − . Sea ℎ , un filtro lineal que cumple con el criterio de cuadratura
[1]. Si se aplica el filtro al conjunto de interferogramas se tiene,
, ∗ ℎ , = . /0 , − 1
!)
0
(4)
donde ℎ , = ∑ /0# , − 1!)
0 , en forma equivalente y por propiedades del espacio
de Fourier se tiene,
23. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |22
lista ordenada en forma descendente; evidentemente en la línea 5 los valores son
ordenados. La función ¥œ¥ ⋅ extrae las coordenadas en Ω del primer elemento. En
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 estimación de la fase que la ruta de zigzag. En la Figura 20 se muestran seis
capturas del desenvolvimiento de la fase de la pirámide estimada con el método de
Fourier, se utilizó la señal moduladora como mapa de fidelidad.
5. Normalización
El proceso de normalización de franjas tiene por objetivo eliminar la señal
moduladora. En la Figura 14 se muestra un caso práctico donde la señal moduladora
está en función tanto de las variables espaciales como temporales y que es descrito
en la Eq. (18). El método descrito en el presente trabajo fue propuesto por Quiroga
y Servín [12], se considera un patrón de franjas de la forma,
" $ cos (39)
donde " es el término de DC o intensidad de fondo, $ es el contraste de franjas,
es la función de fase y es el vector de posición espacial. Sea ¬ es un interfe-
rograma tal que el término de DC fue eliminado mediante un filtro pasa-altas,
¬ $ cos 3-® (40)
Considerando el operador espiral de fase cuya Función de Transferencia Fre-
cuencial (FTF) está determinada como,
Figura 19: Desenvolvimiento de fase con
floodFill y mapa de fidelidad.
Figura 20: Capturas del desenvolvimiento con flood-
Fill de la Figura 17(c).
24. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |23
¯ r, ° =
r + I°
|r + I°|
= exp IN r, ° (41)
El operador anterior es empleado para estimar la cuadratura de ¬, tal que,
ℱ ¯ ¬ = ℱ ¬ ¯ ³
=
1
2
$ # ³ − ³ exp I ³
− # ³ + ³ exp −I ³ exp IO ³
(42)
donde O ³ = arctan r °⁄ . Entonces, en el dominio espacial tenemos que,
¯ ¬ = exp IO sin
= ℱ)
´
1
2
$ # ³ − ³ exp I ³
− # ³ + ³ exp −I ³ exp IO ³ µ
(43)
Tomando la magnitud de la transformación de ¬ bajo ¯, se obtiene la cuadratura
del patrón de franjas, esto es,
|¯ ¬ | = |I exp IO sin | = $ |sin | (44)
Finalmente, el patrón de franjas es normalizado mediante,
0 = cos l (45)
donde la fase es determinada,
l = Arg ¬ + I|¯ ¬ | (46)
Así el patrón de franjas ¬ es normalizado y, 0 ∈ −1,1 .
La función implementada en Matlab® del método descrito anteriormente se muestra
a continuación. Nota: el argumento I es un interferograma sin el término 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);
25. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |24
phi = 0.001*((X-127).^2 +(Y-127).^2);
b = exp(-4.*(((X-127).^2+(Y-127).^2)./1e5));
I = b.*cos(phi);
%% Normalizar patrón 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 código anterior se muestra en la Figura 21 se muestra el
resultado del proceso de normalización. Donde se observa la normalización de un
patrón sintético.
(a) (b)
(c)
Figura 21: Normalización de un patrón de franjas sintético con el algoritmo [12], (a) patrón de
franjas con moduladora, (b) patrón de franjas normalizado, (c) comparación de los valores de
intensidad del patrón normalizado y el no-normalizado.
26. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |4
3 =
$
2
3 %&'
# ( (5)
Si bien el soporte de , ∗ + , es , 2 ( 1, únicamente se considera el
resultado hasta , ( 1 para estimar la señal analítica, es decir,
$
2
3 %&'
, ∗ + , |5 !) (6)
lo anterior muestra la ecuación general para un PSA lineal [2]. Finalmente, la función
de fase buscada se determina como:
Arg , ∗ + , |5 !) Arg / !) ⋯ /!) (7)
donde Arg ⋅ es el argumento del número 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 Función 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 formulación general, el algoritmo de tres pasos para queda
determinado por,
;B ≔ %&'D E
( ( %&>A %&>A
F
G;B Arg ;B
(9)
Ejemplo 1 (Demodulación 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 matemáticas se
muestran a continuación,
HB ≔ %&'D E
( I ( F I ; ; /2
GHB Arg HB
(10)
KB ≔ %&'D E
( I2 ( 2 F I2 ; H ; /2
GKB Arg HB
(11)
Figura 1: Espectro de un patrón de franjas. Figura 2: FTF del método de tres pasos.
27. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |26
En las Eqs. (48-49) se observa que se emplean 8 patrones de franjas. Aplicando el
método 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)
En las ecuaciones anteriores se observa la necesidad de eliminar la portadora. Para
ello considere el procedimiento de las Eqs. (48-52) tal que = F = 0. Finalmente,
la señal analítica de cada proyección 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 señales analíticas de la proyección 1 y dos, respectivamente.
En la Eq. (54) se muestra la suma de las fases positiva y negativa. Por lo tanto, para
determinar la señal analítica Λ tal que la fase sea negativa (ver Figura 1) se requiere
un algoritmo que recupere la componente negativa, para la otra señal analítica se
emplea el algoritmo de cuatro pasos mencionado anteriormente.
En la práctica es difícil conseguir un empalme de franjas (de ambas proyec-
ciones), entonces, un término de pistón distinto es agregado a las Eqs. (52-53) el cual
debe ser corregido. A continuación se muestra el script de Matlab® desarrollado.
%% Estimar la fase de la proyección 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 señal analítica
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 proyección 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'));
28. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |27
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 señal analítica
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 atenúa considerablemente en la fase de co-faseo, lo cual
es el objetivo del método descrito anteriormente. En las Figuras 23(e-f) se observa el
problema del término de pistón originado por imprecisiones en la alineación de la
instalación experimental, entonces, el término debe ser corregido.
(a) (b) (c) (d)
(e) (f) (g) (h)
Figura 23: Co-faseo con dos perspectivas de proyección 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.
29. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |28
7. Conclusiones
En el presente reporte se realiza una revisión de los temas de interferometría
digital: demodulación, desenvolvimiento, normalización y co-faseo. En especial se re-
visó el tema de demodulación de interferogramas, en particular, las técnicas de in-
terferometría por corrimiento de fase y el método de transformada de Fourier. La
primera permite una estimación con mayor resolución en la fase estimada, mientras
que método de Fourier permite una mayor velocidad de cálculo. Considerando el
método de proyección de franjas, cuando se proyectan patrones RGB es necesario
realizar una normalización para compensar la no-linealidad de los sensores. Si el
objeto bajo prueba genera sombras sobre áreas que se desean medir, entonces, el
método de co-faseo permitirá reducir o inclusive eliminar la pérdida de información
debido a las sombras. Por otro lado, el método de desenvolvimiento que mejor desem-
peño es el floodFill con un valor de penalización de 0.35 para corrimiento de fase y
0.6 para método de Fourier.
8. Referencias
[1] M. Servín, 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.
30. Sotero Ordoñes Nogales – Reporte “Interferometría Digital” |29
[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. Servín, "Isotropic n-dimensional fringe pattern normali-
zation," Opt. Commun., vol. 224, no. 4-6, pp. 221-227, 2003.
[12] M. Servín, 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.