Commit graph

1055 commits

Author SHA1 Message Date
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
1f5adbb1a5 Ruff 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
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
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
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
jaknapper
ec83556da7 Convert server prefix to str for Mock tests 2026-05-12 15:42:50 +01:00
jaknapper
645a6dd136 Update endpoints for logs 2026-05-12 14:23:33 +01:00
Julian Stirling
92619e2131 Merge branch 'calibration_thing' into 'v3'
Calibrate settling times after moves

See merge request openflexure/openflexure-microscope-server!207
2026-05-11 12:32:30 +00:00
jaknapper
c171e5bdde Remove hold from sharpness monitor 2026-05-11 12:49:20 +01:00
jaknapper
ffa023dfa9 Correct data types in sharpness monitors 2026-05-11 11:04:55 +00:00
jaknapper
500e08555c Measure settling time action and hold in sharpness monitor 2026-05-11 11:04:55 +00:00
Julian Stirling
b6efb73cba Fix data directory save location and mount path 2026-05-11 11:07:38 +01:00
Joe Knapper
906b8be82c Merge branch 'start-gallery-thing' into 'v3'
Start implementing GalleryThing

See merge request openflexure/openflexure-microscope-server!576
2026-05-07 09:51:47 +00:00
Julian Stirling
c7bb3e3c11 Improve some attribute/method names 2026-05-07 09:48:49 +01:00
Julian Stirling
aeb337f9d1 Merge branch 'choose_int_downsample' into 'v3'
Choose a correlation resize factor rounded to an int

See merge request openflexure/openflexure-microscope-server!541
2026-05-07 08:14:41 +00:00
Julian Stirling
a16d47ed61 ScanList gets scans from GalleryThing, no ongoing scans shown. 2026-05-06 16:01:09 +01:00
Julian Stirling
4583151345 Add runtime checkable protocol for checking gallery compatibility. 2026-05-06 14:42:44 +01:00
Julian Stirling
93d7d75b0d Create basic gallery class that finds Things that want to show data 2026-05-06 10:05:34 +01:00
Julian Stirling
cc681a666c Change shutdown command depending on OS versions 2026-04-30 14:48:35 +01:00
Julian Stirling
5b14f8d820 Add method for checking OS version. 2026-04-30 14:14:24 +01:00
Richard Bowman
9334e99551 Fix typing of JPEGSharpnessMonitor attributes
appends should be done on the underlying `_`-prefixed attributes, not on the `Sequence` typed properties.
2026-04-28 14:58:55 +01:00
Richard Bowman
d2aebf8b10 Make properties of JPEGSharpnessMonitor read-only
For thread-safety reasons we should not modify the lists used by
`JPEGSharpnessMonitor`. This commit marks them as read-only properties
and types them as `Sequence` so `mypy` should flag if they get modified.
2026-04-28 14:50:04 +01:00
Joe Knapper
924676ff5d Merge branch 'stack-trends' into 'v3'
Stack trends

Closes #752

See merge request openflexure/openflexure-microscope-server!564
2026-04-16 12:20:01 +00:00
Joe Knapper
4da8172a16 Updates from review, mark tests as allowed to fail 2026-04-16 11:49:04 +01:00
Joe Knapper
271c45b873 Scale blur in simulator based on objective 2026-04-09 16:16:59 +01:00
jaknapper
bc6ea9a1ca Manually test for increasing or decreasing stacks 2026-04-02 17:43:52 +01:00
Beth Probert
7106ce1302 Set debug default value to False 2026-04-02 15:09:55 +01:00
Beth Probert
01954167ab Merge branch 'v3' into labthings-debug-logging-config 2026-04-02 10:50:06 +01:00
jaknapper
1bb2a125bc Update comment 2026-03-27 11:28:58 +00:00
jaknapper
96d67672d9 Choose a correlation resize factor rounded to an int 2026-03-27 11:28:58 +00:00
Joe Knapper
74476f18a0 Merge branch 'smart_stack_as_mixin' into 'v3'
Move smart stacking into a mixin so it can be re-used in other workflows

See merge request openflexure/openflexure-microscope-server!554
2026-03-25 13:45:09 +00:00
Julian Stirling
17feec33e2 Apply suggestions from code review of branch smart_stack_as_mixin
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2026-03-25 12:26:32 +00:00
Julian Stirling
b7be12e183 Fix c-chip workflow and stop forcing the scan workflow mixin to be a workflow 2026-03-25 09:45:38 +00:00
Julian Stirling
b8db7ae2a1 Don't define both stacks for CChips 2026-03-24 16:21:18 +00:00
Julian Stirling
a82fcca339 Move smart stacking into a mixin so it can be re-used in other workflows 2026-03-24 15:58:04 +00:00
Joe Knapper
5283c1a3c5 Extra normpath in Thing startup 2026-03-24 12:40:19 +00:00
Joe Knapper
1d11e7044e Move from posix path to os path 2026-03-23 16:59:57 +00:00
Joe Knapper
91075af70e Apply suggestions from code review of branch sigkill-handling
Co-authored-by: Beth Probert <beth_probert@outlook.com>
2026-03-18 14:51:32 +00:00
Joe Knapper
0618263830 Switch to ignoring line 2026-03-18 14:12:27 +00:00