RECONSTRUCCIÓN DE HOLOGRAMAS DE MICROSCOPÍA HOLOGRÁFICA DIGITAL EN LÍNEA A VELOCIDAD DE VIDEO

VIDEO RATE RECONSTRUCTION OF HOLOGRAMS FROM DIGITAL IN-LINE HOLOGRAPHIC MICROSCOPY

 

CARLOS TRUJILLO
Physics Eng, Universidad Nacional de Colombia Sede Medellín, Escuela de Física y Facultad de Minas, Colombia, calelo36@gmail.com

JOHN F. RESTREPO
MSc. Physics, Universidad Nacional de Colombia Sede Medellín, Escuela de Física, Colombia, jfrestre@gmail.com

JORGE GARCIA-SUCERQUIA
PhD. Physics, Universidad Nacional de Colombia Sede Medellín, Escuela de Física, Colombia, jigarcia@unal.edu.co

 

Recibido para revisar Noviembre 23 de 2011, aceptado Febrero 24 de 2012 , versión final Marzo 6 de 2012

 


RESUMEN: La Microscopía Holográfica Digital en Línea (MHDL) es quizás la metodología más simple para obtener información del mundo micrométrico: una fuente puntual y un dispositivo de registro digital es el equipo necesario. En esta técnica de microscopía, la recuperación de la amplitud compleja esparcida por el espécimen bajo estudio, se hace por medio de algoritmos muy robustos operando sobre registros bidimensionales de intensidad, que contienen millones de pixeles; el tiempo requerido para llevar a cabo este procesamiento de información ha limitado las aplicaciones de la MHDL. Usando la capacidad de cómputo que proveen las unidades de procesamiento gráfico (GPU) unido a un número reducido de operaciones, en este artículo se presenta una metodología para la reconstrucción numérica de hologramas a velocidad de video adquiridos en MHDL. Esta estrategia permite la reconstrucción de hologramas de 1 megapixel a 32 cuadros por segundo sin cambiar el desempeño de la MHDL en términos de la resolución espacial de esta arquitectura de microscopía. Los resultados experimentales presentados de reconstrucción un holograma registrado de una monocapa bidimensional auto-organizada de esferas de tamaño micrométrico, revelan las capacidades tridimensionales de la MHDL operando a velocidad de video.

PALABRAS CLAVE: microscopía holográfica en línea, unidades de procesamiento gráfico, microscopía tridimensional, reconstrucción numérica a velocidades de video.

ABSTRACT: Digital in-line holographic microscopy (DIHM) is perhaps the simplest methodology to obtain three-dimensional information about the micrometer world: a point source and a digital recording device is the hardware needed. In this microscopy technique, the recovery of the complex amplitude scattered by the specimens, relies on quite robust algorithms operating on two-dimensional intensity recordings; each recording is formed by millions of pixels. The elapsed time for carrying out such information processing has concealed the wider application of DIHM. In this paper, by the use of the power provided by the graphics processing units (GPU) along with a reduced number of operations, a methodology for numerical reconstruction at video rate of DIHM holograms is presented. This strategy allows for reconstructing 1 megapixel DIHM holograms up to 32 frames per second with no change in spatial resolution performance of this lensless microscopy architecture. The experimental results shown on this paper exhibit the three-dimensional capabilities of DIHM operating at video rate: a hologram taken from a two-dimensional self-organised monolayer of micrometer sized beads is reconstructed a video rate.

KEYWORDS: digital in-line holographic microscopy, graphics processing units, three-dimensional microscopy, video rate numerical reconstruction.


 

1. INTRODUCCIÓN

En la microscopía holográfica digital en línea (MHDL) con iluminación de frente de onda esférico [1], una fuente de luz monocromática, usualmente un láser de longitud de onda l, es enfocada sobre un pinhole con un diámetro del orden de l. De este pinhole se generan ondas esféricas altamente coherentes que iluminan una muestra ubicada a una distancia z del pinhole. La onda débilmente esparcida por la muestra interfiere en la superficie del sensor digital, ya sea una cámara CMOS (complementary metal-oxide semiconductor) o CCD (charge-coupled device), con la onda de referencia no esparcida. El sensor digital es posicionado de forma tal que su centro se encuentra a una distancia L de la fuente puntual. La intensidad registrada, llamada holograma en línea, se trasfiere a un PC para su procesamiento. En la Figura 1 se ilustra la configuración básica de la MHDL.


Figura 1.
Representación esquemática de la microscopía holográfica en línea sin lentes (MHDL)

La onda esparcida, la cual lleva la información de la muestra, es recuperada a partir del cálculo numérico del proceso de difracción que la onda conjugada de referencia no esparcida sufre cuando ilumina el holograma en línea. Ya que en MHDL la onda de referencia es esférica, este proceso en el dominio de Fraunhofer se describe matemáticamente por medio de la trasformada de Kirchhoff-Helmholtz [1,2]:

En la ecuación (1) la integración se extiende sobre la superficie de la pantalla s, cámara CCD o CMOS, con coordenadas , es el número de onda; es el holograma en línea, el cual para algunas aplicaciones es obtenido de la resta punto a punto entre las intensidades registradas con y sin objeto, respectivamente; y son las coordenadas en el plano de reconstrucción. es una cantidad compleja que puede ser calculada en varios planos de reconstrucción a diferentes distancias zr de la fuente puntual (pinhole) con el fin de recuperar la información tridimensional de la muestra o equivalentemente, la onda esparcida por el espécimen en diferentes planos. Esta operación se hace enteramente de forma numérica a partir de un holograma bidimensional de MHDL con M x N pixeles. Una vez discretizada la ecuación (1), su implementación numérica tiene una complejidad computacional O ( M x N ), un número que se traduce en un muy elevado tiempo de computo, aún para los modernos equipos de procesamiento. Del proceso de discretización requerido, se desprende la necesidad de linealizar los términos de fase presentes. Para este fin y con el propósito de reducir el tiempo de cálculo de la ecuación (1) sin comprometer ninguno de los exigentes requerimientos de la MHDL, Kreuzer [3] patentó un procedimiento que convierte esta expresión en una convolución escalable que usa trasformadas rápidas de Fourier (FFT) para acelerar la reconstrucción numérica de los hologramas en MHDL. Se desarrolló además un paquete de software [4] el cual operando en una computador portátil convencional permite la reconstrucción de hologramas de 2048 x 2048 pixeles en 1s, es decir 1 cuadro por segundo (fps). Lo anterior significa que la implementación de la ecuación (1) tiene que ser acelerada para poder reconstruir hologramas en línea de MHDL a velocidades de video.

Debido a la simplicidad de hardware y a lo robusto de la MHDL, esta metodología de microscopía ha sido aplicada a la biología [5] exobiología [6], ciencias de coloides [7] y a diferentes estudios donde se requiere la localización de partículas en las tres dimensiones espaciales y el tiempo [8,9]. En todas estas aplicaciones, se requiere la reconstrucción de cientos o incluso miles de hologramas para obtener información del experimento, lo cual consume grandes cantidades de tiempo. Actualmente, el algoritmo de reconstrucción desarrollado por Kreuzer [3], puede ser potenciado con las capacidades de procesamiento acelerado que proveen las unidades de procesamiento gráfico (GPU). En este artículo se presenta la implementación del método de Kreuzer para alcanzar velocidades de video en la reconstrucción de hologramas propios de la MHDL. En las secciones siguientes se muestran los detalles de la implementación de la reconstrucción de hologramas en línea operando a velocidades de video y los resultados obtenidos del estudio de una monocapa de micro esferas de poliestireno utilizadas para la calibración de microscopios.

 

2. RECONSTRUCCIÓN NUMÉRICA DE HOLOGRAMAS EN LÍNEA

El corazón del procedimiento patentado por Kreuzer [3] para la reconstrucción de hologramas en línea, es una trasformación de coordenadas la cual remueve la no linealidad presente en el término exponencial de la ecuación (1) e incluye la distancia de reconstrucción zr. Esta trasformación exige llevar a cabo una interpolación sobre el holograma en línea para representarlo en un nuevo sistema de coordenadas. La manipulación del holograma en línea, así como de la ecuación (1) convierte a esta última en una nueva expresión que puede ser calculada hacienda uso de FFTs, reduciendo de esta forma la complejidad computacional a O ( M x logN ). Sin pérdida de generalidad, en el texto siguiente solo se considera hologramas en línea con el mismo número de pixeles a lo largo de las direcciones x e y, es decir, N=M. La descripción completa del algoritmo que se implementa en este trabajo puede leerse en [3]. Para el propósito de este artículo solamente se presenta la versión discreta de la trasformada de Kirchoff-Helmholtz:

En la ecuación (2), corresponde a la versión discretizada del holograma e interpolado sobre M x M pixeles; m, n, s, t son números enteros; , son las dimensiones de los pixeles en el plano de reconstrucción y en plano del holograma interpolado, respectivamente. La ecuación (2) puede convertirse en una trasformada de Fourier discreta (DFT) si los tamaños de los pixeles en el holograma en línea interpolado y en el plano de reconstrucción están relacionados a través de y . Debido a que en la definición de los algoritmos de las DFTs el número de pixeles se mantiene fijo, las relaciones anteriores para el tamaño de los pixeles limitan el desempeño de la MHDL, ya que restringen las aperturas numéricas posibles del sistema [2]. Estas restricciones pueden ser removidas introduciendo las sustituciones y [3,10]. Estas sustituciones trasforman la ecuación (2) en:

La suma en la ecuación (3) está en la forma de una convolución discreta. Esto sugiere su evaluación usando el ampliamente conocido procedimiento basado en la trasformada discreta de Fourier, a saber la convolución discreta de las funciones [11]:

Para el cálculo de la convolución discreta de las funciones y , su circularidad tiene que garantizarse. Dicha circularidad se garantiza aumentado el número de puntos de cada una de las funciones a 2M x 2M pixeles, por medio de la adición ceros a lo largo de cada dirección de la matriz [10,12]. La amplitud compleja reconstruida puede ser evaluada como el producto de las DFTs de y [11]. La complejidad computacional al calcular es por consiguiente reducida a O (3 (2M) x log(2M)) ya que estas DFTs son evaluadas vía FFTs, es decir:

La ecuación (6) permite: i) reconstruir hologramas de MHDL sin restricciones en el tamaño de los pixeles en el holograma y en el plano de reconstrucción, de esta forma no hay restricciones en la apertura numérica del sistema adicionales de las propias del método de Bluestein[10,12] y ii) permite acelerar su cálculo ya que se basa en la FFT, la cual unida con la moderna tendencia de usar GPUs para el cálculo de operaciones de punto flotante, puede conducir a la reconstrucción de hologramas de MHDL a velocidades de video.

 

3. RECONSTRUCCIÓN ACELERADA DE HOLOGRAMAS EN LÍNEA POR MEDIO DE GPUS

El acelerado desarrollo de las GPUs, impulsado por el gigantesco mercado de los videojuegos, ha proporcionado algo más que increíbles herramientas para los amantes de esta forma de diversión. Puesto que la razón principal para que un videojuego luzca y tenga movimientos realistas es la capacidad de realizar miles de operaciones de punto flotante en el menor tiempo posible, las GPUs encajan perfectamente a la hora de realizar cálculos complejos en muchos campos de la física [13-16]. A manera de introducción a la programación de GPUs orientada al desarrollo de aplicaciones en el campo de la física, el lector es referido al trabajo de Trujillo et al. [17]. El campo de la óptica no se excluye de esta tendencia: medidas de superficie en tres dimensiones en tiempo real [18], tomografía óptica coherente de Fourier en tiempo real [19], cálculo acelerado de hologramas generados por computador [20] y la reconstrucción numérica de hologramas digitalmente registrados [21], se cuentan entre los desarrollos en los cuales las GPUs han sido utilizadas para acelerar el procesamiento numérico en óptica. Hasta el momento, que sea de conocimiento de los autores, ésta es la primera vez en la cual se reporta el uso de las GPUs en la reconstrucción de hologramas de MHDL, los cuales por su tamaño imponen un reto adicional.

El principal desafío en la reconstrucción de hologramas de MHDL a velocidad de video, es tener complejidades computacionales de O (3 (2M) x log(2M)) con M al menos en el orden de 1024. En MHDL, dos partículas que están separadas una distancia pueden distinguirse si [2], con la longitud de onda de iluminación y NA la apertura numérica del sistema. Puesto que la MHDL es una técnica de microscopía holográfica sin lentes, la NA se controla con el ancho W del dispositivo de registro y su distancia L a la fuente de iluminación, a saber . Con el fin de obtener una resolución en el rango micrométrico usando luz visible en MHDL, la definición de la apertura numérica impone que el ancho del dispositivo de registro, ya sea una cámara CCD o CMOS, debe ser del orden de su distancia a la fuente puntual. Puesto que la reconstrucción numérica de hologramas se soporta en el cálculo de la integral de difracción en coordenadas discretas, las condiciones de aplicación de los algoritmos para realizar esta tarea [22] y las cámaras disponibles en el mercado, indican que en aplicaciones prácticas los hologramas en MHDL deben tener al menos 1024x1024 pixeles; el desempeño óptimo se alcanza operando sobre hologramas de 2048x2048 píxeles. No obstante la inteligente implementación de la integral de difracción específicamente desarrollada para reconstruir hologramas en MHDL [3], la reconstrucción de hologramas de 2048x2048 pixeles llevada a cabo en un computador personal toma del orden de varios segundos excluyendo la aplicación de la MHDL en muchos campos [23].

Para mitigar la limitación de la MHDL descrita anteriormente, es posible migrar de una arquitectura serial de programación a una paralela. Típicamente la programación paralela se hace usando un clúster de computadores que ejecuta tareas concurrentemente, pero esta opción no es apropiada para la MHDL ya que una de sus más atractivas aplicaciones tiene lugar en los estudios de campo, como aquellos que se ilustran en la referencia [6]. Una aproximación más simple y más apropiada para la MHDL, es hacer cómputo paralelo usando la potencia que proveen los procesadores de múltiples núcleos de las GPUs en la arquitectura de programación (Compute Unified Device Architecture) CUDATM [24]. CUDATM C es un lenguaje de programación desarrollado por NVIDIA® para aprovechar los paradigmas de programación paralela ejecutados en las GPUs. CUDATM C define funciones de C llamadas kernels, los cuales son ejecutadas concurrentemente por los múltiples hilos de CUDATM que defina el programador. Este enfoque, que es opuesto a la filosofía de programación serial la cual usa un hilo a la vez, es posible ya que cada uno de los núcleos de procesamiento que se ubican dentro de los multiprocesadores se encarga de cada hilo. En una GPU típica (del orden de 8 multiprocesadores, cada uno de ellos con 8 núcleos de procesamiento) se pueden tener 64 hilos computando simultáneamente. Por consiguiente, las características del cómputo paralelo en la GPU pueden ser empleadas para manejar la complejidad computacional de O (3 (2M) x log(2M)) requerida con el fin de reconstruir un holograma en MHDL. Específicamente, ya que el holograma reconstruido es computado por medio de FFTs, en la implementación que aquí se presenta del método patentado por Kreuzer [3], se ha usado la librería CUFFT de NVIDIA® CUDA™. La CUFFT [25] es una implementación paralelizada del algoritmo de la FFT para las GPUs soportada en la implementación de Frigo y Johnson [26] que aprovecha toda la potencia que provee el procesamiento tipo "stream". Adicionalmente al incremento de la velocidad de computo que provee el uso de las GPUs, se puede obtener una aceleración extra en el cómputo de la ecuación (6) usando criterios de simetría en el cálculo de las funciones y y el factor de fase . Estos tres términos dependen de enteros que toman valores desde hasta . Como para todos los términos los índices están al cuadrado, es suficiente calcularlos sólo en un cuarto de la matriz completa sobre la cual está definido el holograma interpolado; los otros tres cuartos pueden ser calculados por medio de LUTs (del inglés look up tables), acelerando aún más las reconstrucciones de los hologramas.

 

4. RECONSTRUCCIÓN DE HOLOGRAMAS DE MHDL A VELOCIDAD DE VIDEO

