Commit graph

4613 commits

Author SHA1 Message Date
Julian Stirling
714435f2d4 Fix unit tests for stage_measrue as an OFMThing 2026-05-14 16:49:29 +01:00
Chish36
5c128c1467 Removed settings, fixed saving issue and refactored 2026-05-14 15:58:26 +01:00
Chish36
03dc0a065f Save useful ROM data to data directory 2026-05-14 14:24:48 +01:00
Joe Knapper
182c67e105 Merge branch 'measure-framerate' into 'v3'
Measure framerate

See merge request openflexure/openflexure-microscope-server!583
2026-05-14 10:57:17 +00:00
Julian Stirling
7d84390404 Clean up temporary data dir in LabThingsTestEnv after test 2026-05-14 11:24:05 +01:00
jaknapper
9d68718570 Test picamera 2026-05-14 11:00:31 +01:00
jaknapper
cbfbd84fa9 Changes from review 2026-05-14 10:52:33 +01:00
jaknapper
5be8b0ecab Update tests, including picamera 2026-05-13 18:07:29 +01:00
jaknapper
1ea308a42d Move analysis and saving out of async 2026-05-13 17:54:36 +01:00
jaknapper
817c53d1df Data dir in cam_test_utils 2026-05-13 17:54:29 +01:00
Joe Knapper
3bbea44eaf Move saving data out of async, save as json 2026-05-13 17:54:29 +01:00
jaknapper
5962c80fdc Update testenvs with minimal app config
Worked out by Beth Probert
2026-05-13 17:54:29 +01:00
jaknapper
ab25705edc Move framerate to basecamera, using data_dir 2026-05-13 17:54:29 +01:00
jaknapper
5a8e8f745a Update tests 2026-05-13 17:54:29 +01:00
jaknapper
800aea21dc Move to async monitoring 2026-05-13 17:54:29 +01:00
jaknapper
e9414cfb1d Update picamera tests 2026-05-13 17:54:29 +01:00
jaknapper
261b4272c2 Picamera test for framerate 2026-05-13 17:54:29 +01:00
jaknapper
44300eafd6 Measure framerate in non-blocking way 2026-05-13 17:54:29 +01:00
Joe Knapper
7450a0e47c Merge branch 'fom-af' into 'v3'
Record fom as other sharpness metric

Closes #615

See merge request openflexure/openflexure-microscope-server!578
2026-05-13 16:53:28 +00:00
jaknapper
d12ca97fac We are now a picamera testing organisation 2026-05-13 17:24:12 +01:00
Joe Knapper
07caa1f05f Looser typing of stage positions in autofocus 2026-05-13 17:14:42 +01:00
Joe Knapper
b1791833e2 Clean up data_to_array to not use get attr 2026-05-13 17:14:42 +01:00
jaknapper
563bfcf7be Update move_and_measure, add unit tests 2026-05-13 17:14:42 +01:00
jaknapper
e93d9777a2 Type checking help for libcamera requests 2026-05-13 17:14:37 +01:00
jaknapper
0e1d9cca18 Improvements to properties and docstrings 2026-05-13 17:14:37 +01:00
Joe Knapper
4d9669f8ae Add FoM to codespell regex ignore 2026-05-13 17:14:37 +01:00
Joe Knapper
1f5adbb1a5 Ruff 2026-05-13 17:14:37 +01:00
Joe Knapper
767e3992ff Add FoM to codespell ignore 2026-05-13 17:14:37 +01:00
jaknapper
bea7447f26 Clean up from suggestions 2026-05-13 17:14:37 +01:00
Joe Knapper
cab960fe2c Apply suggestions from code review of branch fom-af
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-05-13 17:14:36 +01:00
jaknapper
664bb00c12 Allow users to specify method for autofocus 2026-05-13 17:14:36 +01:00
jaknapper
881970ce34 Record fom as other sharpness metric 2026-05-13 17:14:36 +01:00
Julian Stirling
704e8eff7e Merge branch 'v3-labthings-global-lock' into 'v3'
Enable global locking.

