3. Desarrollo experimental
3.2. Adquisición y procesamiento de datos
3.2.1. Conteo de fotones individuales correlacionados tem-
El conteo de fotones individuales por correlación de tiempos (Time Corre- lated Single Photon Counting, TCSPC) es una técnica que permite ana- lizar señales luminosas cuando la intensidad de la radiación en estudio es muy débil. Su principio de funcionamiento se basa en la detección de fo- tones individuales provenientes de una señal periódica, la medición de sus respectivos tiempos de detección, y la reconstrucción de los histogramas temporales correspondientes [73].
Figura 3.5: Principio de funcionamiento del TCSPC.
Una forma de visualizar el principio de funcionamiento del TCSPC se mues- tra en la Figura 3.5. La fuente emite pulsos con una frecuencia de repetición determinada, simultáneamente con una señal eléctrica de sincronismo que inicia el reloj interno de la placa TCSPC; estadísticamente, se observa que en muchos períodos no hay fotones detectados, mientras que en algunos otros sí los hay. En este último caso, el tiempo de vuelo del fotón es me- dido (se detiene el reloj de la placa) y almacenado en el canal de tiempo correspondiente. Después de muchas repeticiones, resulta posible construir un histograma de conteo de fotones, es decir, un gráco en el que se observa la cantidad de fotones colectados en cada canal de tiempo, que constituye
una reconstrucción del pulso ensanchado luego de viajar en el medio bajo estudio.
3.2.2. Recuperación de las propiedades ópticas de me-
dios homogéneos y multicapas
Para la medición de las propiedades ópticas tanto de los fantomas homo- géneos como de los multicapas se utilizó como fuente un láser pulsado Spectra-Physics Mai Tai (ancho del pulso <100 fs, λ =780 nm, tasa de re-
petición de 80 MHz, potencia de 110 mW sobre la supercie del fantoma), mientras que la detección se llevó a cabo mediante un fotomultiplicador MCP PMT Hamamatsu R2809-11 (Hamamatsu Photonics K. K.) conecta- do a un sistema TCSPC Becker&Hickl SPC-150 que reproducía las DTOFs correspondientes, que constaban de 1024 canales temporales espaciados en intervalos de 16.29 ps. Si bien la potencia del láser no representaba ningún tipo de problema para las mediciones sobre fantomas, sí puede resultar ex- cesiva para aplicaciones in vivo; por este motivo, al nal de la Sección 5.3.2 damos una breve discusión al respecto.
En el caso de los fantomas homogéneos de agarosa, las propiedades ópticas fueron medidas en la conguración de transmitancia, colocando las bras
Figura 3.6: Esquema del arreglo experimental para la medición de las propiedades ópticas de la capa líquida, tanto en la conguración homogénea como en la de dos y tres capas.
de la fuente y del detector a cada lado del medio bajo estudio y colineales entre sí. En el caso de los fantomas multicapas, ambas bras eran colocadas en la parte inferior de la cubeta negra (Figura 3.6), con separacionesρentre
ellas de 20 mm, 30 mm y 40 mm; de esta manera, la radiación incidía sobre las sucesivas capas sólidas, penetraba hacia el interior del medio líquido y, eventualmente, los fotones que habrían de ser detectados regresaban por reexión difusa hacia la zona de la bra de colección. De esta manera, se adquirieron diez DTOFs por cada combinación de separación ρ y de
Por otro lado, como mencionáramos anteriormente, el coeciente de absor- ción de la última capa fue modicado sucesivamente mediante el agregado de tinta. La medición de las propiedades ópticas de referencia de dicha ca- pa se llevó a cabo mediante la adquisición de DTOFs en la conguración de reectancia para cada concentración de tinta, colocando las bras en la parte superior de la cubeta negra.
La recuperación de las propiedades ópticas de la capa líquida en todas las conguraciones aquí presentadas se realizó mediante un algoritmo de ajus- te basado en el método de Levenberg-Marquardt [74] y escrito en Python. De acuerdo al tipo de medio inspeccionado (fantomas homogéneos de aga- rosa, fantoma líquido o fantomas multicapas) se incluyó en el algoritmo de ajuste la expresión teórica correspondiente en cada caso. Así, para las DTOFs adquiridas por transmitancia en los fantomas de agarosa, se utilizó la Ec. (2.25); para las DTOFs adquiridas por reectancia en el fantoma homogéneo líquido, se utilizó la Ec. (2.21); y por último, para las DTOFs adquiridas por reectancia en los fantomas de dos y tres capas, se utilizó la Ec. (2.45).
El funcionamiento de la rutina de ajuste se esquematiza en el diagrama de ujo de la Figura 3.7. Como primer paso, se proponen valores iniciales de los parámetros ópticos a recuperar, µ(0)a,N, µ0(0)s,N (siendo N = 1, N = 2
Figura 3.7: Diagrama de ujo del procedimiento utilizado para recuperar las propie- dades ópticas tanto de los fantomas homogéneos como de la última capa en los fantomas de dos y tres capas.
o N = 3 para DTOFs adquiridas en los sistemas homogéneos, de dos
capas o de tres capas, respectivamente). Con estos parámetros iniciales se construye la correspondiente DTOF teórica y se convoluciona con la función instrumento (o IRF, por Instrument Response Function), que no es otra cosa que la señal de respuesta del sistema compuesto por todos los elementos opticos, electrónicos y mecánicos, en ausencia de los medios bajo estudio; esto es necesario ya que las mediciones sobre los fantomas producen DTOFs que arrastran la inuencia del sistema de medición, siendo dicha inuencia una convolución [75]. Una vez convolucionados el pulso teórico y la IRF, el método de ajuste propiamente dicho entra en acción haciendo una comparación con el pulso experimental correspondiente y buscando los parámetros ópticos µa,N, µ0s,N
que minimicen la diferencia entre ambos. Cuando la diferencia se hace menor que cierta tolerancia preestablecida por el usuario, o cuando el algoritmo supera un cierto número de iteraciones, este nalmente se detiene.
El problema de minimización al que nos enfrentamos es mal condicionado, por lo que es posible que el espacio de parámetros estudiado presente no uno sino varios mínimos locales. Por este motivo, las propiedades ópticas
µa,N, µ0s,N
a recuperar se limitaron a un rango de valores compatibles con las de los tejidos vivos [25,38,76]. En detalle, el coeciente de absorción fue
limitado a un intervalo dado por 0.002 mm 6 µa,N 60.03 mm , mien-
tras que el coeciente de scattering reducido fue limitado a un intervalo de 0.4 mm−1< µ0
s,N <2 mm−1. También es necesario destacar, en el caso de
los experimentos sobre los fantomas multicapas, que los mismos eran para- lelepípedos y no cilindros, como exige la teoría desarrollada en la Sección 2.4.2.2, por lo que para reducir al máximo los errores originados por esta discrepancia, el radio del cilindro modelado según la expresión (2.45) tomó valores lo sucientemente grandes como para que pueda considerarse un medio innitamente extenso en el plano xy.
Por último y también siguiendo con el caso de los fantomas multicapas debido al amplio rango de valores asociado con cada parámetro óptico, así como también a los valores elevados tanto del radio del cilindro como de la distancia interbra, resultó necesario tomar un número alto de frecuencias (1024) y de ceros de Bessel (600) para construir DTOFs lo sucientemente robustas a partir del modelo teórico (Ecs. (2.44) y (2.45)). Al igual que en el caso experimental, en las DTOFs teóricas el intervalo temporal resultante constaba de 1024 canales, cada uno con un ancho de 16.29 ps.
Simulaciones de Monte
Carlo
Los métodos numéricos suelen presentarse como una alternativa al enfoque experimental que reviste especial interés debido a que, en comparación, presentan una alta facilidad de implementación, una gran versatilidad a la hora de modelar distintos tipos de situaciones, y un costo en términos nancieros bastante más reducido.
Los métodos numéricos más comúnmente utilizados en la Óptica de Medios Turbios son el método de elementos nitos (Finite Element Method, FEM), el método de las diferencias nitas (Finite Dierence Method, FDM) y el
método de Monte Carlo (MC). En este trabajo utilizamos simulaciones de Monte Carlo implementadas en placas grácas (Graphics Processing Units, GPUs), para analizar la propagación de fotones en un medio turbio compuesto por tres capas, con una capa intermedia de scattering variable, es decir: o es lo sucientemente elevado como para que la aproximación difusiva sea válida, o es lo sucientemente bajo como para que deje de serlo1.
Este procedimiento nos permite, por un lado, complementar los resultados experimentales de forma independiente (en el caso de las simulaciones sobre el medio completamente difusivo), y por otro nos lleva a comprender si la presencia de una región clara de extensión física sumamente acotada afecta o no al transporte fotónico, y de afectarlo, cuán signicativo es este efecto.
4.1. Denición y usos del método de Monte
Carlo
Las simulaciones de MC se utilizan para describir y entender una gran va- riedad de fenómenos físicos. Como no existe una única manera de describir 1Nótese que, en este último caso, las simulaciones de MC no son otra cosa que una solución de la
RTE (solución numérica, sí, pero solución al n), que no impone limitaciones sobre la geometría del medio, el número de capas o las propiedades ópticas. En el primer caso, además, pueden considerarse como una referencia para las soluciones obtenidas por medio del enfoque de la óptica difusa que describiéramos en la Sección 2.4.2.
este método y sus aplicaciones a la óptica de medios turbios, hemos decidi- do adoptar la siguiente denición [77,78]: una simulación de MC consiste en la confección de un modelo estocástico en el cual el valor esperado de cierta variable aleatoria (o la combinación de varias de ellas) se asocia al valor de una cantidad física a determinar. Este valor es estimado mediante el promedio de múltiples muestras independientes que representan la ya men- cionada variable aleatoria. Para la construcción de una serie de muestras independientes se utilizan números aleatorios que obedecen la distribución de la variable a estimar.
Figura 4.1: Caminos fotónicos calculados mediante simulaciones de Monte Carlo. Los puntos rojos y negros indican las posiciones de la fuente y del detector, respectivamen- te. (a) Trayectoria de un único fotón en un medio turbio deµa=0.006 mm−1, µs=5.0
mm−1,n =1.4 yg =0.8; distancia fuente-detector: 25 mm. (b) Trayectorias de varios fo-
tones en un medio homogéneo conµa =0.01 mm−1,µs =5.0 mm−1,n=1.4 yg =0.8, con
una inclusión cilíndrica absorbente a 5 mm de profundidad; distancia fuente-detector: 20 mm.
El método de MC ofrece una aproximación exible y a la vez rigurosa al problema del transporte de fotones en medios turbios. En principio, es po- sible calcular múltiples cantidades físicas, como por ejemplo tiempos de vuelo, caminos libres medios e imágenes de transmitancia y reectancia en CW, todo esto en tejidos homogéneos o multicapas de diferentes geome- trías, y con la posibilidad de tener en cuenta la presencia de inclusiones (Figura 4.1). Por supuesto, mientras más complejo sea el modelo que se quiere construir, mayor resulta también la complejidad del código de pro- gramación y el tiempo que invierte la simulación en devolver información estadísticamente razonable (aunque este último problema puede reducirse con el uso de GPUs, como se explica en la Sección 4.1.2).
4.1.1. Descripción del método
Las simulaciones de MC utilizadas en este trabajo consisten en la propa- gación de haces de fotones innitamente estrechos que inciden de forma perpendicular sobre la supercie de entrada de un medio turbio de tres ca- pas semiacotado, colectándose sobre la cara de entrada la radiación difusa reejada. Estos fotones son lanzados en paquetes a los que se asocia un peso inicial determinado, W0. Las reglas de propagación tienen en cuenta
los (µs), junto con el camino óptico recorrido entre colisión y colisión (n)
y la direccionalidad característica del sistema (g). Dado que la situación
modelada en estos casos es mucho más general que la que surge mediante la aproximación difusiva, resulta estrictamente necesario descartar el uso de µ0s como parámetro fundamental para considerar, en cambio, µs y g por
separado.
Ahora bien, sea χ una variable física a calcular (por ejemplo, la longitud
del paso de un fotón o el ángulo en que se ve dispersado). Esta variable obedece a una densidad de probabilidadp(χ)(no necesariamente uniforme)
que dene la distribución de valores deχ en un intervalo determinado [77].
Para simular la propagación, es deseable que χ tome valores a partir de
un generador de números aleatorios. Para ello, un generador de números aleatorios provee una variable aleatoria ξ distribuida uniformemente en el
intervalo [0,1). Esto signica que se establece una relación biyectiva entre
las distribuciones de probabilidad deseadas de χ y de ξ, es decir que a cada
valor de χ le corresponde uno de ξ, y viceversa.
Como ejemplo se detalla el cálculo del paso s de un fotón y de los ángu-
los azimutal, ψ, y cenital, θ, de dispersión (Figura 4.2). De acuerdo con
la denición del coeciente de extinción µt, la probabilidad por unidad de
Figura 4.2: Un fotón que se mueve en dirección sˆ colisiona, en el punto P, con un
centro dispersor, cambiando su dirección a ˆs0 y, por lo tanto, modicando su paso s y
los ángulos azimutal,ψ, y cenital, θ.
bido o dispersado) con el medio turbio viene dada por:
µt = −
dP (s >s0)
P (s >s0)ds0. (4.1)
Reordenando esta expresión e integrando en el intervalo [0, s1] llegamos al
siguiente resultado:
P (s >s1) =e−µts. (4.2)
A esta probabilidad puede asignársele el valor de la variable aleatoria ξ
so del fotón se lleva a cabo despejando adecuadamente la expresión (4.2):
s1 = −
lnξ µt
. (4.3)
Asimismo, el ángulo azimutal ψ, que se encuentra uniformemente distri-
buido en el intervalo [0,2π), se obtiene de la siguiente manera:
ψ = 2πξ, (4.4)
ya que para este ángulo todas las direcciones son equivalentes. En cuanto al ángulo cenitalθ, necesitamos tener en cuenta que hcosθi debe satisfacer
la función de fase de Heyney-Greenstein (2.8), por lo tanto se cumple que:
cosθ = 1 2g 1 +g2 −1−1−g+2g2gξ2 g 6= 0 2ξ −1 g = 0 . (4.5)
Cada vez que se necesita calcular alguna de estas magnitudes, el código recurre al generador de números aleatorios para obtener un valor nuevo de la variableξ. Una descripción más detallada de estos procedimientos puede
encontrarse en la referencia [77].
El diagrama de ujo de la Figura 4.3 esquematiza la estructura del código de MC utilizado en este trabajo, para el caso de un medio homogéneo y sin inclusiones; la extensión al caso de un medio de tres capas es directo. El programa comienza lanzando paquetes de fotones sobre la supercie de entrada (z = 0) del medio, con un peso determinado W0; el paso inicial s
de los mismos es nulo, y su dirección de incidencia se encuentra orientada hacia el interior del medio turbio y perpendicularmente a su supercie. Posteriormente y mediante el uso de un número aleatorio, se actualizan los valores de s, las direcciones de dispersión (mediante la función SPIN:
Scatter Photon Into New Trajectory) y se contabiliza la absorción sufrida por el paquete reduciendo su peso.
A esta altura se inicializan las condiciones de continuación o corte del programa. El paquete de fotones puede alcanzar alguno de los contornos, en cuyo caso es necesario establecer si se producen reexiones de Fresnel, o si escapa por la cara de entrada (reectancia difusa, z = 0) o por la de
salida (transmitancia difusa, z = espesor del slab), y si es colectado por
el detector o no. En los dos últimos casos, el programa debe terminar con el cálculo para este paquete. Si aún quedan fotones por correr, se vuelve a producir todo el ciclo nuevamente, en caso contrario se da por terminada
Figura 4.3: Diagrama de ujo del código de MC utilizado en este trabajo, para el caso de un medio homogéneo y sin inclusiones.
la simulación.
También puede ocurrir que el peso del paquete se reduzca, antes de alcan- zar alguno de los contornos, a un valor menor a un umbral previamente establecido, Wth; de ser así, es sometido a un proceso de ruleta, en el
cual interviene un nuevo número aleatorio. En este proceso el paquete pue- de sobrevivir con un nuevo peso, o bien quedar completamente descartado, en cuyo caso se evalúa si se trata del último paquete o si aún quedan fo- tones por lanzar. Esto evita que se continúe el cálculo de la propagación de los paquetes de fotones de peso despreciable2, hecho que aumentaría los
tiempos de cálculo y la ineciencia del código.
4.1.2. Simulaciones de Monte Carlo implementadas
en placas grácas
Uno de los mayores inconvenientes de las simulaciones de MC es su alto cos- to temporal. Durante mucho tiempo, los programas basados en el método de MC se desarrollaron para funcionar en las unidades de procesamiento central (Central Processing Units, CPU) de las computadoras. La forma en que estos códigos están escritos solo permiten simular el lanzamiento de 2Tal es el caso de aquellos fotones que se alejan demasiado de la zona del detector y cuyo peso es
fotones (o paquetes de fotones) de forma secuencial, es decir, los cálculos para el fotóni+ 1no comienzan hasta que no terminan los del fotóni. Para
cada fotón es necesario calcular, como se ha explicado previamente, la lon- gitud de su paso por cada evento de scattering, su dirección, la reducción de su peso, y evaluar diferentes condiciones de seguimiento y nalización (sin contar que el medio puede ser inhomogéneo y contener inclusiones en su interior); además, la cantidad de dispersiones que sufren los fotones en el interior del medio turbio suele ser elevada (típicamente se producen varios cientos de colisiones). Y, por supuesto, para mejorar la estadística de las simulaciones, es necesario que la cantidad de fotones lanzados sea razona- blemente elevada. Todo esto contribuye a aumentar de manera drástica el tiempo de cómputo de las corridas, por lo que el usuario se encuentra con el dilema de llevar dicho tiempo al menor valor posible, pero sin descuidar la estadística de la simulación. Como dato adicional se puede agregar que una simulación típica puede llevar horas, días o incluso semanas, dependiendo del número de fotones lanzados, de los parámetros ópticos del medio, de su complejidad geométrica y estructural, etc.
Es posible atenuar este problema con el uso de GPUs en lugar de CPUs. Desde hace algunos años, los principales fabricantes de GPUs vienen desa- rrollando herramientas que permiten a los programadores implementar sus
programas en placas grácas en vez de los típicos microprocesadores. Las ventajas de las GPUs frente a las CPUs son evidentes: desde sus orígenes están preparadas para paralelizar el procesamiento de los datos; por lo tan- to, todo programa paralelizable incrementa su eciencia al ejecutarse sobre una placa gráca. Las simulaciones de MC para medios turbios constituyen un ejemplo perfecto: dado que la historia de cada fotón es independiente de la del resto, en lugar de programar lanzamientos secuenciales es posible inicializar varios fotones en paralelo, reduciendo enormemente el tiempo de cálculo.
Este trabajo hace uso de una tecnología denominada CUDATM (Compute
Unied Device Architecture), presentada por NVIDIAr en noviembre de
2006 como una arquitectura de computación paralela de propósito general [79], que organiza los distintos niveles computacionales de las GPUs de NVIDIAr con el objetivo de solucionar una gran cantidad de problemas
informáticos de manera más eciente que la dada por las CPUs.
Asimismo, CUDATM hace referencia tanto al compilador como al conjunto
de herramientas desarrollado por NVIDIAr que permiten codicar algo-
ritmos en placas grácas de dicha compañía. Si bien existe la posibilidad de utilizar CUDATM con diferentes lenguajes de programación, el más co-
en lo que a simulaciones de MC respecta. El modelo de programación en CUDATM es como sigue. Se dispone de tres tipos de abstracciones claves: