Digital Holography

Holography related topics.
Din
Posts: 402
Joined: Thu Mar 12, 2015 4:47 pm

Digital Holography

Post by Din »

I have been having a conversation with Petr Lobaz on digital holography at Facebook. Petr thought it'd be easier for archival purposes to bring the conversation here, for archival purposes (better here than Facebook), and to educate on digital holography.

Petr, perhaps you can re-state what you stated on Facebook as to what kind of computation is necessary for digital holography.
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

Petr, perhaps you can re-state what you stated on Facebook as to what kind of computation is necessary for digital holography.
It seems that "classical" holographers (at least Dinesh and BobH) have some initial troubles when switching their mind from analogue to purely digital. :)

First of all, let us define some terms.

1. "Classical hologram" is a hologram prepared using laser beams, photosensitive material such as silver halide, chemical processing and so on.
2. "Digital holography" tries to employ digital computers somewhere in the process. For example, instead of using silver halide material, the interference pattern can be recorded using raw CCD sensor (such as the one found inside a digital camera). It is then possible to, e.g., analyse the captured hologram computationally.
3. "Computer generated holography" is a branch of digital holography. The aim is to avoid physical hologram formation at all - the interference pattern is calculated somehow. For example, it is possible to simulate light waves and their interference. Such a calculated hologram is in fact an image - the same image you would see if you look at a classical hologram under a microscope. In you have a fine enough printer, you can "print" such a calculated interference pattern and use it as a classical hologram - you can illuminate it with a laser beam and observe diffracted light.
4. "Computer generated display holography" is a branch of computer generated holography. In this case, the aim of the calculated hologram is to make an image, for example of a 3-D scene. It is worth mentioning that most computer generated holograms are not display holograms - they serve as general optical elements modifying light. Computer generated holograms can be used as diffusers, aberration correctors, beam splitters, homogenizers, and so on.
5. There are other kinds of combining computers and holography. For example, Zebra Imaging or Geola make thousands of images using computer graphics and use them to make a single holographic stereogram. It should be noted that the "digital part" of the process is pure computer graphics. All the "holographic" stuff - wave interference, Bragg selectivity and so on - takes part in the machine that actually makes the stereogram. That machine actually composes a holographic stereogram from thousands of tiny classical holograms, each hologram encodes one image produced by computer graphics.

This discussion is about points 3 and 4. It is NOT about Geola/Zebra stereograms.

OK.

In computer generated holography, we usually need to do three steps:
1. Calculate a digital hologram, i.e. a strange image full of fine lines, dots, etc. Human eye cannot see anything in that image.
2. Print the digital hologram in the appropriate size.
3. Take the printed hologram and illuminate it with proper light, e.g. with a laser beam.

(To be continued...)
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

The easiest way to fulfill step 1 - to calculate a synthetic hologram - is to simulate wave interference. That is:

1a) We have to simulate light leaving an object, i.e. the object wave.
1b) We have to simulate a reference wave. Note that in computer generated holography, we do not have problems that are typical in classical holography. We can make a perfect collimated wave, arbitrary converging wave, there are no problems with angles, shadows, etc.
1c) Finally, we calculate interference pattern of the object and the reference wave.

Note that this procedure is NOT the only one that leads to a nice synthetic hologram. But as readers of this forum are used to work in classical holography, it is the best to begin with something that sounds familiar.

When simulating monochromatic coherent light (i.e. laser light), we usually use scalar model of light. This means that light at a point can be fully described by two numbers: amplitude A and phase phi. For convenience, they are usually written as a single complex number U:

U = A cos(phi) + i A sin(phi)

where i is the imaginary unit, i*i = -1. This can be rewritten using Euler's identity to:

U = A exp(2 pi i phi)

As an example, let us place the "holographic plate" to the plane z = 0 and make a hologram of a simple "object" composed of three self-luminous points. The points will be located in z < 0.

First, we must calculate the object wave at each point [x, y, 0] of the holographic plate. A point light source emits light to each direction. If the point is located at [ax, ay, az], then light at [x, y, 0] can be described by a complex number U:

U = exp(i 2 pi / lambda r) / r

where

r = sqrt( [ax - x]^2 + [ay - y]^2 + z^2 )

and lambda is the laser light wavelength, for example 532 nm. If we have three points A, B, C located at [ax, ay, az], [bx, by, bz], [cx, cy, cz], we just have to calculate this number U for each of them and sum them. After many calculations, we get the numerical simulation of an object wave.
Object wave - real part
Object wave - real part
objectWave_re.jpg (13.66 KiB) Viewed 4421 times
Object wave - imaginary part
Object wave - imaginary part
objectWave_im.jpg (13.74 KiB) Viewed 4421 times
Object wave - complex number visualization
Object wave - complex number visualization
objectWave_cplx.jpg (24.4 KiB) Viewed 4421 times
In the last image, a single pixel represents a complex number. Bright color means high amplitude (intensity), black or dark means low amplitude (intensity). Color hue then represents phase of light.