La reconstrucción acelerada de hologramas en MHDL se ha implementado en un computador personal con un procesador Intel® Core™ 2 Quad que opera a 2.33GHz y tiene 4GB de memoria RAM. El computador alberga una tarjeta gráfica Geforce 9800GT con 112 núcleos de procesamiento operando a 600MHz y con 512MB de memoria local. Los hologramas en línea son registrados por una cámara CMOS de 2048 x 2048 pixeles que cubre un área de 12.3x12.3 mm2. Esta cámara se conecta al computador por medio de una interface IEEE 1394. Con esta configuración, los hologramas en línea registrados por la cámara son directamente transferidos al computador para su reconstrucción. Una vez que los hologramas son almacenados en la memoria del computador, el desempeño alcanzado por el microscopio sin lentes se muestra en la Tabla 1; a modo de comparación, se muestra el número de hologramas reconstruidos por segundo para el algoritmo acelerado (GPU) y para el no acelerado (CPU). Para la configuración con máxima resolución espacial, es decir los hologramas registrados con 2048 x 2048 pixeles, el algoritmo de reconstrucción acelerado es 10 veces más rápido que el algoritmo implementado anteriormente [4]. Una tasa de reconstrucción por encima del estándar de video NTSC (30fps) es alcanzada para hologramas de 1024 x 1024 pixeles. Para 512 x 512 pixeles, es posible obtener hologramas reconstruidos a 83fps.

Tabla 1. Número de hologramas reconstruidos en cuadros por segundo (fps) para distintos tamaños de hologramas en línea: para el algoritmo acelerado (GPU) y para el no acelerado (CPU)

Una de las más exigentes aplicaciones de la microscopia holográfica sin lentes es la visualización de monocapas de esferas auto-organizadas de tamaño micrométrico [27-29]. Para que esta aplicación funcione correctamente, el microscopio debe ser capaz de tener una resolución micrométrica sobre el área completa de extensión de la monocapa. Para probar el desempeño del algoritmo acelerado en esta aplicación, se ha visualizado una monocapa de esferas de poliestireno con diámetro de 1.100±0.008mm; los resultados se muestran en la Figura 2 y en un video que el lector puede solicitar directamente a la revista. En el video se muestra como el frente de onda esparcido por la monocapa cambia de plano a plano. El tiempo requerido para cambiar de plano de reconstrucción fue 31.3ms. Cada cuadro del video, así como las imágenes de la Figura 2 fueron obtenidos al reconstruir hologramas en línea registrados con la cámara CMOS ubicada a 12mm de la fuente puntual.


Figura 2.
Reconstrucción de un holograma en MHDL de una monocapa de esferas de poliestireno con diámetro de 1.10mm. El Panel A muestra la reconstrucción en el plano objeto y el panel B presenta la imagen reconstruida en la cual se observa inversión de contrante. Los paneles A y B son cuadros extraídos del video que se encuentra disponible para el lector (contactar la revista para obtener una copia). En dicho video se muestra la secuencia completa de las imágenes reconstruidas obtenidas a una tasa de video (32fps), es decir para cambiar de plano de reconstrucción se requiere 31.3ms.

Las ondas esféricas para iluminar la muestra fueron generadas enfocando un láser con longitud de onda de 405nm en un pinhole de 0.5mm de diámetro. La inversión de contraste en los paneles A y B de la Figura 2, obtenidos para diferentes distancias de reconstrucción, es una indicación de la presencia del efecto de autoimágenes [30] en este experimento. El panel A de la Figura 2, muestra el clúster reconstruido con un empaquetamiento perfectamente hexagonal de las esferas con algún desenfoque y expansión de la red en los bordes. La gran calidad de las reconstrucciones a partir de hologramas en línea de objetos de tamaño micrométrico que provee el algoritmo acelerado de reconstrucción de MHDL, permite el estudio de características de los especímenes en espacio real y provee parámetros valiosos de los objetos, por ejemplo en este caso, el empaquetamiento hexagonal de las esferas auto-organizadas.

Debido a que la MHDL tiene la capacidad de registrar información tridimensional, es posible recuperar el frente de onda esparcido en diferentes planos y mostrar el efecto de auto-imágenes a medida que se cambia la distancia de reconstrucción. El panel B muestra una imagen de contraste invertida reconstruida a partir del mismo holograma que el del panel A. La distancia entre los frente de onda reconstruidos de la Figura 2 es 3.0±0.3mm; este valor es igual a la mitad de la distancia de Talbot [30]. Con la longitud de onda utilizada de 405nm y la expresión para la distancia de Talbot [30], se obtiene un paso de a=1.10±0.08mm para la estructura periódica. Este valor está de acuerdo con el diámetro de las esferas de 1.100±0.008mm reportado por el fabricante, de manera que las estructuras periódicas son de hecho paquetes cerrados de hexágonos. Para cambiar el plano de reconstrucción con el método de reconstrucción acelerado se requiere un tiempo de 31.3ms. Esta cifra permite obtener valiosa información del micromundo operando a velocidades de video.

 

