Skip to content

Releases: instamatic-dev/instamatic

2.2.0

08 Dec 15:04

Choose a tag to compare

This release includes a new "FastADT" experiment type as well new stage translation and rotation calibration routines. It adds an option to annotate images, display figures, and save results. It improves writing PETS input files, fixes support for remote cameras, and improves remote TEM control while attempting to fix numerous bugs, improve existing interfaces, maintain current code architecture, and extend testing infrastructure.

What's Changed

  • In CalibBeamShift, allow saving output tiff files in a new directory by @Baharis in #124
  • Improve the performance of VideoStreamFrame.on_frame by @Baharis in #131
  • Modify PETS writer to prevent duplicates, use config.camera.pets_prefix/suffix by @Baharis in #134
  • Add VideoStreamFrame.processor to annotate frames and display figures by @Baharis in #135
  • Add save_image button to save (annotated) frame/image as PNG by @Baharis in #135
  • Add instamatic.calibrate_stage_rotation to measure rotation pace in sec/deg by @Baharis in #136
  • Add "FastADT" tab for RED, PED, cRED with multiple a priori trackings by @Baharis in #137, #145, #148
  • Add magnification, stage Z control, tighten the GUI control panel by @Baharis and @viljarjf in #142
  • Allow cameras run on server to stream data to GUI by @Baharis in #143
  • Save CalibBeamShift as yaml, and display its results in GUI if run live by @Baharis in #144
  • save_frame and save_image can now be called mid-experiment (but may affect it!) by @Baharis in #148
  • Streamline stagematrix calibrate_stage_all by trying to roughly estimate pixelsize by @Baharis in #149
  • Add instamatic.calibrate_stage_translation to measure translation pace in nm/deg by @Baharis in #150
  • Enable speed control in cRED and control GUI for hardware without goniotool by @Baharis in #151

Bug fixes

  • Fix CalibBeamShift return type, script entry point, image filename typo by @Baharis in #124
  • Fix carriage return \r and ANSI escape handling by Instamatic GUI console by @Baharis in #126
  • Fix outdated casting of all tiff image intensities to uint16 range by @iverks in #127
  • Fix image dynamic range wrong scaling when set to camera.dynamic_range by @Baharis in #131
  • Fix TEMController.store and restore config name and type mishandling by @Baharis in #133
  • Fix "Increase size" button to double the image size instead of setting it to 950 x 950 in #135
  • Fix offset when clicking on a trimmed frame and inaccessible flatfield application by @Baharis in #135
  • Fix numpy2-gatansocket3 serialization bug (#130) caused by np.int_ def change by @Baharis in #139
  • Fix multiple CalibBeamShift's methods and entry points, i.e. with serial input by @Baharis in #144
  • Fix save_frame, new save_image, and repeated use of alpha wobbler crashing GUI by @Baharis in #148
  • Fix instamatic.caliubrate_stagematrix option --all_mags by @Baharis in #149
  • SYnchronize calls to CamClient to prevent mixing function inputs/outputs by @Baharis in #151

Maintenance

  • Align Deflector typing with its implementation by @Baharis in #124
  • Introduce Beam.blanked() and unblanked() context managers by @Baharis in #125
  • Make Stage.set's speed and wait args keyword-only, make None speed's sentinel by @Baharis in #128
  • Update pre-commit hooks and run Ruff formatter on all files by @stefsmeets in #129
  • Align frame/image naming, clear unused imports in VideoStream, Stage typing by @Baharis in #135
  • Add instamatic.utils.domains.NumericDomain for choosing from limited options by @Baharis in #136, #150
  • Add tests.utils.InstanceAutoTracker to improve parametrized test readability by @Baharis in #137
  • Changed code maintainer from @stefsmeets to @Baharis in #138
  • Add Instamatic collections' and tools' tests and add numpy2 support by @Baharis in #139
  • CamClient: try to evaluate before raising KeyError in case of cam interface mismatch by @Baharis in #143
  • CalibBeamShift: make dataclass, align terms, declutter; implement printer w/ tqdm by @Baharis in #144
  • Make ClickDispatcher a dataclass, add SCROLL_UP, _DOWN handling, xy property by @Baharis in #145
  • Add new instamatic.utils.iterating.py with sawtooth, pairwise iterators by @Baharis in #145, #149
  • Add VideoStream.unblocked context manager to complement existing unblocked by @Baharis in #145
  • Fix FastADT osc_angle issues and ImgConverter type hints by @Baharis in #146
  • Replace redundant triggerEvent/set_trigger boilerplate, rely just on BaseModule.q by @Baharis in #147
  • Give all GUI frames access to .q, AppLoader via .app, rm unused imports by @Baharis in #147, #148, #151
  • Clean up calibrate_stagematrix: type hints, naming, repetition, unused imports by @Baharis in #149
  • Add instamatic.utils.native to quickly convert numpy to native types, add tests by @Baharis in #150

Full Changelog: 2.1.1...2.2.0

2.1.1

03 May 06:47

Choose a tag to compare

What's Changed

  • Fix PR111 and RED frame bugs by @Baharis in #114
  • Add inheritence to VideoStreams, allow streaming non-streamable cameras by @Baharis in #116
  • Add a click dispatcher and typing extensions by @Baharis in #117
  • Set phi angle in .pts input file as well by @iverks in #122
  • Modify get_movie to display frames as they are collected by @Baharis in #121

New Contributors

Full Changelog: 2.1.0...2.1.1

2.1.0

22 Mar 09:59
73b3039

Choose a tag to compare

What's Changed

Bug fixes

Maintenance

New Contributors

Full Changelog: 2.0.5...2.1.0

2.0.5

17 Jun 15:15

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.1...2.0.5

2.0.1

30 Apr 09:15

Choose a tag to compare

This release contains a small patch to fix casting to uint16 and and some documentation updates.

What's Changed

Full Changelog: 2.0.0...2.0.1

2.0.0

23 Jun 09:48
9ba8d5e

Choose a tag to compare

This release mostly has had minor bug fixes, documentation and maintenance updates.

Most notably the code has moved to using pyproject.toml in combination with a src layout. Internally, the API for the camera interface now uses snake case.

What's Changed

  • Revise docs by @stefsmeets in #72
  • Fix small bugs by @stefsmeets in #74
  • Reset soft trigger acquisition when max frame counter is reached by @stefsmeets in #76
  • FEI config mappings by @stefsmeets in #77
  • Maintenance and documentation by @stefsmeets in #78
    • Move to pyproject.toml
    • Move code to src layout
    • Update camera methods to use snake_case where possible
    • Add get_movie method to merlinCamera/TEMController

Full Changelog: 1.10.0...2.0.0

1.10.0

05 Jun 13:09

Choose a tag to compare

This version of instamatic has better support for the Merlin detector and enables fast single frame acquisitions with virtually no overhead.

What's Changed

Full Changelog: 1.9.0...1.10.0

1.9.0

19 May 06:33

Choose a tag to compare

What's Changed

Full Changelog: 1.8.0...1.9.0

1.8.0

13 Mar 19:50
3cfc0ca

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.7.0...1.8.0

1.7.0

09 Aug 14:52
79487ad

Choose a tag to compare

Instamatic is a Python program for automated electron diffraction data collection. At the core is a flexible Python library for transmission electron microscope experimental control with bindings for the JEOL/FEI microscopes and interfaces to the Gatan/Timepix/TVIPS cameras.

Changes in this release: