Commit graph

680 commits

Author SHA1 Message Date
Julian Stirling
dcf4b0b383 Split the logic for deciding how to move in recentre from the moves and the main loop 2025-11-05 11:43:25 +00:00
Julian Stirling
a5a372b6c0 Split out matix calculations from CSM, and continue testing recentre 2025-11-05 00:15:30 +00:00
Julian Stirling
b09aa7b5b8 First interation of a recentre algoritm build on ROM test methods 2025-11-04 18:54:15 +00:00
Julian Stirling
8b7de05a9c Building a recentre action with ROM methods 2025-11-04 18:54:15 +00:00
Julian Stirling
7d583dcf94 Apply suggestions from code review of branch dont-mutate-tuning-files
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2025-10-29 13:08:10 +00:00
Julian Stirling
ee2ef848b1 Add native implementation of find_tuning_algo 2025-10-29 13:08:10 +00:00
Julian Stirling
815b112069 Update the picamera tuning file utilities to not modify the dictionaries in place 2025-10-29 13:08:10 +00:00
Julian Stirling
2bc315f85d Update picamera cal docstring now white balance isn't its own method. 2025-10-28 14:00:02 +00:00
jaknapper
ba3f7f6cf5 Remove unused code, add comments 2025-10-28 14:00:01 +00:00
jaknapper
506693f653 Set colour gains directly from Lens Shading Table 2025-10-28 13:58:53 +00:00
Julian Stirling
adf9736fab Add testing for patching json files 2025-10-27 15:07:45 +00:00
Julian Stirling
c7e4160a08 Implement patching base labthings configuration files 2025-10-27 15:07:45 +00:00
Julian Stirling
9e9764e196 Implement JSON Merge Patch from IETF RFC 7396 2025-10-27 15:07:43 +00:00
Julian Stirling
551e392e91 Merge branch 'pil-simulation' into 'v3'
Improve simulation frame rate

See merge request openflexure/openflexure-microscope-server!419
2025-10-27 14:29:55 +00:00
Julian Stirling
418a6b5364 Merge branch 'calibration-wizard-refactor' into 'v3'
Refactor Calibration Wizard

Closes #578

See merge request openflexure/openflexure-microscope-server!415
2025-10-27 14:15:05 +00:00
Julian Stirling
d27948a155 Reduce time jitter in simulation. 2025-10-27 13:37:53 +00:00
Julian Stirling
c8a028e27c And file coms in PIL 2025-10-27 13:37:53 +00:00
Julian Stirling
b8bdb430b7 Do blur in PIL 2025-10-27 13:37:53 +00:00
Julian Stirling
94c9a0e7dd Merge branch 'rom_test_only' into 'v3'
Adding automatic range of motion measurements

See merge request openflexure/openflexure-microscope-server!335
2025-10-27 12:18:31 +00:00
Julian Stirling
ba84dc2f92 Be clear that quadratic can be used with a float or an array 2025-10-24 17:34:32 +01:00
Julian Stirling
08046ff657 Clarify behaviour of overloads, and better error checking of _move_and_measure inputs 2025-10-24 17:27:43 +01:00
Julian Stirling
ba8a4ca744 Apply suggestions from code review of branch rom_test_only
Co-authored-by: Beth Probert <beth_probert@outlook.com>
2025-10-24 14:05:07 +00:00
Julian Stirling
5860b9be97 Add CSM steps to new calibration wizard. 2025-10-23 17:32:58 +01:00
Julian Stirling
0ebc507eff Add camera calibration steps into refactored calibration wizard. 2025-10-23 17:32:58 +01:00
Julian Stirling
c0a8d15628 Add calibration_required property to Camera and CSM things. 2025-10-23 17:32:58 +01:00
jaknapper
602040426b Add timezone to capture metadata 2025-10-23 10:41:30 +01:00
Joe Knapper
24be993478 Apply suggestions from code review of branch camera-metadata 2025-10-23 10:40:56 +01:00
Joe Knapper
9db2cb9545 Apply suggestions from code review of branch camera-metadata 2025-10-23 10:40:56 +01:00
Joe Knapper
4f0d4536ab Apply suggestions from code review of branch camera-metadata 2025-10-23 10:40:56 +01:00
jaknapper
c2d8160ff4 Smart Scan metadata containing scan name if scan is running 2025-10-23 10:40:56 +01:00
jaknapper
057376a799 Capture metadata with more info, including default time tags 2025-10-23 10:40:53 +01:00
jaknapper
f8ee71b9c0 Make thing state mutable within the method 2025-10-23 10:38:10 +01:00
jaknapper
e0ce40607b Fix property name and call 2025-10-23 10:38:10 +01:00
Joe Knapper
b1413ca66c Camera metadata with basic data 2025-10-23 10:38:10 +01:00
Julian Stirling
13b190a8ca Merge branch 'modified-times' into 'v3'
Scan tab show scan duration

See merge request openflexure/openflexure-microscope-server!408
2025-10-23 00:15:10 +00:00
Julian Stirling
82f435256b Release lock at end of ROM test 2025-10-22 09:57:01 +01:00
jaknapper
ab0e00eb1d Fix ruff 2025-10-21 15:30:47 +01:00
jaknapper
d913db92af CCM for HQ cam also 2025-10-21 15:14:42 +01:00
Julian Stirling
b8eb1907c3 Modify range of motion _move_back_until_motion_detected to move in SMALL_STEP steps
This will carry on until at least 1.5x BIG_STEP in total motion. If
no motion is detected then something is up.
2025-10-21 14:40:18 +01:00
jaknapper
18ad404a57 Set colour correction to interpolate value
Update hardware test readme

Add pause between calibrating camera and setting background
2025-10-21 13:37:50 +01:00
Julian Stirling
04d3162091 Send scan duration as a number (or null) from backend. Format in UI 2025-10-21 11:47:10 +01:00
Julian Stirling
bffd7f9d0b Improve type consistency and error message 2025-10-21 10:48:53 +01:00
Julian Stirling
7f657ae853 No error on parasitic motion after small step checking for stage movement, use background detect 2025-10-20 23:02:08 +01:00
Julian Stirling
72c35c302c Adjust CSM Thing to allow calculation of stage coords from img coords and use this in stage measure
Using this stops the z-axis being flipped when the off diagonal elements of the CSM are different
signs.
2025-10-20 22:20:19 +01:00
Julian Stirling
ff606ff10d Apply spelling corrections and variable renaming from code review of branch improve-scan-planning
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2025-10-20 18:26:20 +01:00
Julian Stirling
635375a012 Fix assumption that CSM was a numpy array not a list 2025-10-20 16:40:41 +01:00
Julian Stirling
dbb0a4ac16 Fix issues found by MyPy 2025-10-19 23:04:24 +01:00
Julian Stirling
f781e6b674 Image intermediate locations between sample and background 2025-10-19 21:29:11 +01:00
Julian Stirling
39a04df5be Objects for scan locations allowing more sophisitcated tracking.
This commit updates the scan planners to allow more sophisticated
tracking of past positions. Currently it still checks that
the algorithm is unchanged from past behaviour.
2025-10-19 19:55:36 +01:00
Julian Stirling
b314ced4f7 Final Range of motion tests 2025-10-17 17:31:34 +01:00