5. CONCLUSIONES

En la reconstrucción numérica de hologramas registrados digitalmente, el tiempo empleado para la reconstrucción ha desalentado una mayor aplicación de esta metodología de holografía. Como una alternativa para acelerar a velocidades de video la reconstrucción de hologramas de MHDL, en este artículo se ha presentado el uso de la actual tendencia de utilizar GPUs como herramientas de cómputo de grandes cantidades de datos complejos. El algoritmo desarrollado por Kreuzer, que constituye la piedra angular de la MHDL, ha sido implementado en un sistema de múltiples procesadores y se ha logrado la reconstrucción de hologramas a velocidades de video. Para hologramas 2048 x 2048 pixeles, 10fps es la velocidad de reconstrucción llevada a cabo una vez que los hologramas son guardados en la memoria del computador. Para hologramas de 1024 x 1024 pixeles se ha lograda una notable velocidad de reconstrucción de 32fps.

Adicionalmente se evaluó el desempeño del algoritmo acelerado en términos de la resolución espacial alcanzada por el método. El holograma de una monocapa de esferas auto-organizadas de tamaño micrométrico ha sido reconstruido a velocidades de video. El empaquetamiento perfectamente hexagonal de las esferas así como el efecto de auto-imagen producido por el objeto periódico han sido correctamente reproducidos operando a esta velocidad.

 

AGRADECIMIENTOS

Los autores, especialmente J. Garcia-Sucerquia, reconocen el valioso apoyo del Prof. Hans Jurgen Kreuzer de Dalhousie University durante el tiempo del desarrollo de todas las investigaciones hechas en el fascinante mundo de su invención, MHDL. Este trabajo fue realizado con el soporte de DIME (Universidad Nacional de Colombia Sede Medellín), Universidad Nacional de Colombia-Vicerrectoría de Investigación proyectos números 12932 y 12934, y DINAIN (Dirección Nacional de Investigación UNAL).

 

REFERENCIAS

