Skip to main content

Holographic optical trapping instrument control

Project description

QHOT

PyPI version Python versions Tests Documentation License DOI

QHOT screenshot

QHOT is a Python framework for holographic optical trapping — controlling spatial light modulators (SLMs) to create, move, and reconfigure optical traps in real time using a live camera feed.

Features

  • Real-time hologram computation (CGH) with GPU-optional acceleration
  • Interactive trap manipulation via camera overlay
  • Modular trap types: single tweezers, vortex beams, ring traps, arrays, and dot-matrix text patterns
  • Extensible display filter pipeline (blur, edge detection, RGB selection, sample-hold)
  • Configuration save/restore via TOML
  • Full unit-test suite (~700+ tests)

Requirements

  • Python 3.10+
  • PyQt5 ≥ 5.15
  • pyqtgraph ≥ 0.13
  • numpy ≥ 1.24
  • scipy ≥ 1.10
  • tomlkit ≥ 0.11
  • QVideo ≥ 3.2.3

Installation

pip install QHOT

Or for development:

git clone https://github.com/davidgrier/QHOT.git
cd QHOT
pip install -e .

Usage

qhot

Or from Python:

from QHOT.qhot import main
main()

Trap types

Class Description
QTweezer Single Gaussian tweezer
QVortex Laguerre-Gaussian vortex beam
QRingTrap Ring-shaped optical trap
QTrapArray Rectangular grid of tweezers with optional mask and position jitter
QLetterArray Single dot-matrix character (A-Z, a-z, 0-9) rendered as tweezers
QTextArray String of QLetterArray characters

Project structure

QHOT/
├── qhot.py          — Main application window
├── QHOT.ui          — Qt Designer UI layout
├── lib/              — Core library (SLM, CGH, trap infrastructure)
│   ├── QSLM.py
│   ├── QHOTScreen.py
│   ├── QSaveFile.py
│   ├── holograms/    — Hologram computation
│   └── traps/        — Trap base classes and overlay
├── traps/            — Concrete trap implementations
└── tests/            — Unit tests

References

Acknowledgments

This project is maintained with support from the National Science Foundation of the United States under Award Number DMR-2428983.

License

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qhot-1.4.3.tar.gz (110.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qhot-1.4.3-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

Details for the file qhot-1.4.3.tar.gz.

File metadata

  • Download URL: qhot-1.4.3.tar.gz
  • Upload date:
  • Size: 110.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qhot-1.4.3.tar.gz
Algorithm Hash digest
SHA256 1e754e01529f21430f56cbf0483ad99dd4f4a2e1d20b36ca30cc8243cd4504d4
MD5 e2712d171ad0f4992dde400096720cbc
BLAKE2b-256 7355731104a8ff0245625fb5ce5fb3071327728cd81b01996f91d40dd4c3b65b

See more details on using hashes here.

Provenance

The following attestation bundles were made for qhot-1.4.3.tar.gz:

Publisher: publish.yml on davidgrier/QHOT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qhot-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: qhot-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 43.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qhot-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 14a79c9539fadec6e7e2f3d871c80e63d774dabc6c65a889095291bf17659e50
MD5 4c9c3f1a9c12216b7565994ee772d770
BLAKE2b-256 3548ce8645e81b616edad736a2dc35698bb9d9759b47d8ec80e2d668daa47781

See more details on using hashes here.

Provenance

The following attestation bundles were made for qhot-1.4.3-py3-none-any.whl:

Publisher: publish.yml on davidgrier/QHOT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page