Release Notes#
v0.4.3 – 6/30/2022#
Changelog#
Hardware#
Add support for NI IMAQ cards with
ImaqAcquisition
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
EngineConfig.strobes
Transition to dynamically loaded hardware support modules
Documentation#
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
Build System#
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
Assorted#
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
Counter
stream to support correct index bookkeeping in post-processing withCounterStackEndpoint
and related endpoints.Add endpoints for formatting and storing streams (e.g.,
GalvoActualStackHostTensorEndpoint
)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.,
SpectraStackDeviceTensorEndpointUInt16
)Assorted internal improvements and bugfixes
Migration Guide#
No migration required.
v0.4.2 – 3/3/2022#
Changelog#
Migration Guide#
Building#
vortex now includes its own vcpkg overlay for its dependencies in /.vcpkg
.
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#
Changelog#
Add support for Alazar FFT acquisition with
AlazarFFTAcquisition
andCopyProcessor
. See the Live Alazar FFT Acquisition demo for an example.Move latency handling from formatter to engine.
Add missing
to_segments()
method for high-level scan classes.Add Python stubs for autocompletion and type checking.
Add CMake presets.
Fix issues with
FileAcquisition
.Add
sample
to marker-associated callbacks.Assorted bug fixes and improvements.
Migration Guide#
Name Changes#
Stack
has replacedCube
in class names. For example,CubeTensorEndpointX
is nowStackTensorEndpointX
. Similarly,CubeFormatExecutor
is nowStackFormatExecutor
.
IO Leading#
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 EngineConfig
.
Multiple IO delays are possible.
Change 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))
.