Vous êtes sur la page 1sur 10

3528

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 9, SEPTEMBER 2013

Accelerated Numerical Processing of Electronically


Recorded Holograms With Reduced Speckle Noise
Carlos Trujillo and Jorge Garcia-Sucerquia

Abstract The numerical reconstruction of digitally recorded


holograms suffers from speckle noise. An accelerated method that
uses general-purpose computing in graphics processing units to
reduce that noise is shown. The proposed methodology utilizes
parallelized algorithms to record, reconstruct, and superimpose
multiple uncorrelated holograms of a static scene. For the best
tradeoff between reduction of the speckle noise and processing
time, the method records, reconstructs, and superimposes six
holograms of 1024 1024 pixels in 68 ms; for this case, the
methodology reduces the speckle noise by 58% compared with
that exhibited by a single hologram. The fully parallelized method
running on a commodity graphics processing unit is one order
of magnitude faster than the same technique implemented on a
regular CPU using its multithreading capabilities. Experimental
results are shown to validate the proposal.
Index Terms Digital holography (DH), general-purpose computing in graphics processing units (GPGPU), noise speckle
reduction, uncorrelated holograms.

I. I NTRODUCTION

UMERICAL reconstruction of electronically recorded


holograms, named digital holography (DH), has become
an alternative tool for science and technology [1], [2]. DH has
been used as testing tool of microelectromechanical systems
(MEMS) [3], [4], to quantify vibrating modes on structures and
devices [5][7], to visualize the flow of complex fluids [8],
[9], for security applications [10], [11], to develop different
approaches towards quantitative phase microscopy [12][15],
among many others. In DH, the electronically recorded hologram by a digital camera is preprocessed and thereafter
numerically reconstructed to obtain an image of the object
under study. The elapsed time from the recording to the
reconstruction has limited the use of DH in the field of real
time applications. Additionally to that limitation, as DH uses
numerical recovering of the information coded in the hologram, the algorithms utilized for this task constrain the size

Manuscript received June 5, 2012; revised January 8, 2013; accepted


January 8, 2013. Date of publication January 30, 2013; date of current version
August 9, 2013. This work was supported in part by the Universidad Nacional
de Colombia, Vicerrectora de Investigacin under Grant 110201003 and Grant
110201004, Direccin de Investigacin Medelln UNAL, and COLCIENCIAS
Departamento Administrativo de Ciencia, Tecnologa e Innovacin under
Grant 110205024. The associate editor coordinating the review of this
manuscript and approving it for publication was Prof. Oscar C. Au.
C. Trujillo is with the Universidad Nacional de Colombia-Sede Medellin,
Medellin 050034, Colombia (e-mail: catrujila@unal.edu.co).
J. Garcia-Sucerquia is with the School of Physics, Universidad Nacional
de Colombia-Sede Medellin, Medellin 050034, Colombia (e-mail: jigarcia@unal.edu.co).
Color versions of one or more of the figures in this paper are available
online at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TIP.2013.2244219

of the pixel at the reconstruction plane [1], [2]. Furthermore,


because DH utilizes coherent illumination, when objects with
roughness of the order of illumination wavelength are imaged,
the reconstructed images suffer from speckle noise [1];
in many applications this speckle noise reduces the quality of
the reconstructed images. The reconstruction algorithms and
the size of the digital cameras also determine the size of those
speckles [16][18].
To reduce the speckle noise in DH, many approaches are
found in the literature [17][25]. Some methods are based on
accurate image processing techniques inspired on the underlying physics that onsets the speckle noise in DH [19], [20].
Other strategies produce a reconstructed hologram with
reduced speckle noise from the superposition of multiple,
as many as 100, uncorrelated reconstructed holograms. The
uncorrelated holograms to be superimposed are obtained by
different techniques. In references [17], [18], a rotating ground
glass is introduced in the set-up such that the object is differently illuminated; hence, reconstructed holograms with different speckle fields are produced. The same idea of changing
the illumination of the object to obtain multiple uncorrelated
holograms is presented in [21]; in this work the author use a
rotating mirror to modify the illumination of the object. The
uncorrelated holograms can be also obtained from different
views of the object by shifting either the recording digital camera [22] or the object itself [23]. A particular way of recording the uncorrelated holograms is presented by Xiao et al.
[24]. In this reference, the polarization state of both beams
utilized in DH is changed simultaneously. In this way, no
correlation is kept between the successive recorded holograms;
reconstructed holograms with speckle contrast as low as 0.34
can be obtained with this method. The uncorrelated holograms
generated by the above-mentioned methods, are produced by
introducing changes on either the plane of the object or the
plane of the recording digital camera. A different approach
that produces the uncorrelated holograms by axial shifting
is presented by Yu et al. [25]. These authors propose the
shifting of the object along the axial direction as a way of
avoiding the reduction of the field of view as the object is
laterally shifted. No matter which is the way of producing the
multiple uncorrelated holograms, all the methods multiply the
processing time by at least the number of needed holograms
by the method to work.
The methods based on the superposition of multiple reconstructed holograms to reduce the speckle noise in DH, perform
essentially the same set of operations over different data. This
approach of processing data fits completely into the current

1057-7149/$31.00 2013 IEEE

TRUJILLO AND GARCIA-SUCERQUIA: ACCELERATED NUMERICAL PROCESSING OF ELECTRONICALLY RECORDED HOLOGRAMS

trend of using graphics processing units (GPUs) to accelerate