Closes #353 and #388

See merge request openflexure/openflexure-microscope-server!570
2026-05-13 15:37:57 +00:00
Richard Bowman
a47a569868 Update usage of hold_global_lock
The argument to `ThingServerInterface.hold_global_lock` was changed, so that `True` is now the default behaviour.
This commit updates that in the one place where it's used.
2026-05-13 12:58:50 +01:00
Richard Bowman
b6f4c9972e Exempt stitching and downloading scans from the global lock. 2026-05-13 12:58:50 +01:00
Richard Bowman
608f4ec0d5 Enable global locking.
This commit:
* switches to the LabThings branch
* enables locking when config files are loaded
* Updates jogging so jog moves aren't subject to the lock, but the jog loop is.
2026-05-13 12:58:50 +01:00
Julian Stirling
eff66eb667 Merge branch 'v3-labthings-validate-properties-on-set' into 'v3'
Update to validating properties on write.

See merge request openflexure/openflexure-microscope-server!555
2026-05-13 11:26:21 +00:00
Julian Stirling
e759970206 update picamera coverage zip 2026-05-13 11:53:20 +01:00
Joe Knapper
943ebb64b2 Merge branch 'bugfix/close_mitt_signals_' into 'v3'
Bugfix/close mitt signals

Closes #757

See merge request openflexure/openflexure-microscope-server!581
2026-05-13 10:44:50 +00:00
Richard Bowman
b00f90aada Remove settings from SmartStackMixin
As properties now take validation settings from the final class, we no
longer need to redefine settings here, so I've removed them.
2026-05-13 11:34:22 +01:00
Richard Bowman
622fa17634 Enable validation for all Things and pick correct branch
This commit updates the branch to use Thing._class_settings instead of FEATURE_FLAGS for a safer way to implement new features.
2026-05-13 11:34:21 +01:00
Richard Bowman
05f92b9b33 Specify the feature branch of LabThings and enable the feature flag.
I've put the feature flag in `openflexure_microscope_server.things.__init__` so that we only need it once, rather than next to every Thing definition.

I decided it was better here than, for example, in the server or cli modules because this way we still get the feature flags even if the Things are served from a different LabThings server.
2026-05-13 11:33:47 +01:00
Richard Bowman
d673ceab7b Update test suite to cope with LabThings validating properties on write (https://github.com/labthings/labthings-fastapi/pull/278) 2026-05-13 11:33:07 +01:00
Joe Knapper
b298728fe5 Merge branch 'gallery-ui-transition' into 'v3'
Start the UI transition from ScanList to Gallery

Closes #771

See merge request openflexure/openflexure-microscope-server!580
2026-05-13 10:30:48 +00:00
Joe Knapper
04b7d0d4fa Merge branch 'v3-default-factory-for-dictionaries' into 'v3'
Use a default_factory for dict default values

Closes #750 and #751

See merge request openflexure/openflexure-microscope-server!561
2026-05-13 08:03:52 +00:00
Joe Knapper
31210be9ac Merge branch 'objective-sim' into 'v3'
Scale blur in simulator based on objective

Closes #745

See merge request openflexure/openflexure-microscope-server!567
2026-05-13 08:02:44 +00:00
Joe Knapper
2e051f6d30 Apply suggestions from code review of branch gallery-ui-transition
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-05-13 08:44:55 +01:00
Antonio Anaya
ee8e09a9e1 bugfix(gallery) Close signals properly, unwatch, gracefully fails and prevent undefined all_items 2026-05-13 08:44:55 +01:00
Julian Stirling
5f6b54247d Start the UI transition from ScanList to Gallery 2026-05-13 08:44:55 +01:00
Richard Bowman
cb9270c9e8 Use a default_factory for dict default values
`backlash_steps` and `axis_inverted` were `lt.setting`s with default values that were dictionaries. This means they had mutable default values, which caused crosstalk in the test suite.

This commit swaps them to default factory functions. This should isolate instances from each other and stop the offending behaviour.
2026-05-13 08:26:52 +01:00