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.2.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.2-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qhot-1.4.2.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.2.tar.gz
Algorithm Hash digest
SHA256 45e35ba446dacc0e8da9ca1df297b4f3cce35e073bc4080517e05bb2e3427967
MD5 3128867512d4c6a5155b1e1419c4014a
BLAKE2b-256 988448f8fa85e75e8d4227d7c0fadbae1314ad454f470f491ac8f350987f0c41

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: qhot-1.4.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b3a0cc43d87f8922c5f9de5874a0b3f4356a1473f40e36ffe7b6b8c793e8c846
MD5 36efe5ec69124089e24b2fb7133456d0
BLAKE2b-256 1f4de7f3e1a28b5254270aa1e0aa46e3bb78208e8ab0e3d499eff17bc504187d

See more details on using hashes here.

Provenance

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