extensive floating-point computation [16][31]. The GPUs suit
perfectly when one needs to perform repetitive operations
over multiple data; single-instruction multiple-data (SIMD),
is the technical name that has been coined to refer this type
of operations. A clear SIMD structure of processing data is
presented in the synthesis of incoherent Fourier holograms
via integral imaging [32]. In this application, an array of
lenses produces incoherent images over the Fourier plane with
modified phases. From the multiple images and phases, a
synthetic incoherent hologram is computed with a GPU; the
same GPU is used to reconstruct the hologram. In comparison
with a CPU, the authors report a 2-fold reduction on the
elapsed time for the synthesis and 6-fold for the reconstruction.
Other important feature of the GPUs is the set of built-in
optimized operation; fast Fourier transforms (FFTs), matrix
oriented functions can be named among others [33], [34].
As the core of the numerical reconstruction of electronically
recorded holograms is the FFT, some applications that use
GPUs to reduce the computation time of the reconstruction
process on DH, have been already proposed [35][38]. Shimobaba et al. [35] have presented the most remarkable of
these applications. In that work, the authors have implemented
a digital holographic microscope running at 24 frames per
second operating with holograms of 512 512 pixels; namely,
the microscope records and reconstructs a single hologram of
that size every 43 ms.
In this work, we present a method to reconstruct numerically
with reduced speckle noise, holograms that have been electronically recorded. On using a SIMD structure of processing the
data, the scheme uses the parallelized superposition of at least
two uncorrelated reconstructed holograms. A controlled digital
camera records and transfers each of the uncorrelated holograms to a parallelized reconstruction algorithm. For the best
tradeoff between reduction of the speckle noise and processing
time, the method records, reconstructs, and superimposes six
holograms of 1024 1024 pixels in 68 ms; for this case, the
methodology reduces the speckle noise 58% with respect to
that exhibited by a single hologram. The fully parallelized
method running on the GPU, is one order of magnitude
faster than the same implemented on a regular CPU using its
multithreading capabilities. Up to the best knowledge of the
authors, this is the first proposal presented to reconstruct digital holograms with reduced speckle noise operating at video
rate. The paper is organized as follows: in section 2 the basis of
digital holography are introduced; the practical conditions for
electronic recording and numerical reconstruction are shown
in section 3; the accelerated reconstruction of holograms with
reduced speckle noise is presented in section 4; we finish with
conclusions.
II. BASICS OF D IGITAL H OLOGRAPHY
DH is a two steps imaging technique: i) recording and
ii) reconstruction [1], [2]. For the recording stage, a
CMOS (complementary metaloxidesemiconductor) or CCD
(charge-coupled device) digital camera registers the resulting
intensity from the superposition of a reference wave Are f (r)

Fig. 1.

3529

Illustration of the coordinate system for computing (1).

and an object wave Aobj (r). The reference wave has known
phase and amplitude distributions; for simplicity, it can be
chosen as a plane wave impinging perpendicular to the plane of
the digital camera. The information of the object to be imaged
is coded on phase and amplitude variations of the object wave.
From the recorded intensity I (r) = |Are f (r) + Aobj (r)|2 ,
called digital hologram, it is possible to retrieve the information that the object wave gathered on its propagation towards
the recording camera. The process by which that information is recovered constitutes the reconstruction step. For the
reconstruction, the recorded digital hologram is illuminated
numerically with the complex conjugated reference wave; in
this way, the recovered information equals that originally
coded on the object wave [1], [39]. In physical optics, the
process of illuminating the hologram with the complex conjugated reference wave is understood as the diffraction that
the illuminating wave undergoes on the hologram. Because
a digital camera records the hologram, it is a set of zeros
and ones that are arranged in the form of a regular digital
image. This mode of managing the hologram, allows for
attempting the reconstruction process via a numerical approach
[1], [2]. In order to compute numerically the diffraction of the
complex reference wave on the digital hologram, we can use
the Fresnel-Kirchhoff diffraction formula [39]:
 
i


I (r) Are
Aobj (r ) =
f (r)
2


 Screen
exp i k r r 
(1)
(1 + cos ) dr.
|r r |
In (1) k = 2/ is the wavenumber with the illuminating
wavelength; the vectors r = (X, Y, z), and r  = (x, y, z 0 )
denote positions at the hologram plane (digital camera) and
the reconstruction plane (object), respectively. (1 + cos ) is
the inclination factor with being the angle between the

normal
at the hologram plane and the vector r r ; and
i = 1; the coordinates are illustrated in Fig. 1. For a wide
range of applications, it suffices to use the Fresnel-Fraunhofer
approximation to (1) [39]:
 

i k x 2 + y2
i exp [i kz]

exp
Aobj (r ) =
z
2z

3530

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 9, SEPTEMBER 2013



ik X2 + Y 2
I (r)
(r) exp
2z
Screen


i k (X x + Y y)
exp
dr
(2)
z
which reduces significantly the complexity of the computation
of the diffraction process.
For the computational implementation of (2), it is written
in discrete coordinates for the digital hologram and reconstruction plane. The coordinates at the hologram plane are
discretized according with the pixel dimensions (X, Y )
of the digital screen, namely X = nX and Y = mY ;
n, m are integer numbers. At the reconstruction plane the
pixel dimensions are set to x, Y such that x = px
and y = qy, with p, q also integer numbers. By replacing
the integral by summations and the continuous coordinates by
their discrete representation, (2) turns into:
 

Are
f

Aobj ( px, qy, z)


 

i k p 2 x 2 + q 2 y 2
i exp [i kz]
exp
=
z
2z
N/21

M/21

I (nX, mY )Are


f (nX, mY )

n=N/2 m=M/2



i k n 2 X 2 + m 2 Y 2
exp
2z

i k (nX px + mY qy)


.
(3)
exp
z
In (3) we have considered that the digital hologram has been
recorded on a camera with M N pixels. That equation allows
for calculating the reconstructed amplitude Aobj at the point
( px, qy, z) via a double summation over the all the pixels
of the hologram I (nX, mY ). The calculation of each point
of the reconstructed hologram has a computational complexity
of O(MN). Therefore if one wants a reconstructed hologram
with M N pixels, its calculation will have a computational
complexity of O (M N)2 . A typical digital camera utilized
in DH has M = N = 1024 pixels; this figure means that the
computation of a reconstructed image with 10241024 pixels
has a computational complexity of O (10244), a number too
large for practical applications. To reduce the computational
complexity on computing equation (3), we can relate the pixel
sizes at the reconstruction and hologram planes via x =
z/NX, y = z/MY [1]. After introducing these pixel
dimensions in (3), it yields:
Aobj ( px, qy, z)



p2
q2
i exp [i kz]
exp i z
+ 2
=
z
N 2 X 2
M Y 2
N/21

M/21

I (nX, mY )Are


f (nX, mY )

n=N/2 m=M/2


i  2
2
2
2
n X + m Y
exp
z

 np mq 
+
exp i 2
N
M

(4)

As expressed by (4), the reconstructed amplitude can


be computed as the discrete Fourier transform (DFT)
2
2
[1] of I (nX, mY )A re f (nX, mY ) exp [ i
z (n X +
2
2
m Y )]. The result of this transformation is multiplied by
2
2
i expz[ikz] exp [i z( N 2pX 2 + M 2qY 2 )]. If the propagation
distance z equals the distance from the object to the digital
camera in the recording stage, the resulting complex quantity
equals the amplitude of object wave Aobj at the plane where
was placed the object. In this form, (4) can be computed
through a fast Fourier transform (FFT ) algorithm [1], [2]:
Aobj ( px, qy, z)



p2
q2
i exp [i kz]
exp i z
+ 2
=
z
N 2 X 2
M Y 2


F F T I (nX, mY ) Are f (nX, mY )



i 2
2
2
2
n X + m Y
exp
(5)
z
hence, the computational complexity is reduced to O (M
log N)2 . For instance, for the same case above considered
with M = N = 1024 pixels, the computational complexity
is reduced six orders of magnitude. From (4) the intensity and
phase of the object wave can be computed as:

2
(6)
Iobj ( px, qy, z) =  Aobj ( px, qy, z)
and



Im Aobj ( px, qy, z)


obj ( px, qy, z) = arctan
Re Aobj ( px, qy, z)

(7)

in that order.
III. P RACTICAL E LECTRONIC R ECORDING AND
N UMERICAL R ECONSTRUCTION OF D IGITAL H OLOGRAMS
FOR R EDUCING THE S PECKLE N OISE
Fig. 2 illustrates the experimental setup we have implemented to record electronically the digital holograms. The
beam splitter produces the reference and the object waves by
splitting a He-Ne laser beam. The combination of the L1 lens
and the rotating ground glass (RGG), is used to record the
uncorrelated digital holograms that can be used to reduce the
speckle noise, as presented in reference [17], [18]. Two half
wave plates, with = 632 nm, are introduced in the set-up to
optimize the hologram contrast. The beam recombiner directs
the object and reference waves towards the surface of a CMOS
camera where the digital hologram is produced and recorded.
Each hologram is recorded on a CMOS camera with 752480
square pixels of 6 m side; we have placed a die of 15 mm
edge length at a distance of 105 cm from the center of the
CMOS.
To reduce the speckle or coherent noise we need to record
S uncorrelated digital holograms [17], [18]; each digital hologram is recorded for a different position of the RGG, such that
the illumination of the object is changed for the consecutive
digital recordings. Usually the S holograms are stored and
processed subsequently. For a particular example, each of the
electronically recorded digital holograms is zero padded up to
1024 1024 pixels, see Fig. 3.a. As the padded hologram is

TRUJILLO AND GARCIA-SUCERQUIA: ACCELERATED NUMERICAL PROCESSING OF ELECTRONICALLY RECORDED HOLOGRAMS

3531

Fig. 2. Digital holography setup with RGG for reducing the speckle noise
by following the procedure presented in [17] and [18].

reconstructed via (5), namely the Fresnel transform [1], [2],


the size of the reconstruction pixel is x = y = 108.2 m.
The reconstruction process leads to an image composed by
three elements: i) virtual image, ii) zero diffraction order,
and iii) real image [1], [2]. Because digital holography is
an imaging method based on the diffraction phenomenon,
virtual and real images can be understood as the +1 and 1
diffraction orders of the recorded hologram [1], [39]. Both
images are placed symmetrically with respect to the hologram
position along the reconstruction distance; this means that only
one of them can be focused for a given reconstruction distance
[2]. In Fig. 3.b, the reconstruction distance has been chosen to
get the virtual image in focus and the real image out of focus.
The bright rectangle in the center of the reconstructed image
is the zero diffraction order; it has its origin in the projection
of the recording digital device on the reconstructed image [1].
The presence of both, the real image and the zero diffraction
order, decreases the contrast of the reconstructed image, as
shown clearly in Fig. 3.b. Different methods can be used
for suppressing both from the reconstructed image [40][45].
One of the most widely used is realized by filtering out the
real image and zero order in the Fourier spectrum of the
padded digital hologram [32]; Fig. 3.c shows the spectrum
of the Fourier transform of Fig. 3.a. The area delimited by the
rectangle corresponds to the virtual image, whereas the zero
diffraction order is encircled. To get rid of the presence of the
real image and the zero diffraction order on the reconstructed
image, the information of the virtual image is extracted from
the Fourier spectrum of the padded hologram. This information
is placed at the center of an array of zeroes that has identical
dimensions as the original Fourier spectrum. The resulting
modified Fourier spectrum is inversely Fourier transformed to
obtain a tailored hologram, which does not carry information
about the real image and the zero diffraction order. The
reconstruction obtained from the tailored hologram is shown
in Fig. 3.d. Because Fig. 3.d is free from zero diffraction order,
the total dynamic range of visualization is used for the virtual
image. The use of the total dynamic range leads to an image
with enhanced contrast, eliminating the distracting noise on
the reconstructed image, and therefore more details of the
object are now visible. The price that has to be paid for this
enhancement is an increase of the computational complexity.

Fig. 3. Illustration of the suppression of the zero order and the real image in
a numerically reconstructed hologram. (a) Padded hologram obtained from the
recorded digital hologram. (b) Reconstruction of panel a via (5). (c) Spectrum
of the Fourier transform of (a) is shown in (c). (d) Reconstruction of the
Fourier filtered padded hologram. See text for further details.

Because the method for suppressing the real image and the
zero diffraction order is performed in the Fourier spectrum, at
least two additional Fourier transforms have to be computed,
as it has been above described. As result, the computational
complexity for reconstructing one digital hologram is at least
doubled, namely O 2(M log M)2 .
Even though the suppression of the zero order of diffraction
and the real image enhances greatly the quality of the reconstructed image, the latter is built up by a set of bright and dark
spots (see Fig. 3.d and its zoomed in square area). Those spots
are originated from the effect of the coherent illumination
on the rough surface of the object and the digital process
associated with the reconstruction of the hologram. For being
possible the recording of the digital hologram, the reference
and object waves must be coherent [1]: their superposition
must produce a steady interference pattern on the surface of the
digital camera at least during the integration time of the device.
The laser is the ideal and most widely used illuminating
source for DH, because of its coherence features. Associated
with the coherence of the light exists a phenomenon called
speckle [1], which for many applications can be deleterious.
The speckle noise is recognized as the set of dark and bright
spots that builds up the reconstructed images. The sizes of
these spots along the x y coordinates are equal to those
of the reconstruction pixel, namely x = z/MX and
y = z/MY [1], [18]. Those figures mean that in order
to reduce the speckle size, for a given wavelength () and a
particular reconstruction distance (z), the size of the digital
camera must be increased; this enlarging of the digital camera
can be achieved by means of a synthetic aperture. Different

3532

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 9, SEPTEMBER 2013

