Skip to main content

Holographic optical trapping instrument control

Project description

QHOT

PyPI version Python versions Tests Documentation License

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.1.tar.gz (82.2 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.1-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for qhot-1.4.1.tar.gz
Algorithm Hash digest
SHA256 9c69a28fba64dd7045469dfef05c193dedaf19237a8820e38e60605d1236e649
MD5 4937629fc77cbbc981a3ed9a8d4982f3
BLAKE2b-256 9549eba9af8f25252ef63d97435023e6926755491bfbcf47771fcc11d42fec8c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for qhot-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d69e90526755f1fcfe7a77a032753453efc4568a86a2d61e98d68a46148f497
MD5 e23f5621c51928ac3ca081bb5c188aad
BLAKE2b-256 efe129f8c428e20b7dbec20ead89677df514137c47873a6bfc6ccfbb7af685ba

See more details on using hashes here.

Provenance

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