Note that neither real, imaginary nor complex visualization has some equivalent in reality. In reality, we can observe just light intensity. These games with complex numbers, phases and so on are just a mathematical trick to get work done. These pictures are NOT what you would see when three point light sources illuminate a holographic plate!

(To be continued...)
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

Calculation of the collimated (plane) reference wave is quite easy. A plane wave at a point [x, y, 0] can be expressed by a complex number R:

R = exp(i 2 pi [nx x + ny y]/lambda)

where direction of the collimated wave is given by a unit vector [nx, ny, sqrt(1 - nx^2 - ny^2)].

We simply calculate the reference wave at each point [x, y, 0] of the holographic plate. If the wave was coming from the top of the plate, we get these complex numbers:
Reference wave - complex number visualization
Reference wave - complex number visualization
referenceWave_cplx.jpg (14.6 KiB) Viewed 4421 times
Now we have two light fields: the object wave U and the reference wave R. To calculate their interference, we just calculate

H = [abs(U + R)]^2

at each point of the holographic plate. Numbers H are real and represent intensity of light illuminating the holographic plate. Thus, H is something observable and, indeed, it is the synthetic hologram we are trying to make. Here it is:
Synthetic hologram
Synthetic hologram
hologram_abs.jpg (17.63 KiB) Viewed 4421 times
(To be continued...)
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

Now we have a matrix of numbers in the computer memory - the computer generated hologram. What to do with that?

The usual task that follows is to fabricate it. The hologram above was calculated for pixel pitch 10 um, and has 301 x 301 pixels. Its size should be therefore about 3x3 mm. Common "printers" are just binary - a pixel can be transparent, or opaque. For this hologram, we must use a printer that offers pixels 10 um, i.e. 100 px/mm, i.e. 2540 dpi. Before printing, we must make the hologram binary:
Binarized hologram
Binarized hologram
hologram_bin_abs.jpg (46.43 KiB) Viewed 4421 times
Once we print this image in appropriate size 3x3 mm, we can illuminate it with a laser beam. Recall that the object wave was composed of three point light sources. That is, if we want to reconstruct a real image, three points should appear on the screen. Here they are (note this is just numerical simulation what happens, not a real photograph of the experiment):
Reconstruction of the real image
Reconstruction of the real image
reconstruction_bin.jpg (4.2 KiB) Viewed 4421 times
We can actually see three points on a diagonal - the central one is sharp, the others are blurry. This indicates that our point light sources were not located in a plane parallel to the hologram - one was farther, one was closer than the central one. This is indeed true, locations were (in milimeters):

[-0.5, -0.5, -550] - bottom left
[0, 0, -500] - central
[0.5, 0.5, -400] - top right

Moreover, near the top edge of the reconstructed image is slightly brighter than black. This is in fact part of the undiffracted laser beam that illuminates the hologram from the bottom.
Finally, there are fringes around points. This is the consequence of light coherence and the geometry that was used in hologram calculation.

(To be continued...)
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

The example I gave was a very basic one. The calculated hologram was very small (3x3 mm) and pixel size very big (10 um). Big pixel size means low angles of diffraction, in this case about 1.5 degree. It follows that such a hologram can be hardly used as a nice display hologram.

For computer generated display holography, we need hologram size at least several square centimeters, and small pixel pitch to allow large angle of observation. Pixel pitch 1 um allows angle 1 degrees (for green light 532 nm), pixel pitch 0.5 um allows angle 32 degrees.

Thus, to calculate a hologram 50x50 mm with pixel pitch 0.5 um, we should calculate an image with 100 000 × 100 000 pixels, i.e. 10 gigapixels, and use a printer that can make such a tiny pixels. The most usual "printer" is laser lithography. The principle is simple: a laser beam is focused by a microscope objective to a spot of size one pixel, for example diameter 0.5 um. The spot is recorded on a photoresist plate, i.e. a glass plate covered with a thin laer of chromium and a photoresist layer. The laser illuminates pixel by pixel the whole plate (it takes a long time to print a 10 gigapixel hologram!). After exposure, the photoresist is developed, which means that (for example) the unexposed parts are washed away, exposed parts stay on the chromium layer. Chromium layer is then etched - due to partial coverage of photoresist, some parts of the plate become transparent, the others are still opaque. After that, we have a binary amplitude hologram. See for example Kan-Dai Digital Holo-Studio for more details:

http://holography.ordist.kansai-u.ac.jp ... studio/en/

There are other technologies for digital hologram fabrication:

- Instead of printing "dot by dot", a part of a synthetic hologram is displayed on a microdisplay and optically reduced to a photoresist plate. Thus, thousands or millions pixels are exposed at once.
- It is possible to develop the photoresist and metallize it. Then we have a reflective surface relief that behaves like a phase hologram. It is also possible not to binarize the hologram before exposing, i.e. it is possible to fabricate "continuous" profile.
- Instead of using laser light, it is possible to use electron beam to expose the photoresist. Electron beam can go down to pixel size 50 nm or even smaller. It is then possible to make hologram features with high precision.
- It is also possible to use ion beam that etches the material directly. It has some pros and cons over other technologies, indeed.

That's all for the introduction. If you want to know more, check my tutorial notes on computer generated display holography:

http://holo.zcu.cz/cgdh_basics.html

This page also hosts CGDH Tools: a set of scripts working in Matlab / Octave / Scilab (free alternatives to Matlab) that show many basic procedures in computer generated display holography. Enjoy!
jrburns47
Posts: 166
Joined: Mon Sep 14, 2015 2:48 pm
Location: Oyster Bay, NY

Re: Digital Holography

Post by jrburns47 »

Wonderfully clear and simply explained. Thank you.
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

Thank you, Jody.
And now the hard questions, Dinesh! :)
Din
Posts: 402
Joined: Thu Mar 12, 2015 4:47 pm

Re: Digital Holography

Post by Din »

I think I caught you in a typo :) :
lobaz wrote:A point light source emits light to each direction. If the point is located at [ax, ay, az], then light at [x, y, 0] can be described by a complex number U:

U = (1/r)exp(i 2 pi / lambda r) / r

where

r = sqrt( [ax - x]^2 + [ay - y]^2 + z^2 )
Surely
U = (1/r)exp(i(2π/λ)r) = exp(ikr)
Not
U = (1/r)exp(i(2π/(λr)) = (1/r)exp(i(k/r))

I understand the total disturbance on the hologram is the sum of individual disturbances caused by individual points. Basically, it's a sum of sinusoidal components for each point. Isn't this just a Fourier sum? If you had a large number of points, or, in the limit, a continuous surface, then is the disturbance the Fourier transform of the surface function (or the transmittance function)? As you mentioned, if you have a purely sinusoidal grating with frequency f(x), you'll get three points of light reconstructed. Since the three points of light may be thought of as three delta functions δ(f), δ(f - f(x)) and δ(f+f(x)), the reconstruction is the inverse FT of the sinusoidal pattern on the hologram. So, can you work backwards? If you want a specific output function, can you take the inverse function, and 'plot' this on the hologram?

I was wondering why you need/plotted both the real and the complex part of the object wave. I assume that it's to calculate H = [abs(U + R)]^2. But, if the phase of any given object point is φ(o), and the phase of the ref is φ(r), then:
U = (1/r)exp(iφ(r)) = cos(φ(r)) + i sin(φ(r))

R = exp(iφ(o)) = cos(φ(o)) + i sin(φ(o))

Assuming, as you did, that amplitude is 1. So:

H = [abs(U + R)]^2 = (U+R)(U+R)* = [cos(φ(r)) + i sin(φ(r))][cos(φ(o)) - i sin(φ(o))

The real part of this is:

cos(φ(r)cos(φ(o) - sin(φ(r))sin(φ(o)) = cos[φ(r) + φ(o)]

and the complex part is:

sin(φ(r))cos(φ(r)) - cos(φ(r))sin(φ(o)) = 0

So, it seems that all you need is the phase difference, and you can use the classic:
I = (U+R)(U+R)* = (1/r²)U² + R² + 2 cos[φ(r) + φ(o)] = (1/r²)I(O) + I(R) + 2 [cos((φ(o)) - (φ(r))]

So, why plot the complex part of the object wave?

Also, the above indicates that there is an overall increase in amplitude of U² + R² (what I call the 'dc level'). But, if you simply poke holes in the resist at positions given by the phase difference, what simulates the dc level? I assume that the holes from the objective lens should not be developed/etched all the way to the glass, thus giving you an overall phase delay, which corresponds to the dc level.
lobaz
Posts: 280
Joined: Mon Jan 12, 2015 6:08 am
Location: Pilsen, Czech Republic

Re: Digital Holography

Post by lobaz »

First: yes, there was a typo :)
The correct version is:
A point light source emits light to each direction. If the point is located at [ax, ay, az], then light at [x, y, 0] can be described by a complex number U:

U = (1/r) exp [i (2 π / λ) r] = (1/r) exp (i k r)

where

r = sqrt( [ax - x]^2 + [ay - y]^2 + z^2 )
k = 2π / λ
Indeed, the point light source discussed has unit amplitude and zero initial phase. A general point light source with amplitude A and initial phase φ0 should be expressed by
U = A exp(i φ0) exp (i k r) / r
(To be continued...)
Post Reply