Fig. 4. Superposition of S uncorrelated holograms. The number of superimposed S holograms is shown in the corresponding panel. The rectangular 2.5
zoomed in areas show a better visualization of the reduction of the speckle
noise. The contrast C of the speckle is calculated over those rectangular areas.
(a)(d) Superposition 2, 4, 8, and 16 holograms, respectively.

techniques that use synthetic apertures to mimic larger digital


screens are based on accurate positioning systems [46][50].
Other methods lessen the effects of the speckle by decreasing
its contrast through the addition of multiple images of the
same scene [17], [18], [22][25]. The core of these techniques
is the superposition of reconstructed holograms of the same
static scene with uncorrelated speckle patterns into one unique
resulting image. This superposition produces a reduction of the
contrast of the speckle noise C = / I [1] with the standard
deviation of the intensity and I the average intensity.
C in the
final superimposed image follows the law C = 1/ S, with S
the number of superimposed images [1], [18].
Fig. 4 shows a sequence of different number of superimposed reconstructed holograms, from S = 2 (Fig. 4.a) to
S = 16 (Fig. 4.d). The reduction of the speckle noise improves
clearly the visual quality of the reconstructed hologram based
on the reduction of the contrast of the coherence noise, without
comprising the details of the object; see the rectangular 2.5
zoomed in areas in each panel for closer view. The contrast
of the speckle is computed over those rectangular areas. The
values obtained for the contrast of the speckle noise with
this methodology are comparable with those reached with
other techniques [24]. Because each of the superimposed
images has to be obtained as above presented, namely with a
computational complexity of O 2(M log M)2 , even though
the great quality of the resulting superimposed images, the
method has had limited application due to its high computational complexity, which renders into a very time consuming
processing. To diminish this processing time, we present the
use of a commodity GPU to produce holograms reconstructed
numerically with reduced speckle noise.

Fig. 5.
Parallelization of the reconstruction of digital holograms with
reduced speckle noise. The multiple threads of the modern CPU are used
in combination with the general-purpose computing on GPU.

IV. PARALLELIZED N UMERICAL R ECONSTRUCTION OF


D IGITAL H OLOGRAMS W ITH R EDUCED S PECKLE N OISE
A. Development of the Complete System
The proposed method to reduce the speckle noise in the
numerically reconstructed holograms follows a SIMD structure; uncorrelated holograms are recorded, reconstructed, and
superimposed. The reconstruction process performed over
each hologram is the same and this reconstruction itself is
highly parallelizable. These features of the method indicate
that the complete procedure can be implemented on a commodity GPU and accelerate the O 2S(M log M)2 needed
operations.
The proposed strategy to accelerate the method of reducing
the speckle noise on the numerically reconstructed holograms
is illustrated in Fig. 5; to compute the O 2S(M log M)2
needed floating point operations, we utilize the multi-threading
capability of the modern CPUs combined with the current
trend of general-purpose computing on GPUs (GPGPU) [26].
As above-mentioned and here emphasized, for the type of
operations that have to be carried out, namely FFTs and matrix
oriented operations, the multithread architecture of the GPUs
for parallel computing by means of SIMD, fits perfectly our
needs. In this approach, we use a thread of the CPU to manage
the electronic acquisition, to transfer the digital holograms,
and to control the stepper motor that drives the RGG, see
green thread 1 in Fig. 5. Through the communication between
the threads, the recorded digital hologram is transferred to
the thread 2 that controls the GPU, purple thread in Fig. 5.
Once the recorded hologram is transferred, the RGG is rotated

TRUJILLO AND GARCIA-SUCERQUIA: ACCELERATED NUMERICAL PROCESSING OF ELECTRONICALLY RECORDED HOLOGRAMS

Fig. 6. Representation of the data flow between the CPU and GPU memories,
and the Open GL output buffer in a UML format. In each step, a CPU function
or a GPU function (kernel) is represented.

one-step and the process is repeated until the condition of


finish is reached. The thread of the GPU that receives the
recorded holograms manages their numerical reconstruction
and superposition. As the process starts, a matrix ( A) of
zeroes with M M entries is generated and kept in the
global memory of the GPU; this global memory is visible
to the visualization texture of Open Gl. The received digital
hologram is numerically reconstructed within the GPU and the
resulting intensity (6) is sent to the A matrix; the A matrix
is visualized through Open GL. The process is repeated from
the reconstruction of the hologram until the finish condition is
reached. The synchronization between the threads guarantees
that no process is overload and the reconstructed holograms
shown in the screen have speckle noise with reduced contrast.
The ULM representation of the proposed algorithm is
illustrated in Fig. 6. The overall loop, the red box, is executed
until the finish condition is reached. Inside the loop, the data
between the memories of the CPU and the GPU flow in both
directions. The control of that data is perform by the kernels
and functions utilized in the implementation of the method,
which are shown in the ULM diagram. The visualization of
superimposed holograms is carried out on an Open Gl output
buffer, which is cleared at the end of each cycle to avoid
memory overloads.
The greatest reduction of the computation time on this
methodology is achieved on the reconstruction process. The
numerical reconstruction is parallelized by using the power
provided by the multi-core hardware of the GPUs in the
(computer unified device architecture) CUDA programming
architecture [33]. CUDA C is a programming language devel-

3533

oped by NVIDIA for accomplishing the paradigms of parallel


