2.4 Método de Monte Carlo (MC)
2.4.1 Explicación teórica
El método de Monte Carlo es una técnica propuesta por Metrópolis y Ulam para simular procesos físicos usando un modelo estocástico (Metropolis & Ulam, 1949), lo que permite resolver problemas físicos y matemáticos mediante la simulación de variables aleatorias. Podemos definirlo como un procedimiento general para seleccionar muestras aleatorias de una población utilizando números aleatorios. El código de Monte Carlo fue
29 desarrollado en Los Álamos e implicó a más de 250 personas y muchos años de desarrollo siendo el método que más frecuentemente se usa para modelar interacciones tejido-láser (Forester & Godfrey, 1983), (Ren, y otros, 2010). Este método se utiliza para calcular numéricamente expresiones matemáticamente complejas y difíciles de evaluar con exactitud o que no pueden resolverse analíticamente. En nuestro caso emplearemos el método MC porque proporciona una solución rigurosa al problema que tratamos del transporte de la luz en un medio difuso, como es el caso de los tejidos biológicos.
El método consiste en registrar fotones y estos, a su vez, solamente pueden ser absorbidos o dispersados, definiendo las reglas de propagación de cada fotón en forma de funciones de densidad de probabilidad, que describen, entre otros, la probabilidad de absorción o el ángulo de dispersión (Wang, Jacques, & Zheng, 1995).
El desarrollo de nuevos métodos iterativos para la solución de problemas con transferencia de radiación en los medios con configuraciones y condiciones de frontera o de contorno arbitrarias es crucial para las mediciones fiables capa por capa de radiación láser dentro de los tejidos, ya que como hemos visto en ecuaciones anteriores, la ecuación de radiancia está plagada de ecuaciones en derivadas parciales, lo que hace de los métodos iterativos soluciones prácticas como solución con métodos numéricos, siendo además necesarios para los fines prácticos, como la tomografía óptica difusa y la espectroscopia de los objetos biológicos.
El método MC parece ser especialmente prometedor en este contexto, además de ser ampliamente aplicado para la solución numérica de la ecuación de transporte radiativo en diferentes campos de conocimiento (como la astrofísica, la atmósfera y la óptica del océano, etc.). Aunque el método se empezó a utilizar hace décadas, ha sido en los últimos años (Ren, y otros, 2010) cuando se ha aplicado a la óptica con tejidos complejos heterogéneos. El método se basa en la simulación numérica de transporte de fotones en los medios de difusión. Las migraciones aleatorias de los fotones dentro de una muestra pueden trazarse desde su entrada hasta que son absorbidos o salen del tejido (o sistema) bajo estudio (Paquet & Viktor, 2015).
Los algoritmos conocidos permiten simular unas pocas capas de tejido con diferentes propiedades ópticas que se caracterizan junto con el tamaño final del haz incidente y la reflexión de la luz en las interfaces. Ejemplos típicos de los tejidos con varias capas son: piel, tejido vascular, vejiga urinaria, o las paredes uterinas por citar solamente algunos ejemplos.
La descripción algorítmica del método para medios heterogéneos consiste en que el fotón p se simula en paquetes de peso (w), posición actual (X), tiempo (t), longitud de onda (λ) y sistema de coordenadas local C'=(i',j',k'), donde k' coincide por definición con la dirección de propagación U.
El tejido se discretiza en vóxeles, cada uno de los cuales está caracterizados por el vector (μa, μs, g, n), que representa el coeficiente de absorción lineal (cm-1), el coeficiente de dispersión (cm-1), el factor de anisotropía y el índice de refracción.
30 En cada punto de interacción entre el fotón p y el material, este puede sufrir distintos procesos: absorción en el tejido o dispersión en el tejido.
La simulación de Montecarlo cumple el siguiente algoritmo en cada paso de simulación (Guerra, y otros, 2009):
1. Seleccionar el siguiente fotón a simular que puede ser obtenido bien de un buffer en el que están almacenados los fotones pendientes o tratarse de un nuevo fotón que emite el láser.
2. Actualizar las propiedades de los tejidos (scattering, absorción, anisotropía) a la longitud de onda del fotón actual.
3. Calcular el siguiente punto de interacción con el sistema y desplazar el fotón allí, para lo cual puede que sea necesario atravesar varios vóxeles.
4. Determinar el porcentaje del fotón que sufre absorción o dispersión. Resultando dos fotones, uno que representa la fracción del paquete que sufre dispersión y otro la que sufre absorción. Uno de los fotones se pone en buffer para simulación posterior y se continúa la simulación con el otro.
5. Si el peso w del fotón es inferior a un valor umbral, se considera que el fotón se absorbe totalmente.
6. Repetir pasos 3-5 hasta que el fotón escape del volumen voxelizado (mallado) o sea totalmente absorbido.
7. Se comprueba que impacte sobre los detectores externos.
Este algoritmo se denomina "hop-drop-spin-check" ya que:
- Hop: El fotón tiene un paso variable (eventos de ejecución de cada simulación) que se elige para la simulación que viene dada por la ecuación 47, donde ζ, es un número aleatorio entre 0 y 1 distribuido de manera aleatoria (0 <£, <1).
𝑙 = −ln (𝜉) 𝜇𝑎+ 𝜇𝑠
(47)
- Drop: Debido a la absorción en el sistema, el paquete de fotón pierde parte de su peso al final de cada paso. La cantidad de peso perdido es el peso de fotones al principio del paso multiplicado por (1-A), donde A es la reflectividad. El fotón con el peso restante se reparte.
- Spin: El fotón con el peso restante se reparte en una nueva dirección.
- Check: Observar si el fotón está "vivo" o "muerto" comprobando si su peso es apreciable después del scattering. La supervivencia, o no, se determina mediante probabilidades.
Un nuevo paso se genera a continuación por la ecuación anterior, y se repite el proceso. Cuando el fotón trata de salir del medio, la probabilidad de una reflexión interna se calcula utilizando la ecuación de Fresnel. Cuando el peso del fotón es inferior
31 a un umbral preestablecido (normalmente 10-4), se utiliza una forma de "ruleta rusa" para determinar si el fotón se termina o se propaga más con una disminución de peso. Si el fotón cruza el límite de superficie en el medio ambiente, el peso del fotón contribuye a la reflectancia difusa o a la transmitancia dependiendo del lugar que se haya producido el cambio de superficie. Si se produce una reflexión, entonces el fotón se refleja de vuelta al medio la distancia apropiada y la ejecución continúa. De lo contrario, la migración de ese fotón continua hasta que se produce su absorción, y un nuevo fotón se pone en marcha en la fuente origen. Es preciso indicar que se utilizan varios miles de fotones para obtener resultados estadísticamente significativos. En la actualidad se utilizan entre 1-10 millones de fotones generalmente.
Un ejemplo de uso de Montecarlo es el de la siguiente figura, en el que podemos observar el camino que sigue un fotón en un tejido simple y otro compuesto por varias capas:
Figura 12 Simulación de Montecarlo en un tejido simple basado en (Leahy, 2002)
Figura 13 Simulación de Montecarlo en tejido de varias capas, basado en (Leahy, 2002)
A pesar de su alta precisión y aplicabilidad universal, el método MC tiene un inconveniente importante, consume demasiado tiempo de cálculo. Para obtener una variación aceptable, debido a la naturaleza estadística de la modelización, necesita
32 analizar un gran número de fotones. Por ejemplo, el código de MC en tres dimensiones, diseñado para la interacción de fotones a través de complejos medios heterogéneos, permite obtener una relación señal ruido superior a 100 dB a distancias de 30 mm con un detector de 1 mm2 requiere 108 fotones y tarda en torno a 5-10 horas de tiempo de computadora en un Pentium III 1000 MHz CPU.245 (Boas, Culver, Scott, & Dunn, 2002).
Dicho esto, también se ha de añadir que las simulaciones MC son computacionalmente caras cuando el coeficiente de absorción es mucho menor que el coeficiente de dispersión del medio, en el cual los fotones pueden propagarse a larga distancia antes de ser absorbidos. Aunque los nuevos desarrollos de sistemas informáticos y de software han reducido el tiempo necesario de computación, aún estamos lejos de conseguir un tiempo corto en la óptica de tejidos debido al gran número de fotones necesarios y las limitaciones impuestas por el hardware. El uso de dichas tendencia ha sido clave para combinar la exactitud del método de MC y el alto rendimiento de las teorías de la difusión o la aproximación de las expresiones analíticas. Dependiendo del problema a resolver, la técnica de MC se utiliza para simular tanto la reflectancia difusa como la transmitancia de una longitud de onda o de todo el espectro, ya que las condiciones de simulación vienen impuestas por el usuario pudiendo utilizar varias longitudes de onda que trabajen a la vez o limitarse a la utilización de una sola longitud de onda para observar su comportamiento.
En pocas palabras, el método de Monte Carlo es un método para simular el transporte de la luz por el tejido mediante el envío de fotones o paquetes de fotones (muchos fotones) por un camino aleatorio sobre una muestra virtual de tejido en un ordenador.
La fase y la polarización de los fotones no se toman en consideración debido a su comportamiento aleatorio después de múltiples dispersiones a través del tejido. El fenómeno fotoeléctrico del fotón también se ignora considerando al fotón exclusivamente como una partícula. El camino de cada paquete de fotones se simula sobre si emerge o se absorbe.