Fifth (and final?) alpha for the v3 server

Hi all.

We have been very very busy since the last v3 alpha release around Christmas time. This release has been a huge amount of work and brings us significantly closer to a semi-stable beta release. We really hope that the next release will be stable enough to be a beta (hopefully including a return of the Gallery, Extensions, and direct control from the microscope).

For now, anyone who wants to can try the v3.0.0-alpha5.

Using the pre-release

To install the pre-release on a microscope:

  • Using Raspberry Pi Imager 2
    • Select App Options → Edit Content repository
    • Select Use custom URL and paste in https://build.openflexure.org/raspbian-openflexure/manifest.json
    • Click Apply and Restart
    • Then select Raspberry Pi 4 → OpenFlexure Raspbian v3 Pre-Release → OpenFlexure Raspbian v3.0.0-alpha5
  • OR download the image directly and install with Raspberry Pi Imager 1.x (Imager 2 will not allow customisation with a directly downloaded image)

What has changed.

Some highlights of the new release are:

OS changes:

  • OS Now supports Raspberry Pi Imager 2
  • Smaller SD card image size (by cutting down on installed packages that were not needed)

Server changes:

  • Created ScanWorkflows, a backend change that allows switching scan methods. Enabling new types of scanning:
    • Raster Scan
    • Snake Scan
    • CChip Scan (experimental, requires a configuration change to use)
  • Transition frontend from the end of life Vue2 to Vue3 which is in active development!
  • Improvements to the simulation microscope including more simulation samples and camera options. Speeding up development.
  • “Jogging” movement. The microscope can now move continuously when an arrow key is held.
  • Improved server side UI specification. This brings us closer to “Things” being able to define their own tab, which will soon enable plugins in v3.
  • A user interface for recentring and range of motion.
  • Improved fallback server interface.
  • Backlash correction in scanning.
  • OpenCV camera switching. Enabling changing between cameras in settings when using the manual configuration.
  • A huge number of other bug fixes and improvements.

Stitching changes:

  • Better error handling and checking whether settings can successfully stitch
  • Add support for masking the correlations between pairs of images, depending on your stage performance
  • Add metadata to exported JPEG to show information about the scan

“Behind the scenes” changes that will improve development

  • Move from LabThings Dependencies to ThingSlots. This has allowed for:
    • Much easier communication between Things
    • Static type checking
    • Simpler action creation.
  • Improved testing, including better defined testing environments, separation of integration and unit tests, and tests passing on Windows
  • Updated how stitching logs to make sure nothing is buffered or delayed
  • Improved plotting of correlations and thresholds in stitching, for setting manual cut offs
  • Move correlation code into stitching rather than importing, to allow greater control and less external dependence
  • Move the OFM CLI tools into the server repo.

Final word

It has been a huge release, including some big changes upstream in LabThings. There has been a lot of work from the core team (Me, Joe, Beth, William, and Richard) with a lot of help from Ben (@chish). Also thanks to Antonio (@kny5) for migrating the user interface from Vue2 to Vue3, this will make it much easier to maintain and keep modern and secure.

I hope everyone enjoys the new release.
:openflexure: :partying_face: :openflexure:

9 Likes

I should also thank NLNet whose funding enabled much of Antionio and my work on this release and previous releases! We were funded through NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet program. Learn more at the NLnet project page.

NLNet logo NGI Zero logo

4 Likes