programming that takes advantage of the GPUs hardware;
CUDA C defines C functions called kernels, which are concurrently executed by the multiple CUDA threads, as defined
by the programmer or by the automatic definitions produced
by built-in functions of the CUDA libraries. This approach,
which is opposed to the serial programming philosophy that
uses a single thread at once, is possible because every one of
the stream cores that are allocated inside the multiprocessors,
takes care of each thread. In this work is utilized a commodity
GPU composed by 16 multiprocessors each one with 32 stream
cores are available; hence up to 512 threads are accessible
at once for parallel computing. The features of the GPU
parallel computing can be therefore utilized to handle the O
2S(M log M)2 computational complexity required to reconstruct and superimposed the S digital holograms. Specifically,
because each reconstructed hologram is computed via FFTs,
our implementation uses the CUFFT library from NVIDIA
CUDA. CUFFT library version 3.1 [34] is a parallelized FFT
algorithm for GPUs based on the famous FFTW [51] that takes
advantage of the full power provided by the stream processing.
In the ULM diagram in Fig. 6, one CPU thread controls the
CPU memory and the other controls the GPU memory. The
first acquires the holograms via the ImageAcquire() function.
This function returns the recorded hologram to the CPU
memory from which the function cudaMemCopy() transfers
to the GPU memory. Once finished this operation, the thread
rotates the RGG through the function RotateGlass(). The zero
order and twin image, are removed from the hologram in the
memory of the GPU by the sequence of the kernels from 1 to
7 in the ULM diagram, namely: fftshift(), cufftExecuteC2C(),
and centeringHologram(); these kernels produce the filtered
hologram. The FresnelPhaseCalculation() kernel (number 8)
2
2
2
2
computes the Fresnel phase exp [ i
z (n X + m Y )] and
multiplies it pixel wise with the filtered hologram. The
complex data resulting from this multiplication, is Fourier
transformed to perform the reconstruction process, kernels
from 9 to 11. The intensity of the reconstructed holograms
is computed with the kernel Intensitycalculation(). To scale
the produced intensity the kernel scalingTo8BitImage() uses
the maximum and minimum values of intensity produce by
the kernel/function GetStats1() and GetStats2(). These kernel/function return values that are stored in global memory
accessible directly to both the CPU and the GPU. This scaling
is needed to use the full dynamic range of the visualization
and to superimpose that scaled image with the formerly
reconstructed holograms. The kernel Setuptexture() configures
the texture of the global memory used by Open Gl to visualize
the superimposed holograms. Once visualized the texture is
deleted by the Deletetexture() kernel to avoid any memory
overload.
The thread configuration for the kernels: centeringHologram(), FresnelPhaseCalculation(), Intensitycalculation(), and
scalingTo8BitImage(), follows the regular scheme suggested
by the CUDA C programming guide [33]. The square grid is
composed by square blocks of 16 16 threads. The width and
height of the grid is determined by the size of the zero padded
hologram to be processed; the number of blocks is then given

3534

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 9, SEPTEMBER 2013

by M/16, with M the number of pixels along each direction


of the hologram. For instance, to process the 1024 x 1024 zero
padded holograms we utilize a grid of 64 64 blocks each
one running along 16 16 threads.
The kernel fftshift() swaps properly the data to be processed
or returned from the FFT algorithm. To accomplish this task
only a quarter of the full grid above-mentioned is needed;
hence, this kernel uses only a quarter of the threads in the
configuration just mentioned.
The function cufftExecuteC2C() from the CUFFT 3.1
library, computes the thread configuration for each kernel that
composes it, to reduce the overall processing time [34]. For
our example with 1024 1024 zero padded holograms, cufftExecuteC2C() utilizes three kernels, spRadix0032B_kernel(),
spRadix0032B_kernel(), and fftSmem1024D_kernel(). For the
two former kernels, a grid of 5121 blocks running on 64 1
threads is utilized. The latter kernel is configured over a grid
of 1024 1 block operating with 128 1 threads.
Additionally to the improvement provided by the use of the
GPUs, an extra acceleration can be achieved on the computation of (6) by considering the symmetry on the calculation of
the phase factors (i exp [i kz])/z exp [i z( p2 /N 2 X 2 +
q 2 /M 2 Y 2 )] and exp [i /z(n 2 X 2 +m 2 Y 2 )]. These terms
depend on integers indices that take values from M/2 to
(M/2) 1. As for all the terms the indices are squared, it
suffices to compute them only for a quarter of the whole
matrix over which the digital hologram is defined. The remaining three quarters can be computed via parallelized lookup
tables, accelerating even more the hologram reconstructions;
for the case of the experimental set-up we have used, in
(nX, mY ) = 1. For the computation of the S
(5) Are
f
reconstructed holograms for a particular distance z, the phase
terms are computed just one time and stored in the global
memory of the GPU.
The accelerated reconstruction of digital holograms with
reduced speckle noise has been implemented on a personal
computer powered with an Intel Core i7-2600 CPU running
at 3.40GHz and 8GB of RAM memory. The computer hosts a
NVIDIA Geforce GTX 580 graphics board with 512 CUDA
cores running at 1544 MHz and 1536MB of local memory. The
digital holograms are recorded on a CMOS 752 480 pixels
camera manufactured by IDS; the camera is linked to the
computer via an USB 3.0 interface. Operating at 100 frames
per second, the camera spends 10 ms to record one hologram
and place it in the memory of the CPU. The transfer from the
memory of the CPU to the memory of the GPU is performed
in about 1 ms. Once in the CPU or in the GPU, the holograms
can be zero padded up to 1024 1024 pixels. While the CPU
reconstructs one megapixel hologram in 125.2 ms, the GPU
spends 4.6 ms. These figures mean that once the holograms
are stored in the memory of the CPU or in the memory of the
GPU, the proposed method of using a GPU to reconstruct the
hologram reduces the processing time 25-times. The evaluation
of the performance of the reconstruction algorithm has been
carried for different zero padding sizes with the results show
in Table 1.
The CPU implementation of the reconstruction algorithm
has been done with Microsoft visual C++ 2005, using the

TABLE I
T IME E LAPSED IN M ILLISECONDS FOR THE R ECONSTRUCTION OF O NE
H OLOGRAM , O NCE I T I S P LACED IN THE CPU M EMORY. C OMPARISON
B ETWEEN THE A CCELERATED (GPU) AND THE N ON -A CCELERATED
(CPU) R ECONSTRUCTION A LGORITHMS
Size of the
Zero-Padded
Holo-Gram (Pixels)
768 768
1024 1024
1536 1536
2048 2048

Time for Reconstructing


One Single Hologram
in the GPU (ms)
5.5
4.6
16.2
13.1

Time for Reconstructing


One Single Hologram
in the CPU (ms)
82.5
125.2
378.8
505.4

facilities of .NET framework programming. The optimized


