A Nion Swift library for STEM instrumentation (Camera, Scan, Video, Microscope).
Project description
Nion Swift Instrumentation
The Nion Swift Instrumentation library (used in Nion Swift)
The instrumentation library provides base classes for STEM instrumentation including cameras and scanners.
package |
|---|
More Information
Changelog (nionswift-instrumentation)
23.6.2 (2025-10-12)
Fix issues when canceling acquisitions when exposure time longer than 5s. Fix #296.
Improve calibration readout to be non-blocking, improves view performance.
23.6.1 (2025-09-26)
Fix acquisition panel error when switching projects.
23.6.0 (2025-09-25)
Add a ‘does_control_exist’ API method to the stem_controller object (scripting).
Add improved streaming control functions to API.
Add indication of field of view out of range by turning label orange/red.
Ensure series/table acquisitions outputs titles include correct channel names.
Ensure accumulating outputs are update during acquisition. Fix #268.
23.5.1 (2025-07-02)
Fix issue with camera device calibrator fallback when index control present.
23.5.0 (2025-06-26)
Add time/space usage estimates to acquisition panel. Fix #165.
Expand calibrator functionality for use in camera devices.
23.4.0 (2025-05-27)
Fix issue where summed acquisition would work from SI/4D panel.
Fix issue where summed acquisitions could spuriously time out.
Improve granularity of progress bar during acquisition procedures.
Fix issue where disabling drift correction would not actually disable it.
Fix issue where dropping subscan data item on display panel would restore non-subscan controller.
Fix regression where scan context not initialized properly.
23.3.0 (2025-04-23)
Display probe position during scanning to allow adjustment upon stop.
Change so a context scan is not required (but still recommended) before acquisition panel procedures.
Make probe position and whether enabled be persistent between launches.
Fix #228. Ensure control name is valid when getting camera calibrations.
Fix issues with thumbnails in scan and camera panels.
Fix issues when acquisition parameters changed during acquisition panel procedure.
Fix issues when deleting acquisition data items during live view.
Ensure angular calibration doesn’t fail in case of zero height image.
23.2.1 (2025-02-11)
Fix #225. Use unique acquisition index when using Spectrum Imaging / 4D panel.
Fix #226. Use unique acquisition index when using Scan Recorder panel.
Fix #227. Show precision specific to camera in Spectrum Imaging / 4D panel.
Fix #203. Ensure case where a single camera frame at a time in synchronized acquisition is handled properly.
23.2.0 (2025-01-06)
Fix issue with serial data acquisition.
Fix #214. Ensure capture button produces a unique title.
Fix #131. Change capture to use frame parameters from start of acquisition for metadata/calibrations.
23.1.0 (2024-10-27)
Add unique index to session metadata and use in acquisition output data items.
Fix data handling when single camera frame produced. Add tests.
Require Numpy 2. Add Python 3.13 support. Drop Python 3.9, 3.10 support.
23.0.0 (2024-06-14)
Fix #179. Record metadata about collections for acquisitions initiated by acquisition panel.
Fix #173. Fix issue with using subscan during scan sequence acquisition.
Add calibration provider to provide alternate display calibrations for acquired data.
Eliminate possible deadlock during scan view when creating data items (new project).
Increase precision of current readout in camera panel when current less than 10 pA.
Fixed issue where acquisition panel would not update properly after changing camera.
Internal improvements to acquisition data flow to improve reliability and performance.
22.2.0 (2024-02-04)
Added single frame variants to camera device, utilize when recording.
Improve error reporting during acquisition panel errors.
Fix some display issues in the acquisition preferences panel.
Improve handling of malformed calibrations from instrument.
General performance and reliability improvements.
Fix #166. Multi acquire now properly sets exposure time on camera.
Fix #170. Improve handling of 1D recording data.
22.1.1 (2023-10-25)
Fix multiple issues with drift correction during scans.
Fix issue with new acquisition API (still a work in progress)
Fix issue with 1D and 2D ramp acquisition using wrong device (scan) values.
22.1.0 (2023-10-23)
Add console startup component to define stem_controller.
Fix #161. Ensures proper scan after low level changes.
Allow enabled channels to be set with frame parameters.
Fix issue where acquisition control being set past last index.
Begin work on new acquisition API (work in progress).
Python 3.12 compatibility.
22.0.0 (2023-09-14)
Fix issues with intermittent errors during synchronized acquisition.
Fix #13. Scan recorder allows limited-only-by-memory frame count on scan devices.
Fix #160. Introduce RecordingTask to allow synchronization of recording with other tasks.
Eliminate special crop region on summed camera acquisition (EELS). Crop region now determined by camera readout area.
Many improvements to improve ability to replace default scan device; work in progress.
Simplify acquisition panel slightly (radio button to select mode); work in progress.
Improvements to metadata handling during acquisition; work in progress.
Fix 1D ramp acquisition using FOV; add ability to control rotation, too.
Raise max scan size to 16384x16384 and correctly reduce it when required.
Performance improvements (latency and frame rate).
Performance improvements (scan recorder).
Add Python 3.11 support. Drop 3.8. This will be the last Python 3.9 release, too.
Fix some issues with subscan handling during synchronized acquisition.
0.21.1 (2023-02-28)
Fix #151. Properly calibrate subscan/line-scan during synchronized acquisition.
Improve handling of partial acquisition, directing data to desired data item.
Fix more acquisition graphic edge cases: graphics only on enabled context displays.
Fix issue where acquisition graphics would not appear on new channels.
0.21.0 (2022-12-07)
Fix sync issue with SI (prep scan after camera stopped).
Require scan_module (scan device and settings) rather than scan_device to be registered.
Improve progress bars for 1D line scans.
Only remove graphics from active acquisition data items (fix #127).
Enable graphics properly when switching projects (fix #133).
Only invalidate context field of view, rotation, or center changes (fix #140).
Retain probe position when disabling and re-enabling (fix #139).
Check channel states for changes before rebuilding thumbnails to avoid flashing.
Allow scan modules to supply their own control panel UI.
Make fov_size_nm be a computed property representing fov with aspect ratio applied.
Add pixel_size_nm and subscan_pixel_size_nm computed properties to frame parameters.
Handle scan data calibrations when scan data is 1D. Pass through 3D.
Add channel_indexes_enabled to frame parameters for future use.
Enable support for Python 3.11.
0.20.8 (2022-09-13)
Replace flyback_pixels property with calculate_flyback_pixels method.
Change 2D ramp (tableau) to use relative control values, like 1D ramp.
Fix regression in multiple shift EELS acquisition.
Ensure live view calibrations are correct during synchronized acquisition.
0.20.7 (2022-07-26)
Drift correction improvements, simplified UI. Work in progress.
Performance and reliability improvements.
0.20.6 (2022-06-06)
Fix calibration issue on view modes.
0.20.5 (2022-05-28)
Improve error handling and reporting.
Use a target size of 64x64 for drift tracking area.
Allow camera device to supply its own calibrator object.
Fix PMT issue when index >= 2.
Allow camera device to specify desired exposure precision.
Improve support for axis handling in STEM controller.
0.20.4 (2022-02-18)
Fix sequence/series/tableau when used with a synchronized acquistiion.
Add optional method to validate camera frame parameters.
Improve compatibility with older CameraDevice implementations.
Ensure low level data is not directly used in data items. Fixes phantom data issue.
Add methods to instrument to get/set configuration parameters.
0.20.3 (2021-12-21)
Fix issue handling partial acquisition during synchronized/sequence acquisition.
Improve error handling and notifications after errors.
0.20.2 (2021-12-13)
Fix issue assembling scan channels during synchronized acquisition when split into sections (drift).
Add support for camera device 3 (no prepare methods).
Fix issue with camera state being incorrect in display panel control bar.
Make auto drift tracker during synchronized acquisition optional (default off).
Improve error recovery and notification during acquisition errors.
Improve handling of subscan/drift graphics when switching projects.
Fix sequence of spectra acquisition when optimized on device.
Show acquisition activity in activity panel.
Enable support for Python 3.10.
0.20.0 (2021-11-12)
Add preliminary acquisition panel for more complex sequence/collection acquisitions.
Acquisition panel includes 1D ramp (series), 2D ramp (tableau), and other options.
Add preliminary drift tracker, both manual and automatic. Work in progress.
Add virtual detector option to MultiAcquire.
Add option to apply shift for each frame in MultiAcquire.
Remove unused and incomplete monitor button in camera panel.
Improve internal documentation by utilizing Python protocols for various interfaces.
Improve reliability and code quality by enabling Python strict typing.
Drop support for Python 3.7.
0.19.5 (2021-04-12)
Improve multiple shift EELS acquire by allowing disabling of dark subtraction and alignment.
Synchronized acquisition now attached session metadata to resulting data items.
Thanks to Isobel Bicket/McMaster University for multiple shift EELS contributions.
0.19.4 (2021-03-12)
Compatibility with nionui 0.5.0, nionswift 0.15.5.
Fix issue with large SI’s in wrong storage format (ndata vs h5py).
0.19.3 (2021-01-17)
Add ability to pass some metadata from camera to final synchronized acquisition data. Temporary.
Fix issue where record did not work after running synchronized acquisition.
Add camera base methods for setting and clearing gain reference images.
0.19.2 (2020-12-10)
Fix issue with probe position graphic when multiple channels enabled.
0.19.1 (2020-12-08)
Fix issue with metadata in scan recorder result data items.
Fix issue with spectrum imaging panel Acquire button not getting enabled.
Rework MultiAcquire to use new partial data item updates.
0.19.0 (2020-08-31)
Add section-by-section drift correction during synchronized acquisition.
Add support for specifying drift correction parameters (only used in synchronized acquisition).
Add record_immediate function for scan devices.
Add partial updating during synchronized acquisition.
Add optional help button and ability to register delegate for camera panel to handle.
Fix numerous issues handling the subscan and beam position graphics.
Fix issue starting scan record immediately after another one.
Fix issue with reloading scans with leftover probe/subscan graphics.
Enable spectrum image acquisition for MultiAcquire.
Removed y-shift and shifter strength from MultiAcquire.
Added a time estimate to MultiAcquire.
0.18.3 (2019-11-26)
Fix issue with subscan handling during SI.
Improve exception handling during camera initialization.
Add support for time-based initial calibration style for scans.
0.18.2 (2019-07-22)
Fix metadata handling in scan devices (was not copying it to the image).
0.18.1 (2019-06-27)
Fix multi acquire data item calibration handling.
0.18.0 (2019-06-25)
Change camera to use instrument controller (generalized stem controller).
Add stubs for 2D control methods.
0.17.0 (2019-04-29)
Add synchronized acquisition of sub areas and lines.
Expand ability of custom devices to specify calibration and processing.
Add multi-acquire panel for acquiring multiple summed sets of spectra with optional energy offsets.
Support subscan rotation and subscan resolution.
Improve handling of default stem_controller for camera, scan modules.
Change shift output messages to match sign of change.
0.16.3 (2019-02-27)
Change camera exposure time and scan pixel time to have two digits of precision.
Add ‘synchronized state’ messages to instrument controller, invoked at start/end of synchronized acquisition.
Limit scan device pixel time in the case of long camera exposure during synchronized acquisition.
0.16.2 (2018-01-18)
Fix closing bug in state controller leading to errors when closing document window.
0.16.1 (2018-12-21)
Change spectrum and 4d images to go into new data items each acquisition.
0.16.0 (2018-12-12)
Add check mark in context menu to indicate active display panel controller.
Use new display item capabilities in Nion Swift 0.14.
0.15.1 (2018-10-04)
Fix race condition when scripting probe position.
0.15.0 (2018-10-03)
Improve support for sub-scan.
Expand API and documentation.
Improve cancel and error handling in synchronized acquisition.
Remove limitation of PMT to channels 0, 1.
Add support for acquisition sequence cancellation.
0.14.1 (2018-06-25)
Add STEM controller methods to access ronchigram camera, eels camera, and scan controller.
Register all cameras via Registry rather than directly in HardwareSourceManager.
Improve metadata, calibration, and naming during acquisition recording.
0.14.0 (2018-06-21)
Introduce camera modules to replace camera devices. Allows more control of camera settings.
0.13.3 (2018-06-18)
Minor changes to scan acquisition (ensure size is int).
Fix handling of Ronchigram when scale calibration missing.
0.13.2 (2018-06-04)
Improve handling of sum/project processing in acquire sequence.
Improve handling of calibration via calibration controls.
Fix default handling of dimensional calibrations in acquire sequence.
0.13.1 (2018-05-13)
Fix manifest.
0.13.0 (2018-05-12)
Initial version online.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nionswift_instrumentation-23.6.2.tar.gz.
File metadata
- Download URL: nionswift_instrumentation-23.6.2.tar.gz
- Upload date:
- Size: 331.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69cd4183a0faaae98a5be527aaece3a3c36961161d110fc6ebaa54cef8bafa49
|
|
| MD5 |
5f0de101ece453170a3878a5a813c819
|
|
| BLAKE2b-256 |
6ce944baab96c78217b8bd90e278c43f46f7e0c9e2da6d64c5da48143cb717cb
|
Provenance
The following attestation bundles were made for nionswift_instrumentation-23.6.2.tar.gz:
Publisher:
python-package.yml on nion-software/nionswift-instrumentation-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nionswift_instrumentation-23.6.2.tar.gz -
Subject digest:
69cd4183a0faaae98a5be527aaece3a3c36961161d110fc6ebaa54cef8bafa49 - Sigstore transparency entry: 601303551
- Sigstore integration time:
-
Permalink:
nion-software/nionswift-instrumentation-kit@8e8b7a84861f0000bcc5b8c2afb0c1dae1687c96 -
Branch / Tag:
refs/tags/23.6.2 - Owner: https://github.com/nion-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@8e8b7a84861f0000bcc5b8c2afb0c1dae1687c96 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nionswift_instrumentation-23.6.2-py3-none-any.whl.
File metadata
- Download URL: nionswift_instrumentation-23.6.2-py3-none-any.whl
- Upload date:
- Size: 344.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9874113c9e8f3c6d204425fabdf40301c0edda8c50c6716266e0324e32f8e245
|
|
| MD5 |
f6386973a6f7e0a3fd66b4869397158a
|
|
| BLAKE2b-256 |
ee8c13c7dc8dd5cd4ba93a414da664799bf64ab13985fb155729aa85af261cbf
|
Provenance
The following attestation bundles were made for nionswift_instrumentation-23.6.2-py3-none-any.whl:
Publisher:
python-package.yml on nion-software/nionswift-instrumentation-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nionswift_instrumentation-23.6.2-py3-none-any.whl -
Subject digest:
9874113c9e8f3c6d204425fabdf40301c0edda8c50c6716266e0324e32f8e245 - Sigstore transparency entry: 601303552
- Sigstore integration time:
-
Permalink:
nion-software/nionswift-instrumentation-kit@8e8b7a84861f0000bcc5b8c2afb0c1dae1687c96 -
Branch / Tag:
refs/tags/23.6.2 - Owner: https://github.com/nion-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@8e8b7a84861f0000bcc5b8c2afb0c1dae1687c96 -
Trigger Event:
push
-
Statement type: