Commit graph

2684 commits

Author SHA1 Message Date
Richard Bowman
c0d25b194c Format fixes/disable warnings
My v-html use is OK as the  HTML is sanitized.
2024-01-08 16:24:43 +00:00
jaknapper
4445990966 Check we have a background set before starting scan 2024-01-08 16:21:57 +00:00
Joe Knapper
125bae9c6d Merge branch 'spiral_path' into 'v3'
Pseudo spiral scan path and fixed dx-dy inversion

See merge request openflexure/openflexure-microscope-server!166
2024-01-08 16:10:17 +00:00
jaknapper
ae68a1b319 Pseudo spiral scan path and fixed dx-dy inversion 2024-01-08 16:01:54 +00:00
Richard Bowman
4f1035cbe6 Handle python "underlining" nicely
Python stack traces use spaces and carets to "underline" the
code causing the problem. I've now matched and processed
these lines to add <u> tags.

This necessitated escaping messages and displaying raw HTML
which is now done by `escapeText`.
2024-01-08 15:51:46 +00:00
Richard Bowman
4bf473fad7 Better handling of multiline logs
I fixed a logic error related to the reversing of the list, and
now display multi-line log messages as a single summary line with a "more info" link to expand them.

Expanded log messages show without text wrap - this makes
Python exception traces easier to read.

For extra points, we could even do something cunning, like
process the ^^^ markers into <u>
2024-01-08 15:30:51 +00:00
Richard Bowman
24060b6d2a Cope with multiline logs 2024-01-08 11:53:37 +00:00
jaknapper
a53062af83 Background detect fraction as a thing 2024-01-07 15:00:46 +00:00
Joe Knapper
cb916bb4a3 Image fraction and label as a thing property in webapp 2024-01-07 14:58:19 +00:00
jaknapper
9eb0b6a6b8 Log CSM result in a safe way 2024-01-05 18:41:57 +00:00
jaknapper
1ebf00ffb3 Fiji config file and low res capture to avoid exposure time drift 2024-01-05 17:23:44 +00:00
Richard Bowman
858e99a47f Add a viewer for scans with delete and download buttons 2024-01-05 00:44:05 +00:00
Richard Bowman
7959b34c44 Deleted unused code from slideScan 2024-01-05 00:43:46 +00:00
Richard Bowman
90a68ed4f1 Added endpoints to add and delete scans
This makes use of the new @fastapi_endpoint decorator
in labthings.
2024-01-05 00:42:24 +00:00
Richard Bowman
2ce143ff01 WIP: Exception handling and file management
It's now possible to see (via the HTTP API) scans and download
them as zip files. Zip files appear to be malformed at present.
2024-01-04 18:59:51 +00:00
Richard Bowman
1ca2c9ca0d Expand comments 2024-01-04 16:36:58 +00:00
Richard Bowman
a442709412 Linter fixes 2024-01-04 16:35:38 +00:00
Richard Bowman
bea9bdee02 Handle cancellation gracefully
Cancellation is now confirmed with a modal notification, and
won't result in an error in the console.
2024-01-04 16:35:13 +00:00
Richard Bowman
7d497fcf73 Tidy up modal error
It now works if it's passed a string, as well as an Error.
2024-01-04 16:32:43 +00:00
Richard Bowman
7dd4c1f4c6 Add modal progress box for stage recentering
I've also added a title to the modal box
2024-01-04 15:54:56 +00:00
Richard Bowman
a18ac90c24 Allow camera stage mapping calibration to be cancelled 2024-01-04 14:49:27 +00:00
Richard Bowman
bcc13475b6 Propagate logs from camera-stage-mapping 2024-01-04 13:19:00 +00:00
Richard Bowman
91cb514e08 Use blocking, non-cancellable moves in autofocus
Autofocus timing is pretty critical. I've introduced the ability
to abort moves, which introduces ~50ms timing jitter. This
commit reverts the tming-critical move in autofocus to the old behaviour.

I've only reverted the move that really matters - this means
that if you start a massive sweep by accident, you can still
abort it when it's moving down to the start of the sweep.
2024-01-04 10:46:27 +00:00
Richard Bowman
8e2402af18 Enable cancelling moves
This enables the cancel button - it will be necessary to update `labthings-sangaboard` for this to work.
2024-01-04 10:07:44 +00:00
Richard Bowman
2bc585fe33 Make failed modal actions stay on screen
There's not currently any way to view the log of a failed
action - an easy win is to keep the log on screen until it's
closed by the user.
2024-01-04 02:09:30 +00:00
Richard Bowman
c7f828e373 Add a button for smart scan 2024-01-04 02:08:39 +00:00
Richard Bowman
9f01a5ab29 WIP: logging and cancellability in smart_scan 2024-01-04 01:32:18 +00:00
Richard Bowman
09bec65b15 Add a Thing for API testing
This may not be in the codebase forever, but it's a very useful
sanity check to have during development.

