Holography in Your Pocket
Creating Digital Holograms from Smartphone Depth Data
digital holography, smartphone, depth sensing, computational imaging, spatial media
1 Introduction
Digital holography normally requires specialized optical equipment, coherent light sources, precise mechanical alignment, and significant technical knowledge.
Modern smartphones, however, can capture both a conventional color image and an associated depth map. This makes it possible to experiment with computer-generated holography using inexpensive consumer hardware.
Together with Philippe Gentet, we investigated how smartphone depth information could be used as a source for digital hologram generation (Hamacher and Gentet 2025).
This is not intended to be a complete scientific reproduction of the published method. It is a Quarto demonstration showing how a technical tutorial can combine text, references, video, images, equations, tables, warnings, and downloadable material on one page.
2 Video overview
The following video introduces the project and demonstrates the visual result.
For a URL such as
https://www.youtube.com/watch?v=4ID6_RICCK8
the video ID is:
4ID6_RICCK8
The embed address would therefore be:
https://www.youtube.com/embed/4ID6_RICCK8
3 Overview of the method
The workflow can be summarized as follows:
- Capture an RGB image.
- Acquire or calculate a corresponding depth map.
- Correct and normalize the depth information.
- Convert the scene into a layered or point-based representation.
- calculate the optical wavefront.
- Encode the result as a computer-generated hologram.
- Numerically or optically reconstruct the image.
The depth map represents the estimated geometric distance between the camera and points in the scene. Errors in the depth map therefore become structural errors in the reconstructed hologram.
This issue is discussed again in Section 5.
4 Required material
| Component | Purpose | Required? |
|---|---|---|
| Smartphone | Captures the color image | Yes |
| Depth sensor or depth model | Produces scene-depth information | Yes |
| Computer | Processes depth and calculates the hologram | Yes |
| Hologram software | Generates the computer-generated hologram | Yes |
| Spatial light modulator | Displays the optical hologram | Optional |
| Holographic printer | Produces a permanent holographic recording | Optional |
As shown in Table 1, an optical reconstruction system is optional when the purpose is only numerical experimentation.
A numerical reconstruction simulates how the hologram would behave when illuminated. Instead of using a laser and optical components, software propagates the encoded wavefront and produces an image of the reconstructed scene.
Click this heading to expand or collapse the explanation.
5 Capture and depth acquisition
The first stage is to obtain a color image and depth information representing the same viewpoint.
5.1 Possible capture methods
A smartphone equipped with a depth sensor can produce depth data aligned with the camera image.
Advantages:
- direct capture
- relatively fast
- no separate depth-estimation stage
- suitable for close-range subjects
Limitations:
- restricted depth range
- limited spatial resolution
- reflective and transparent surfaces can produce errors
A depth-estimation model can infer depth from an ordinary two-dimensional photograph.
Advantages:
- works with existing images
- does not require a hardware depth sensor
- can process archival material
Limitations:
- estimated rather than measured depth
- uncertain absolute scale
- possible errors around hair, transparent objects, and thin structures
An artist can paint or model a depth map manually.
Advantages:
- complete creative control
- useful for stylized images
- errors can be corrected deliberately
Limitations:
- time-consuming
- requires spatial judgment
- difficult for complex scenes
The RGB image and depth map must describe the same framing and viewpoint. Resizing, cropping, or rotating only one of them will cause incorrect depth placement.
6 Preparing the depth map
A raw depth map frequently requires correction before hologram synthesis.
Common operations include:
- removal of invalid values
- hole filling
- edge-preserving smoothing
- depth-range normalization
- foreground and background separation
- correction of isolated depth errors
Strong blur can merge foreground and background depth values. The resulting hologram may show stretched edges or artificial surfaces connecting unrelated objects.
6.1 Example images
Place two example images in your images folder:
images/
├── source-image.jpg
└── depth-map.jpg
Then Quarto can show them as a figure group:
Click either image to open it at a larger size. Quarto provides this lightbox behavior automatically for HTML output. oai_citation:1‡Quarto
The color image is shown in Figure 1 (a), while Figure 1 (b) contains the estimated distance information.
7 Wavefront calculation
A hologram does not simply store a left-eye and right-eye image. It encodes an optical wavefront.
A simplified monochromatic wave can be expressed as:
\[ U(x,y) = A(x,y)e^{i\phi(x,y)} \tag{1}\]
where:
- \(A(x,y)\) is the amplitude,
- \(\phi(x,y)\) is the phase,
- \(i\) is the imaginary unit.
Equation Equation 1 shows that the wavefront contains both amplitude and phase information.
A simple point contribution can be represented conceptually as:
\[ U_p(x,y) = \frac{a_p}{r_p} \exp\left(i\frac{2\pi}{\lambda}r_p\right) \tag{2}\]
where \(r_p\) is the distance from a scene point to a position on the hologram plane and \(\lambda\) is the wavelength.
These equations are included to demonstrate Quarto equation rendering and cross-referencing. They are not a complete specification of the algorithm used in the published work.
8 Demonstration pseudocode
The following pseudocode illustrates the relationship between the image, depth map, and hologram calculation.
# Load an RGB image and its corresponding depth map
image = load_image("source-image.jpg")
depth = load_depth("depth-map.exr")
# Normalize depth to the desired reconstruction range
depth = normalize_depth(
depth,
near_distance=0.30,
far_distance=2.00
)
# Convert image pixels and depth values into scene points
points = create_colored_point_cloud(image, depth)
# Calculate the optical field on the hologram plane
wavefront = calculate_wavefront(
points,
wavelength=532e-9,
hologram_width=0.10,
hologram_height=0.10
)
# Encode the phase hologram
hologram = phase(wavefront)
save_image("hologram.png", hologram)The source code is folded by default because the page header contains:
code-fold: true
code-copy: trueReaders can expand the block and copy it with one click. Quarto supports code folding for HTML output. oai_citation:2‡Quarto
9 Reconstruction methods
The generated hologram can be evaluated in several ways.
The hologram is propagated computationally to simulate the reconstructed optical field.
This is useful for:
- testing the calculation
- checking focus planes
- comparing algorithms
- publishing results online
A phase or amplitude spatial light modulator can display the hologram in an optical reconstruction setup.
This usually requires:
- coherent illumination
- beam expansion
- polarization control
- spatial filtering
- careful alignment
The calculated hologram can be used as input for a suitable holographic printing or recording process.
This produces a physical holographic image rather than a screen-based simulation.
Optical hologram reconstruction may use coherent laser illumination. Appropriate laser-safety procedures, beam containment, and eye protection are required.
This section is collapsed because it is important but may not be necessary for readers who are only testing the numerical workflow.
10 Results
Add a reconstructed result image to the images directory:
images/reconstruction.jpg
Then use:
Figure 2 demonstrates the type of result that can be presented in the article.
A numerically propagated hologram can be reconstructed at several distances. Different parts of the scene should become sharper at different propagation depths.
11 Advantages and limitations
11.1 Advantages
- uses widely available consumer imaging hardware
- lowers the entry barrier to hologram creation
- combines photography, depth sensing, and computational optics
- supports educational and artistic experimentation
- can produce both numerical and physical results
11.2 Limitations
- smartphone depth maps have limited resolution
- depth discontinuities can produce visible artifacts
- transparent and reflective materials are difficult
- inferred depth is not equivalent to measured optical phase
- large holograms can require significant computation
A depth map contains geometric distance information. A hologram encodes the wavefront required to reconstruct light from the represented scene. The hologram must therefore be calculated from the color and depth information.
12 Download and reuse
You can provide downloadable material using ordinary Markdown links:
[Download the example depth map](downloads/example-depth.exr)
[Download the processing script](downloads/process-depth.py)Create a downloads directory beside the article:
downloads/
├── example-depth.exr
└── process-depth.py
13 Citation
A normal parenthetical citation is written as:
[@hamacher2025]A narrative citation is written as:
@hamacher2025For example:
The smartphone holography method was described by Hamacher and Gentet (2025).
Quarto generates the formatted citation and bibliography automatically from references.bib. Citation information can also appear when the reader hovers over a citation in HTML output. oai_citation:3‡Quarto
14 Notes
A footnote can contain an additional explanation without interrupting the main text.1
15 Conclusion
Smartphone depth sensing offers an accessible starting point for computer-generated holography. It does not replace a complete optical holographic recording system, but it allows artists, students, and researchers to experiment with three-dimensional scene information and wavefront calculation.
The combination of embedded video, figures, tabbed explanations, expandable warnings, equations, downloadable files, and scholarly references also demonstrates why Quarto is useful for publishing technical material.
16 References
Footnotes
Depth maps may encode distance in metres, millimetres, normalized values, disparity, or inverse depth. The encoding must be understood before the values are used in a hologram calculation.↩︎