FFTW library [51] has been used as Fourier transforming tool.
From the results shown in Table 1 added to the fact that
the camera needs 10 ms to acquire a single hologram, one
can recognize that the superiority of the method implemented
with the GPU has no discussion. The performance of the
complete system operating with the GPU, including the recording, reconstruction, superposition, and visualization, can be
therefore evaluated in terms of the size of the zero padding
and the contrast of the speckle of the resulting image.
B. Evaluation of the Performance of the Method on the GPU
in Terms of the Size of the Holograms and the Quality of the
Resulting Superimposed Holograms
The proposed method to reduce the speckle noise in holograms reconstructed numerically can be twofold evaluated.
The contrast of the resulting image and the needed time
to obtain it can be assessed in terms of the number of
superimposed holograms and the size of the zero padding.
The system is started by recording the very first hologram
and generating the A matrix. The hologram is transferred
to the memory of the GPU where it is processed to be
reconstructed. The time needed to process the first hologram
is almost independent on the size of the zero padding for
holograms with 768 768 pixels and 10241024 pixels. This
occurs essentially because the reconstruction time is almost
the same, see Table 1, and the 10 ms that the camera spends
on the acquisition of the hologram are added to both equally.
For the couple of zero padded holograms with 1576 1576
pixels and 2048 2048 pixels there is a difference of 3 ms
inherited from the difference on the reconstruction time of both
holograms, see Table 1. The differences on processing a single
hologram are multiplied times the number of S superimposed
holograms. From the curves in Fig. 7, one concludes that the
best performance of the method in terms of the time to produce
holograms with reduced speckle noise is achieved when zero
padded holograms with 1024 1024 pixels are utilized.
The solid lines in Fig. 7 show the way as the contrast of the
resulting image changes with the number of S superimposed
holograms.The contrast of the resulting image varies following the 1/ S law, as it has been previously reported [1], [18].
These curves indicate that for this experiment, the contrast of
the resulting superimposed image does not depend on the size
of the zero padding. This conclusion implies that the size of
the zero padding to be used for the implementation of the

TRUJILLO AND GARCIA-SUCERQUIA: ACCELERATED NUMERICAL PROCESSING OF ELECTRONICALLY RECORDED HOLOGRAMS

Fig. 7. Performance of the superimposition of the uncorrelated holograms


to reduce the speckle noise. The solid lines represent the variation of the
normalized contrast (Cont.) of the speckle (vertical axis at the left-hand side)
versus the number of superimposed holograms. The dotted lines represent the
time needed to produce the superimposed resulting image (vertical axis at the
right-hand side) versus the number of superimposed holograms. See the text
for further details.

complete system is determined by the minimum time needed


to obtain the superimposed image. Namely, the minimum
processing time is obtained for zero padded holograms with
10241024 pixels. A further conclusion can be extracted from
the combined curves in Fig. 7. The best tradeoff between the
reduction of contrast of the speckle noise and the spent time to
produce the resulting image is obtained when six uncorrelated
holograms are superimposed.
If the complete method with acquisition, reconstruction,
and superposition would be implemented just on the CPU,
its performance would be one order of magnitude slower than
the method running on the used commodity GPU. Because the
camera acquires holograms at 100 frames per second, and to
reconstruct one single hologram of 1024 1024 pixels the
CPU spends 125.2 ms, the thread of the CPU that would
drive the recording of the holograms, would have to wait until
the thread controlling the reconstruction and superposition
finishes. This means that for reconstructing and superimposing
S zero padded holograms with 1024 1024 pixels, the
hypothetical implemented method on the CPU would spend
S 125.2 ms. Hence, as compared with the time spent by the
GPU to process completely six holograms, the CPU would be
one order of magnitude slower.
V. C ONCLUSION
Numerically reconstructed holograms suffer from speckle
noise. Additionally to this unpleasant feature, the deferred time
between the digital recording of the hologram and its noisy
numerical reconstruction, has discouraged the wider application of DH. Some methodologies to diminish the speckle noise
use the superposition of multiple uncorrelated holograms,
worsening the problem of the elapsed time to obtain the

3535

desired reconstructed image. In this paper, the current trend


of using commodity GPUs as computational tool for large
amount of complex data, has been for first time presented to
reduce the speckle noise on the reconstructed images operating
at almost video rate.
The typical reconstruction time for one hologram of
1024 1024 pixels has been 25-times reduced in comparison
with its implementation in a regular CPU. The acceleration
of the numerical reconstruction along with the parallelization
of the complete systems, allows the superposition of six
uncorrelated reconstructions at 15 frames per second. The
presented method opens the possibility of performing applications of DH, as for instance real time digital holographic
interferometry, in environments where the processing of the
information is required with no delay.
The results presented in this paper are obtained with the
first approach possible to GPU programming by CUDA,
CUDA interfacing, and CUDA FFTW. Two main directions are
visualized that can improve the performance of the presented
method to produce numerically reconstructed holograms with
reduced speckle noise. The first is the use of multi-GPUs [52]
systems that allows for managing larger amounts of memory
and can process the uncorrelated holograms on the individual
GPUs. This option would of course diminish the processing
time by a number close to the number of GPUs utilized.
This first option can be combined with refactoring the initially
developed codes. As it has been very recently exposed [53],
further reduction on the processing time can be obtained by
refining and specializing the codes; in total agreement with
Reid et al. [53], may be the use of the power of cloud computing will also render further enhancement. We emphasize that
the aim of this paper is to show the feasibility of producing
holograms reconstructed numerically with virtually no speckle
noise at almost video frame rates. The optimization of this
methodology in the directions above-mentioned or others, can
be the directions of further investigations.
R EFERENCES
[1] T. Kreis, Handbook of Holographic Interferometry: Optical and Digital
Methods, New York, USA: Wiley, 2005, pp. 81180.
[2] U. Schnars and W. Jeptner, Digital Holography: Digital Hologram
Recording, Numerical Reconstruction, and Related Techniques, New
York, USA: Springer-Verlag, 2004, pp. 41122
[3] P. Ferraro, G. Coppola, S. De Nicola, A. Finizio, S. Grilli, M. Iodice, C.
Magro, and G. Pierattini, Digital holography for characterization and
testing of MEMS structures, Opt. MEMS, pp. 125126, Nov. 2002.
[4] A. Asundi, Digital Holography for MEMS and Microsystem Metrology,
New York, USA: Wiley, 2011, pp. 3139.
[5] Y. Fu, G. Pedrini, and W. Osten, Vibration measurement by temporal
Fourier analyses of a digital hologram sequence, Appl. Opt., vol. 46,
no. 23, pp. 57195727, Aug. 2007.
[6] G. Pedrini, S. Schedin, and H.J. Tiziani, Pulsed digital holography
combined with laser vibrometry for 3-D measurements of vibrating
objects, Opt. Lasers Eng., vol. 38, nos. 34, pp. 117129, Sep. 2002.
[7] P. Picart, J. Leval, D. Mounier, and S. Gougeon, Time-averaged digital
holography, Opt. Lett., vol. 28, no. 20, pp. 19001902, Oct. 2003.
[8] S. Boucherit, L. Bouamama, H. Benchickh, J. Lenoir, and S. Simons,
3-D solid particle positions in a flow via multiangle off-axis digital
holography, Opt. Lett., vol. 33, no. 18, pp. 20952097, Sep. 2008.
[9] E. Malkiel, J. Sheng, J. Katz, and J. Strickler The 3-D flow field generated by a feeding calanoid copepod measured using digital holography,
J. Exp. Biol., vol. 206, no. 20, pp. 36573666, Oct. 2003.
[10] E. Tajahuerce and B. Javidi, Encrypting 3-D information with digital
holography, Appl. Opt., vol. 39, no. 35, pp. 65956601, Dec. 2000.

3536

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 9, SEPTEMBER 2013

[11] T. J. Naughton and B. Javidi, Compression of encrypted 3-D objects


using digital holography, Opt. Eng., vol. 43, no. 10, pp. 22332338,
Mar. 2004.
[12] P. Marquet, B. Rappaz, P. J. Magistretti, E. Cuche, Y. Emery, T. Colomb,
and C. Depeursinge, Digital holographic microscopy: A noninvasive
contrast imaging technique allowing quantitative visualization of living
cells with subwavelength axial accuracy, Opt. Lett., vol. 30, no. 5, pp.
468470, Mar. 2005.
[13] P. Ferraro, S. De Nicola, A. Finizio, G. Coppola, S. Grilli, C. Magro,
and G. Pierattini, Compensation of the inherent wave front curvature
in digital holographic coherent microscopy for quantitative phasecontrast imaging, Appl. Opt., vol. 42, no. 11, pp. 19381946, Apr.
2003.
[14] B. Kemper, P. Langehanenberg, A. Vollmer, S. Ketelhut, and G. V. Bally,
Digital holographic microscopy: Label-free 3-D migration monitoring
of living cells, Imaging Micros., vol. 11, no. 4, pp. 2628, Nov. 2009.
[15] C. Mann, L. Yu, C. M. Lo, and M. Kim, High-resolution quantitative
phase-contrast microscopy by digital holography, Opt. Exp., vol. 13,
no. 22, pp. 86938698, Oct. 2005.
[16] L. P. Yaroslavsky and N. S. Merzlyakov, Methods of Digital Holography,
New York, USA: Consultants Bureau, 1989, pp. 6468.
[17] J. Garcia-Sucerquia, J. Herrera, and D. Velasquez, Reduction of speckle
noise in digital holography by using digital image processing, Optik-Int.
J. Light Electron Opt., vol. 116, no. 1, pp. 4448, Jan. 2005.
[18] J. Garcia-Sucerquia, J. Herrera, and R. Castaeda, Incoherent recovering of the spatial resolution in digital holography, Opt. Commun.,
vol. 260, no. 1, pp. 6267, Oct. 2006.
[19] X. Cai, Reduction of speckle noise in the reconstructed image of
digital holography, Optik Int. J. Light Electron. Opt., vol. 121, no. 4,
pp. 394399, Feb. 2010.
[20] J. Maycock, B. M. Hennelly, J. B. McDonald, Y. Frauel, A. Castro,
B. Javidi, and T. J. Naughton, Reduction of speckle in digital holography by discrete Fourier filtering, J. Opt. Soc. Amer. A, vol. 24, no. 6,
pp. 16171622, Jun. 2007.
[21] X. Kang, An effective method for reducing speckle noise in digital
holography, Chin. Opt. Lett., vol. 6, no. 2, pp. 100103, Feb. 2008.
[22] T. Baumbach, E. Kolenovic, V. Kebbel, and W. Juptner, Improvement
of accuracy in digital holography by use of multiple holograms, Appl.
Opt., vol. 45, no. 24, pp. 60776085, Aug. 2006.
[23] F. Pan, W. Xiao, S. Liu, F. Wang, L. Rong, and R. Li, Coherent noise
reduction in digital holographic phase contrast microscopy by slightly
shifting object, Opt. Exp., vol. 19, no. 5, pp. 38623869, Feb. 2011.
[24] W. Xiao, J. Zhang, L. Rong, F. Pan, S. Liu, F. Wang, and A. He,
Improvement of speckle noise suppression in digital holography by
rotating linear polarization state, Chin. Opt. Lett., vol. 9, no. 6,
p. 060901, Jun. 2011.
[25] C. Yu, I. Matsubara, and W. J. Dallas, Speckle noise reduction for
digital holography using longitudinal shifting, OSA Topical Meeting
Digit. Holography 3-D Imaging (DH), Miami, FA, USA, Apr. 2012,
pp. 13, paper DM4C.4.
[26] J. D. Owens, M. Houston, D. Luebke, S. Green, J. E. Stone, and J. C.
Phillips, GPU Computing, Proc. IEEE, vol. 96, no. 5, pp. 879899,
Apr. 2008.
[27] T. Preis, P. Virnau, W. Paul, and J. J. Schneider, GPU accelerated monte
carlo simulation of the 2-D and 3-D ising model, J. Comput. Phys.,
vol. 228, no. 12, pp. 44684477, Mar. 2009.
[28] J. Michalakes, and M. Vachharajani, GPU acceleration of numerical
weather prediction, in Proc. IEEE Int. Symp. Parallel Distrib. Process.,
Apr. 2008, pp. 17.
[29] E. B. Ford, Parallel algorithm for solving Keplers equation on Graphics
Processing Units: Application to analysis of doppler exoplanet searches,
New Astron., vol. 14, no. 4, pp. 406412, May 2009.
[30] S. Zhang, D. Royer, and S-T. Yau, GPU-assisted high-resolution, realtime 3-D shape measurement, Opt. Exp., vol. 14, no. 20, pp. 91209129,
Oct. 2006.
[31] K. Zhang, and J. Kang, Graphics processing unit accelerated nonuniform fast Fourier transform for ultrahigh-speed, real-time Fourierdomain OCT, Opt. Exp., vol. 18, no. 22, pp. 2347223487,
Oct. 2010.
[32] K.-M. Jeong, H.-S. Kim, S.-I. Hong, H.-E. Kim, and J.-H. Park, GPU
based acceleration of incoherent Fourier hologram capture using integral
imaging, OSA Topical Meeting Digit. Holography 3-D Imaging (DH),
Miami, FL, USA, Apr. 2012, pp. 13, paper JM3A.54.
[33] (Online Sources) NVIDIA Corporation. (2010, May, 28).
NVIDIA
CUDA
C
Programming
Guide,
Available:
http://developer.download. nvidia.com / compute/ DevZone/ docs/ html/C/
doc/CUDACProgramming/Guide.pdf

