v0.4.3 – 6/30/2022#
Add support for NI IMAQ cards with
Improve feature detection for Alazar cards
Add calibration step to reduce ADC noise for select Alazar cards
Fix dual edge sampling for Alazar cards
Add strobe generation to engine with
Transition to dynamically loaded hardware support modules
Reorganization of documentation with expansion for acquisition and processing components
Parse docstrings from documentation and embed in compiled module
Add galvo delay demo and tuning tool
Add new demo for saving data to disk
Add tutorial for UI development and scan switching
Improvements and bugfixes for demos
Drop builds for Python 3.6
Add builds for CUDA 11.6
Refactor CMake to support modular builds
Fix issue that led to incorrect type stub output
Add experimental support for Linux
Explicitly set minimum required NumPy version
Improve version detection and handling for Alazar and Vortex
Fix issue where non-preloadable acquisition components produced incorrect startup sequences, leading to loss of synchronization
Exceptions that cause premature engine shutdown are now propagated
Add endpoints for formatting and storing streams (e.g.,
Refactor spiral scan generation
Fix bug that prevented change of repeated scan strategies
Add multiple inactive segment generation policies
Add CPU and GPU memory endpoints for spectra (e.g.,
Assorted internal improvements and bugfixes
No migration required.
v0.4.2 – 3/3/2022#
vortex now includes its own vcpkg overlay for its dependencies in
If you previously used this path for vcpkg (as suggested by earlier build guides), you will need to relocate it.
v0.4.1 – 1/22/2022#
Move latency handling from formatter to engine.
to_segments()method for high-level scan classes.
Add Python stubs for autocompletion and type checking.
Add CMake presets.
Fix issues with
sampleto marker-associated callbacks.
Assorted bug fixes and improvements.
Cubein class names. For example,
IO delays (e.g., for galvo response) are no longer handled in post-processing via the formatter. Instead, the engine now generates leading IO signals that cancel out the IO delay.
The delay in samples is passed via
add_io() in the
Multiple IO delays are possible.
fc.stream_delay_samples = round(cfg.galvo_delay * ioc_out.samples_per_second) to
ec.add_io(io_out, lead_samples=round(cfg.galvo_delay * ioc_out.samples_per_second)).