[1] Garcia, J., Xu, W., Kagles, P., Jericho, S.M., Jericho, M.H. and Kreuzer, H.J., Digital In-line Holographic Microscopy, Appl. Opt. 45, pp. 836-850, 2006.
[2] Kreuzer, H.J., Nakamura, K., Wierzbicki, A., Fink, A.H. and Schmid, H., Theory of the Point Source Electron Microscope, Ultramicroscopy 45, pp. 381-403, 1992.
[3] Kreuzer, H.J., Holographic microscope and method of hologram reconstruction, U.S. patent 6411406 B1, 25 June, 2002.
[4] Kreuzer, H.J. and Kagles, P., DIHM-software "A software package for the reconstruction of digital in-line and other holograms", (Helix Science Applications, Halifax, N.S., Canada), 2008.
[5] Xu, W., Jericho, M.H., Meinertzhagen, A. and Kreuzer, H. J., Digital in-line holography for biological applications, PNAS, 98, pp. 11301-11305, 2001.
[6] Jericho, S.K., Klages, P., Nadeau, J., Dumas, E.M., Jericho, M.H. and Kreuzer, H.J., In-line digital holographic microscopy for terrestrial and exobiological research, Planetary and Space Science, 58, pp. 701-705, 2010.
[7] Alvarez, D. C. and Garcia, J., Lensless Microscopy Technique for Static and Dynamic Colloidal Systems, J. Colloid Interface Sci. 349, pp. 637-740, 2010.
[8] Xu, W., Jericho, M.H., Meinertzhagen, A., and KREUZER, H. J., Tracking particles in four dimensions with in-line holographic microscopy, Opt. Lett. 28, pp. 164-166, 2003.
[9] Restrepo, J.F. and Garcia, J., Automatic three-dimensional tracking of particles with high-numerical-aperture digital lensless holographic microscopy, Opt. Lett. 37, pp. 752-754, 2012.
[10] Bluestein, L., Linear Filtering Approach to the Computation of the Discrete Fourier Transform, IEEE Trans. on Audio and Electroacoustics, 18, pp. 451 - 455, 1970.
[11] Goodman, J. W., Introduction to Fourier Optics, 3rd ed. Roberts &Company, 2005.
[12] Restrepo, J.F. and Garcia, J., Magnified reconstruction of digitally recorded holograms, Appl. Opt. 49, pp. 6430-6435, 2010.
[13] Owens, J.D., Houston, M., Luebke, D., Green, S., Stone, J.E. and Phillips, J.C., GPU Computing, Proceedings of the IEEE , 96, pp. 879-899, 2008.
[14] Preis, T., Virnau, P., Paul, W. and Schneider, J.J., GPU accelerated Monte Carlo simulation of the 2D and 3D Ising model, Journal of Computational Physics, 228, pp. 4468-4477, 2009.
[15] Michalakes, J. and Vachharajani, M., GPU acceleration of numerical weather prediction, IEEE International Symposium on Parallel and Distributed Processing, 2008. IPDPS 2008, pp. 1-7, 2008.
[16] Ford, E.B., Parallel algorithm for solving Kepler's equation on Graphics Processing Units: Application to analysis of Doppler exoplanet searches, New Astronomy, 14, pp. 406-412,2009.
[17] Trujillo, C. and Garcia, J., Graphics processing units: more than the way to realistic video games, DYNA 78,(168), pp. 164-172, 2011.
[18] Zhang, S., Royer, D. and Yau, S.T., GPU-assisted high-resolution, real-time 3-D shape measurement, Opt. Express, 14, pp. 9120-9129, 2006.
[19] Zhang, K. and Kang, J., Graphics processing unit accelerated non-uniform fast Fourier transform for ultrahigh-speed, real-time Fourier-domain OCT, Opt. Express, 18, pp. 23472-23487, 2010.
[20] Pan, Y., Xu, X., Solanki, S., Liang, X., Tanjung, R., Tan, C. and Chong, T.C., Fast CGH computation using S-LUT on GPU, Opt. Express, 17, pp. 18543-18555, 2009.
[21] Shimobaba, T., Sato, Y., Miura, J., Takenouchi, M. and ITO, T., Real-time digital holographic microscopy using the graphic processing unit, Opt. Express, 16, pp. 11776-11781, 2008.
[22] Sypek, M., Prokopowicz, C. and Gorecki, M., Image multiplying and high-frequency oscillations effects in the Fresnel region light propagation simulation, Opt. Eng., 42, pp. 3158-3164, 2003.
[23] Garcia, J., Xu, W., Kagles, P., Jericho, S.M., Jericho, M.H. and Kreuzer, H.J., 4-D imaging of fluidic flow with digital in-line holographic microscopy, Optik, 119, pp. 419-423, 2008.
[24] NVIDIA CUDA C Programming Guide, 3.1.1 Version, Santa Clara, CA: Nvidia, 2010. 2006-2010 NVIDIA Corporation, CUDA Zone, http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/NVIDIA_CUDA_C_ProgrammingGuide_3.1.pdf, (2010).
[25] NVIDIA®, CUDA™, " CUDA CUFFT Library 3.1," (2010).
[26] Frigo, M. and Johnson, S.G., FFTW: an adaptive software architecture for the FFT, Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, 3, pp. 1381-1384, 1998.
[27] Garcia, J., Alvarez, D. C. and Kreuzer, H.J., High resolution Talbot self-imaging applied to structural characterization of self-assembled monolayers of microspheres, Appl. Opt. 47, pp. 4723-4728, 2008.
[28] Kanka, M., Riesenberg, R. and Kreuzer, H.J., Reconstruction of high-resolution holographic microscopic images, Opt. Lett., 34, pp. 1162-1164, 2009.
[29] Kanka, M., Wuttig, A., Graulig, C. and RIESENBERG, R, Fast exact scalar propagation for an in-line holographic microscopy on the diffraction limit, Opt. Lett., 35, pp. 217-219, 2010.
[30] Patorski, K., The self-imaging phenomenon and its applications, in Progr. Opt., E. Wolf, ed, 27, pp. 3-101, 1989.