
See it jump out of your screen — live demo
30-second start:
pip install git+https://github.com/ElaMCB/hologram-lab
holo-sim -m fresnel -i my.png -z 0.05 -o out.pngOr try the live WebGL demos on GitHub Pages — triangle hologram and robotic face.
Full tour (click to expand)
Need help? Is your hologram blurry? Open an issue with the help-wanted label or check CONTRIBUTING.md.
A comprehensive repository covering real hologram creation, hands-on demos, resources, and a GitHub Pages hologram simulation.
This repository provides everything you need to learn about holography—from creating real physical holograms to simulating them computationally. Whether you're interested in DIY laser holograms, computer-generated holograms (CGH), or interactive web-based hologram effects, this lab has you covered.
| Folder | What you'll get |
|---|---|
real-holograms |
DIY LitiHolo kit tutorials, MIT course notes, INTEGRAF pro guides |
simulations |
Fresnel / Fourier / Kinoform CGH notebooks + JackHCC fork |
github-page-hologram |
WebGL Pepper's-ghost illusion that works on mobile |
robotic-face-hologram |
Chrome android head scan with holographic shader |
docs/ |
GitHub Pages site — all live demos must be linked from docs/index.html |
resources |
Curated books, papers, SLM controllers, datasets |
demos |
Auto-generated GIFs & videos (updated nightly via CI) |
# Install from GitHub
pip install git+https://github.com/ElaMCB/hologram-lab
# Or clone and install locally
git clone https://github.com/ElaMCB/hologram-lab.git
cd hologram-lab
pip install -e .# One-line hologram generation
holo-sim --method fresnel --image input.png --z 0.05 --out output.png
# Short form
holo-sim -m fresnel -i input.png -z 0.05 -o output.png
# See all options
holo-sim --help# Launch Jupyter playground
jupyter notebook simulations/
# Try the demos
python simulations/fourier_hologram_demo.py
python simulations/fresnel_hologram_example.pydocker build -t hologram-lab .
docker run -p 8080:8080 hologram-labgit submodule add https://github.com/JackHCC/Computer-Generated-Hologram.git cgh-lib
git submodule update --init --recursiveStart with the beginner-friendly guides in /real-holograms:
- LitiHolo Kit Tutorial - No chemicals needed, perfect for beginners
- MIT Holography Course - Comprehensive theoretical foundation
- INTEGRAF Guides - Professional techniques for reflection and transmission holograms
Explore CGH algorithms in /simulations:
- Fourier holograms for far-field reconstruction
- Fresnel holograms for near-field applications
- Kinoform holograms for phase-only encoding
Visit the GitHub Pages site for live WebGL demos:
| Demo | URL |
|---|---|
| Triangle Hologram | https://elamcb.github.io/hologram-lab/ |
| Robotic Face Hologram | https://elamcb.github.io/hologram-lab/robotic-face-hologram/ |
The main page includes a Live Demos grid — add every new interactive demo there (see docs/README.md).
Features include:
- Real-time 3D rendering with WebGL
- Mobile-responsive Pepper's Ghost effect
- Smooth animations and interactions
- Dark mode support — page respects OS dark-mode (toggle yours to see the pyramid glow)
- Introduction to Fourier Optics by Joseph W. Goodman
- Practical Holography by Graham Saxby
- MIT OpenCourseWare: Holography courses
- Neural Holography: Deep learning for holographic displays
- DeepCGH: 3D hologram generation with deep learning
- Real-time computer-generated holography
- odak - Python library for computational optics
- DeepCGH - Deep learning for holograms
- realistic_holography - Realistic hologram simulation
- LitiHolo DIY kits - No-chemical hologram creation
- Spatial Light Modulators (SLMs) - Digital hologram projection
- INTEGRAF supplies - Professional holography materials
This project is licensed under the MIT License - see the LICENSE file for details.
- JackHCC/Computer-Generated-Hologram for CGH implementations
- MIT OpenCourseWare for educational materials
- INTEGRAF for professional holography resources
- The holography community for inspiration and knowledge sharing
This repository covers: hologram, computer-generated-holography, cgh, slm, spatial-light-modulator, optics, holography, python, jupyter, webgl, threejs, fourier-optics, computational-optics, optical-physics
To help with discoverability, add these topics to your repository settings on GitHub.
| Algorithm | PSNR (↑) | SSIM (↑) | Speed (ms) |
|---|---|---|---|
| Fresnel (CPU) | 31.2 | 0.94 | 120 |
| Fresnel (GPU)* | 33.1 | 0.96 | 18 |
| Fourier | 28.5 | 0.91 | 95 |
| Kinoform | 30.8 | 0.93 | 110 |
*GPU acceleration coming soon — follow #8 for updates.
Want to beat these numbers? Submit a PR with your algorithm and we'll add it to the leaderboard!
We welcome contributions! See CONTRIBUTING.md for guidelines.
Good first issues:
- Look for issues labeled
good-first-issue - Add more example holograms
- Improve documentation
- Add unit tests
- Convert resources to table format (in progress)
- Star us if you learned something new
- Get help — Discord server
#help-my-hologram-is-blurry(coming soon) - PR welcome — see good-first-issue for ideas
For questions, suggestions, or collaboration opportunities, please open an issue or reach out through the repository discussions.