[34] (Online Sources) NVIDIA Corporation. (2010, 5, 28). CUDA


CUFFT Library, Available: http://developer.download.nvidia.com/
compute/DevZone/docs/html/CUDALibraries/doc/CUFFT/Library.pdf
[35] T. Shimobaba, Y. Sato, J. Miura, M. Takenouchi, and T. Ito, Real-time
digital holographic microscopy using the graphic processing unit, Opt.
Exp., vol. 16, no. 16, pp. 1177611781, Aug. 2008.
[36] A. J. Page, L. Ahrenberg, and T. J. Naughton, Low memory distributed
reconstruction of large digital holograms, Opt. Exp., vol. 16, no. 3, pp.
19901995, Feb. 2008.
[37] L. Ahrenberg, A. J. Page, B. M. Hennelly, J. B. McDonald, and
T. J. Naughton, Using commodity graphics hardware for real-time
digital hologram view-reconstruction, J. Display Tech., vol. 5, no. 4,
pp. 111119, Apr. 2009.
[38] N. Pandey, D. P. Kelly, T. J. Naughton, and B. M. Hennelly, Speed
up of Fresnel transforms for digital holography using pre-computed
chirp and GPU processing, in Proc. Int. Soc. Opt. Photon., Aug. 2009,
pp. 744205744205.
[39] J. W. Goodman, Introduction to Fourier Optics, 3rd ed. New York, USA:
Roberts & Company, 2005, pp. 295388.
[40] T. Kreis and W. Juptner, Suppression of the DC term in digital
holography, Opt. Eng., vol. 36, no. 8, pp. 23582360, Mar. 1997.
[41] Y. Takaki, H. Kawai, and H. Ohzu, Hybrid holographic microscopy
free of conjugate and zero-order images, Appl. Opt., vol. 38, no. 23,
pp. 49904996, Aug. 1999.
[42] E. Cuche, P. Marquet, and C. Depeursinge, Spatial filtering for zeroorder and twin-image elimination in digital off-axis holography, Appl.
Opt., vol. 39, no. 23, pp. 40704075, Aug. 2000.
[43] Y. Zhang, Q. L, and B. Ge, Elimination of zero-order diffraction in digital off-axis holography, Opt. Comm., vol. 240, no. 46,
pp. 261267, Oct. 2004.
[44] J. Herrera and J. Garcia-Sucerquia, Digital off-axis holography without
zero-order diffraction via phase manipulation, Opt. Commun., vol. 277,
no. 2, pp. 259253, May 2007.
[45] J. Wu, M. F. Lu, Y. C. Dong, M. Zheng, M. Huang, and Y. N. Wu, Zeroorder noise suppression with various space-shifting manipulations of
reconstructed images in digital holography, Appl. Opt., vol. 50, no. 34,
pp. 5661, Dec. 2011.
[46] F. Le Clerc, M. Gross, and L. Collot, Synthetic-aperture experiment
in the visible with on-axis digital heterodyne holography, Opt. Lett.,
vol. 26, no. 20, pp. 15501552, Oct. 2001.
[47] J. H. Massig, Digital off-axis holography with a synthetic aperture,
Opt. Lett., vol. 27, no. 24, pp. 21792181, Dec. 2002.
[48] T. M. Kreis, M. Adams, and W. P. O. Jueptner, Aperture synthesis in
digital holography, in Proc. Int. Soc. Opt. Photon., vol. 4777, Jun. 2002,
pp. 6976.
[49] A. E. Tippie, A. Kumar, and J. R. Fienup, High-resolution syntheticaperture digital holography with digital phase and pupil correction, Opt.
Exp., vol. 19, no. 13, pp. 1202712038, Jun. 2011.
[50] D. Claus, M. Fritzsche, D. Iliescu, B. Timmerman, and P. BryanstonCross, High-resolution digital holography utilized by the subpixel sampling method, Appl. Opt., vol. 50, no. 24, pp. 47114719, Aug. 2011.
[51] M. Frigo, and S. G. Johnson, FFTW: An adaptive software architecture
for the FFT, in Proc. IEEE Int. Conf. Acoust., Speech Signal Process.,
vol. 3. May 1998, pp. 13811384.
[52] B. Block, P. Virnau, and T. Preis, Multi-GPU accelerated multi-spin
Monte Carlo simulations of the 2-D Ising model, Comput. Phys.
Commun., vol. 181, no. 9, pp. 15491556, Sep. 2010.
[53] I. D. Reid, J. J. Nebrensky, and P. R. Hobson, Challenges in using
GPUs for the reconstruction of digital hologram images, in Proc. J.
Phys., Conf. Ser., vol. 368. Jun. 2012, pp. 012025-1-1012025-3.

Carlos Trujillo received the B.S. degree in physics


engineering from the Universidad Nacional de
Colombia, Medellin, Colombia, in 2010, where he
is currently pursuing the M.Sc. degree in computer
engineering.
He is with the Universidad Nacional de Colombia,
Medelln, where he is working on the development
of weather stations at the SIATA, early warning
system for climate. His current research interests
include parallel computing in GPU, digital holography and electronics.

TRUJILLO AND GARCIA-SUCERQUIA: ACCELERATED NUMERICAL PROCESSING OF ELECTRONICALLY RECORDED HOLOGRAMS

Jorge Garcia-Sucerquia received the B.Sc. degree


in physics from the Universidad de Antioquia,
Medellin, Colombia, in 2006, and the Ph.D. degree
in physics from the Universidad de Antioquia,
Medelln, Colombia, in 2003. His thesis Spatial
Coherence Wavelets (magna cum laude) was the
onset of a new approach to understand spatially
partially coherent light.
He is currently an Associate Professor with the
School of Physics, Universidad Nacional de Colombia, Medellin, Colombia, where he serves in the

3537

program of Engineering Physics. His honors project was the development


of phase unwrapping algorithms to quantify phase from interferometric
measurements. During his Masters thesis, he started the study spatially
partially coherence light. Right after his Ph.D thesis, he started the study
of digital holography, a field in which he has done his most cited research.
From 2004 to 2006, he held a postdoctoral position with the Department of
Physics, Dalhousie University (Halifax-Canada) in a group with Prof. Hans
Jurgen Kreuzer, a position in which he was introduced to lensless holographic
microscopy, which is currently his main area of research. His research interests
include digital holography, optical metrology and optical coherence.

Vous aimerez peut-être aussi