Release Notes#
v0.4.3 – 6/30/2022#
Changelog#
Hardware#
Add support for NI IMAQ cards with
ImaqAcquisitionImprove 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.strobesTransition 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
Counterstream to support correct index bookkeeping in post-processing withCounterStackEndpointand 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
AlazarFFTAcquisitionandCopyProcessor. 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
sampleto marker-associated callbacks.Assorted bug fixes and improvements.
Migration Guide#
Name Changes#
Stackhas replacedCubein class names. For example,CubeTensorEndpointXis nowStackTensorEndpointX. Similarly,CubeFormatExecutoris 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)).