The current implementation is clearly not a performance or
security risk.
2024-01-04 01:11:44 +00:00
Richard Bowman
62957e53e8 Merge branch 'v3-webapp-modal-action-progress' into 'v3'
Modal progress dialog for TaskSubmitter

See merge request openflexure/openflexure-microscope-server!164
2024-01-04 01:09:50 +00:00
Richard Bowman
2ce6ea4bc0 Working modal progress/cancel dialog for actions. 2024-01-04 01:05:24 +00:00
Richard Bowman
44a7a8c1ab Tidy up background detect pane 2024-01-04 00:33:39 +00:00
Richard Bowman
40580327c6 Linter fixes 2024-01-03 21:53:14 +00:00
Richard Bowman
5ca8070bc8 WIP: modal progress dialog for TaskSubmitter
Longer-running tasks would benefit hugely from showing the
operator a progress indicator. This branch will add a basic
log display allowing messages to be shown to the user.
This branch may also add an abort button to the above dialog.
2024-01-03 21:40:12 +00:00
Richard Bowman
778da73a70 Web app controls for background detection
There are now buttons to set, and check, the background
detect plugin.
2024-01-03 21:36:25 +00:00
Richard Bowman
0083231b85 Switch to matierial-symbols
material-design-icons was outdated and missing symbols. I've now switched, as recommended in the issue.

/closes #254
2024-01-03 20:51:32 +00:00
Richard Bowman
35db80121a Update build output location
This now places the static web app in the correct location for the v3 back-end code.
2024-01-03 20:50:33 +00:00
Richard Bowman
656e902198 Add a button to recentre the stage. 2024-01-03 17:15:29 +00:00
Richard Bowman
0e8340bb5b Relax dependency specifications and build on node v20
I've removed the patch version from the version specifiers (i.e.
I'm now only specifying the major version for most deps), and
it now builds OK using node v20 on WSL.
2024-01-03 17:15:29 +00:00
Richard Bowman
deeb2c7b9b Explicitly mention anyio as a dependency
This is already in via fastapi, but I just got caught out by a
v3 -> v4 change. I've added a dependency to make this explicit.
2024-01-03 17:12:15 +00:00
Richard Bowman
d561ff4484 Update blocking portal syntax
spawn_task should be replaced with start_task_soon as per the
anyio API for v4.
2024-01-03 17:09:36 +00:00
Richard Bowman
25552215f9 Refactored background detection into a Thing
The new background detect Thing (currently in smart_scan.py)
manages its own settings and exposes a few more actions.
2024-01-03 16:56:20 +00:00
Richard Bowman
04321cac96 Merge branch 'v3-webapp' into 'v3'
Web app compatibility with v3 API

See merge request openflexure/openflexure-microscope-server!163
2024-01-03 14:32:41 +00:00
Richard Bowman
37f6251d41 Eliminate references to old extensions API
Some of these will, in the future, be replaced by the new
API but, for now, the features in question are disabled anyway.
2024-01-03 14:28:31 +00:00
Richard Bowman
fc49ca7656 Restore cameraURI in calibration modal 2024-01-03 14:22:49 +00:00
jaknapper
0e32fd1e1f Added position log 2023-12-29 15:58:51 +00:00
Richard Bowman
c1ed5d0c87 Also log modal errors to the console 2023-12-15 02:39:03 +00:00
Richard Bowman
b23d6043c5 Remove IHI slidescan from features settings 2023-12-15 01:22:21 +00:00
Richard Bowman
c8906008ed Update zero coordinates button
This now uses a taskSubmitter and the new URL
2023-12-15 00:32:37 +00:00
Richard Bowman
93757c2103 Improve responsiveness and reliability of moves
Fixed a bug where incorrect values in the position control
caused incorrect relative moves.

Decreased the polling interval to make moves more responsive.
2023-12-15 00:15:23 +00:00
Richard Bowman
a9fdb6fd52 Update position controls to resemble propertyControl
I've simplified the HTML template and added a refresh button.
2023-12-15 00:00:02 +00:00