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
  • Interactive display filter pipeline (smoothing, edge detection, RGB selection, sample-hold)
  • Configuration save/restore via TOML
  • Full unit-test suite (1400+ 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.4.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.4-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qhot-1.4.4.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.4.tar.gz
Algorithm Hash digest
SHA256 ff279b013fb8c313f6b8cb695d395695c7e0df55f05f5c5788550b2fab5a91ea
MD5 d0ce66171cce69440faa185d5ebaffb8
BLAKE2b-256 cdc5f2141b5abeeca5e5fc833e3144596bc19c4aebca2459f67b9f824b1a1d14

See more details on using hashes here.

Provenance

The following attestation bundles were made for qhot-1.4.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: qhot-1.4.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 67a595d6403522af46c073d7b7a006479fb65f4027f7f0133253c5c05cce30e0
MD5 22552312bbd4bcb2a4b4990ce0cedc2b
BLAKE2b-256 ae2c8cda410c6cb78a8e2dc1365b469413f10aa882999129e105d07f96e1998d

See more details on using hashes here.

Provenance

The following attestation bundles were made for qhot-1.4.4-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