Skip to main content

Dirigo is an extensible backend for scientific image acquisition

Project description

Dirigo

PyPI Documentation Status

Dirigo is an extensible, high-performance backend for scientific image acquisition, designed with high-speed laser scanning microscopy in mind but adaptable to a wide range of medium- to high-complexity imaging systems.

Dirigo separates hardware control, acquisition logic, and user interface, making it easy to:

  • Add new hardware via plugin drivers that implement generic device interfaces (digitizers, scanners, stages, cameras, etc.)

  • Reconfigure data acquisition and processing pipelines using a Worker/publisher–subscriber model

  • Integrate adaptive acquisition strategies through feedback loops between processing and control

  • Build custom GUIs or integrate with existing tools via a clean API (a reference GUI is available as a separate package)

Performance-critical operations are accelerated with Numba JIT compilation, releasing the GIL during execution and enabling parallel/vectorized processing.

Dirigo follows a modular, package-oriented architecture: almost all components—hardware drivers, processing modules, GUIs—are separate Python packages that can be developed, installed, and updated independently.

Dirigo is in very early development. While the API and architecture are functional, documentation and ready-to-use releases are in progress.

Digitizer ↔ LSM mode compatibility

Legend: ✓ supported now · △ possible/experimental · ✗ not recommended/unsupported · — unknown

Digitizer (vendor/model family) Galvo–Galvo analog Galvo–Galvo photon counting Resonant–Galvo analog Polygon–Galvo analog
NI X-Series (e.g., PCIe-63xx) ✓* ✓ (up to 4 chan.) ✗† ✗†
NI S-Series (e.g., PCI-6110/6115) ✓ (up to 2 chan.) △§ △§
AlazarTech (e.g., ATS9440)
Teledyne SP Devices (e.g., ADQ32)
Other / custom (contact TDW)

Notes
* Multichannel acquisition subject to aggregate AI sample rate (e.g 2 channels: 500 kS/s, 4 channels 250 kS/s).
† AI sample rate typically insufficient for resonant/polygon rates.
§ Borderline: Max sample rate may limit pixels per line, dependent on scanner frequency. Not yet validated.

Funding

Development of Dirigo has been supported in part by the National Cancer Institute of the National Institutes of Health under award number R01CA249151.

The content of this repository is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health.

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

dirigo-0.3.8.tar.gz (81.2 kB view details)

Uploaded Source

Built Distribution

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

dirigo-0.3.8-py3-none-any.whl (93.0 kB view details)

Uploaded Python 3

File details

Details for the file dirigo-0.3.8.tar.gz.

File metadata

  • Download URL: dirigo-0.3.8.tar.gz
  • Upload date:
  • Size: 81.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for dirigo-0.3.8.tar.gz
Algorithm Hash digest
SHA256 85f06da9b1bec506539a3750a0f0a8a169aa0ba69ea17400d3ccb4bc32b1bca6
MD5 1cf6c2d159729adfd77a264cffbc2914
BLAKE2b-256 ccbacf2989a7e23a40c441b06c7d4718ce01d1f9a7f843a84270fbd51c422261

See more details on using hashes here.

File details

Details for the file dirigo-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: dirigo-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 93.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for dirigo-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 bb2de76382c93e06cdbc9584c7ef390677b9f6548057966b9a2c721128f1b021
MD5 2c5716dc4494d4462f247c8ce9b510c3
BLAKE2b-256 76aaf94a3e9b9f2758e1c9103caede1dd81055233537f63b44d7f2c079ed77d4

See more details on using hashes here.

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