Microscope Server 2.8 and new SD images

Today we’re releasing our Microscope Server v2.8, and some new Raspberry Pi SD images to go alongside.

Server 2.8

To upgrade your microscope to the latest application, please run

sudo ofm update
sudo ofm upgrade

from your microscope shell.

Changelog

Client

  • By making proper use of the capture resource changes (below), memory consumption has been drastically reduced.
  • Fixed GPU preview requests being sent regardless of enabled status
  • Allow already-running tasks to take over submit components
    • E.g. If a scan is already running when the client is loaded, the Start Scan button will be replaced with the already running scan progress
  • Updated default task poll timeout to 1 second
  • Changed main tab switcher to be data-driven

Server

  • Reduced the use of long-held composite locks
  • Fixed ignored arguments in mock camera
  • Overhauled ofm rescue scripts for simpler development
  • Added use_video_port argument back to array()
  • Move stream frame management into FrameStream class
  • Removed old JSONResponse class
  • Moved JSONEncoder class into openflexure_microscope.json
  • Removed default config/settings files
  • Updated all logging calls to new string format
  • Updated to LabThings 1.1.3
  • Improved args schema for captures
  • Cleaned up Capture schemas
  • Added full TileScanArgs schema
  • Warn about unused settings when updating

Capture resource changes

  • metadata key removed from capture array elements
  • acquisitionDate renamed to time in Capture resource top-level
  • dataset key added to top-level of Capture resources

Memory efficiency measurements

To double check our memory management improvements, I’ve taken a very quick “representative example”. I acquired 1800 full resolution images across 2 scans, then rebooted the microscope and monitored memory usage after reloading.

v2.7
Server: 107MB reserved memory
Client: 165MB heap snapshot (JavaScript objects and DOM nodes)

v2.8
Server: 77MB reserved memory
Client: 47MB heap snapshot (JavaScript objects and DOM nodes)

Please note, your memory improvement may not scale the same as this. A running server with no captures will still reserve ~70MB memory, so these improvements will mostly affect the usage on top of that as you start acquiring more data

New SD images

You can download our latest SD images from https://openflexure.org/projects/microscope/build