Unconference Session 1: Software Features

This table is discussing what new features would be most useful in the next version of the OFM software.

see also: Developing v3 of the OpenFlexure software - #7 by JJS

Scanning: one of the key things @dgrosen needs is the ability to scan a sample that has gaps - the current open-loop scanning suffers from focus drift if there are regions where there’s no sample. @JohemianKnapsody has a smarter scan algorithm that doesn’t change focus if there’s no sample present.

This seems to work pretty well - so we need to incorporate it into the default scan interface.

1 Like

Justifying writing a nice new stitching routine is tricky: ImageJ does it well, so it’s hard to show you’re doing something really novel. On the other hand, maybe a Napari plugin would have a big userbase…

Would we switch to Napari-based GUI? The web app gui is quite nice, it really lowers the complexity of setting up the system, and means it can be stand-alone. Napari and the associated ecosystem would let us do much more client-side Python processing, but it loses the multi-platform capabilities of the current architecture. Nothing would stop us providing server-side support for existing Napari plugins. For example, if we implemented the camera and stage back-ends (@B.Diederich thought there were existing front end plugins) we could add OFM support to Napari quite easily. Maybe that’s something fun to try.

Maybe integrating with ImSwitch would be the solution, that might be what I mean by “Napari front-end”.

Could you offer stitching as a service? Upload the images and get a stitched one back. PathAI do this (@dgrosen). We could offer that - would need to provide infrastructure, but we’d get lots of data back…

@B.Diederich mentioned Wei has a protocol for sending data around, using AWS, that might be relevant here. Hypha is the project name.

Indeed, the Hypha Software by way was presented in this year’s I2K conference

The slides are available here

A useful point - sometimes it’s better to know what someone wants to achieve, rather than just the feature that needs to be added; often there are multiple different ways to implement something, and so it’s helpful to know why the feature is important in case there’s an easier way to achieve

There we go:
ImSwitch talks OFM

and a small demo:
Bildschirmvideo aufnehmen 2022-07-12 um 00.19.04

This is only showing a demo OFM server on the same laptop with video streaming, snapshot capturing and stage movement.

What’s possible:

  • You can use all ImSwitch functions (e.g. Frame capturing, hardware control, additional plugins)
  • Napari Plugins will work
  • Combine it with additional hardware