jaknapper
ee128ad91f
Rename to StackParams, move undershoots into Params
2025-06-23 13:47:14 +01:00
jaknapper
7cff0f8f44
StackInfo dataclass
2025-06-23 12:56:31 +01:00
Julian Stirling
72faba0272
Fix issues found by linter in PiCamera Code
...
Issue #423 created based on lens shading TODOs
2025-06-23 12:39:25 +01:00
jaknapper
333ea1b644
More input validation and comments
2025-06-23 12:02:00 +01:00
Joe Knapper
7a7547542c
Apply suggestions from code review of branch fast-stack
...
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2025-06-23 10:36:26 +00:00
Julian Stirling
0e3f4305b5
Tidy post refactor of cameras
2025-06-23 11:26:24 +01:00
Julian Stirling
4368dc3d90
Consolidate functionality into BaseCamera from Capture Thing and StreamingPicamera2
2025-06-23 11:26:22 +01:00
jaknapper
628fd145f3
Cleaned up settling time maths to only calculate once
2025-06-23 11:25:49 +01:00
jaknapper
2f9e37a02f
More descriptive timing variable names
2025-06-23 11:25:49 +01:00
jaknapper
985d20e032
Capture resolution as a Thing property
2025-06-23 11:25:49 +01:00
jaknapper
968bd339c2
SETTLING_TIME global in stacking
2025-06-23 11:25:37 +01:00
jaknapper
52b58241cc
Added copy_sharpest_image to autofocus
2025-06-23 11:19:23 +01:00
jaknapper
0d32983b62
Only undershoot z stack if image count > 1, settle before first capture
2025-06-23 11:19:23 +01:00
jaknapper
744ec28f93
Get images as a PIL image from camera, use resizing and saving as settling time in stack
2025-06-23 11:19:20 +01:00
jaknapper
9f2a131f1e
Swap stream for scan, target_resolution as arg
2025-06-23 11:17:46 +01:00
jaknapper
f5c1ff2621
Ruff formating
2025-06-23 11:17:46 +01:00
jaknapper
de7ffb9d1e
Stream_name and capture_method args updated
2025-06-23 11:17:46 +01:00
jaknapper
8bc0573ab1
Capture_array can now use "full" stream
2025-06-23 11:17:46 +01:00
jaknapper
9d1385231d
Rename jpeg_array to highres_array
2025-06-23 11:17:46 +01:00
jaknapper
132efa8033
Options for capture method, default downsampling of correlations
2025-06-23 11:17:45 +01:00
jaknapper
26163dc97e
Added a new way to capture full res JPEGs, need to do a comparison of results
2025-06-23 11:17:45 +01:00
jaknapper
ab33de7ccd
Capture a jpeg to disk
2025-06-23 11:17:45 +01:00
jaknapper
d8878e40da
Stacking in autofocus with temp capture Thing
2025-06-23 11:17:45 +01:00
Joe Knapper
d1ed7ec797
Apply suggestions from code review of branch fast-stack
2025-06-20 11:26:58 +00:00
Joe Knapper
006d3b2a7b
Apply suggestions from code review of branch fast-stack
...
Co-authored-by: Beth Probert <beth_probert@outlook.com>
2025-06-20 11:23:14 +00:00
jaknapper
ce33b94aab
Capture as a Raw dependency to use methods that aren't actions
2025-06-20 12:19:07 +01:00
jaknapper
6cf2f4d8c3
Typehints and docstrings in z_stack
2025-06-19 14:58:16 +01:00
jaknapper
6acfbaefd6
Split up z stack function
2025-06-18 18:36:21 +01:00
jaknapper
e8c4103bb0
Remove unneeded logging
2025-06-17 14:34:42 +01:00
jaknapper
f363ec0eff
Docstring for test_stack
2025-06-17 14:34:42 +01:00
jaknapper
dbb65d55b5
Use scan autofocus dz
2025-06-17 14:34:42 +01:00
jaknapper
cdd603d751
Capture the full stack requested
2025-06-17 14:34:42 +01:00
jaknapper
0671f2d1be
Backlash correction as global, more comments
2025-06-17 14:34:42 +01:00
jaknapper
712f524414
Looping autofocus on failed smart stack
2025-06-17 14:34:42 +01:00
jaknapper
3e164102f6
A stack that tests whether the sharpest image is towards the middle
2025-06-17 14:34:42 +01:00
Julian Stirling
2050c2dc7c
Add return checker, needed 4 fixes
2025-06-10 16:07:48 +01:00
jaknapper
b812c6be35
Settling time as global, settle before taking first image in stack
2025-05-21 15:41:49 +01:00
jaknapper
bdb307ca18
Remove verify_autofocus from autofocus
2025-05-08 17:32:04 +01:00
jaknapper
673a135157
Reorganise imports
2025-05-07 19:52:21 +01:00
jaknapper
6cf99d5096
Stack settings in GUI
2025-05-07 19:52:21 +01:00
jaknapper
f50580cdd0
Give sharpness monitor a descriptive name, not m
2025-05-07 19:52:20 +01:00
jaknapper
bf6437b42c
Renaming z_stack features for clarity, docstring on AutofocusThing
2025-05-07 19:52:20 +01:00
jaknapper
9f39f61d03
Stacking in autofocus with temp capture Thing
2025-05-07 19:52:18 +01:00
Richard Bowman
83e10b125b
Fix return type annotation for autofocus
2024-12-18 14:23:58 +00:00
Richard Bowman
9fd8fc37f1
Formatted with Ruff
2024-12-03 06:46:08 +00:00
Richard Bowman
27aec769a2
Linter fixes
...
NB I have permitted bare except: blocks in smart_scan. This should be reverted.
2024-12-03 06:43:45 +00:00
Richard Bowman
a0fbbc3e40
Convert Stage to a Protocol
...
The Stage is now implemented as a runtime-checkable Protocol.
Part of this led to the realisation that we can't create a DirectThingClient
based on a Protocol, only on a concrete Thing. While it might be
a good idea to address that in LabThings in due course, for now
we work around it by creating both a Protocol and a stub class. The stub class implements the protocol, and
can be used to declare a dependency.
2024-11-29 12:53:04 +00:00
Richard Bowman
adbb805556
Formal Protocol for camera interface
...
I've now split the base camera code into a runtime-checkable Protocol
and a concrete base class (which is optional). This removes the requirement
for cameras to subclass `openflexure_microscope.things.camera.Camera`
and instead uses duck typing that should
work both statically and dynamically.
As part of this, I've moved the commonly-used dependencies
on the camera inside `openflexure_microscope.things.camera` for consistency, and to make it easy to update them if it changes in the future.
2024-11-29 11:26:38 +00:00
Richard Bowman
2268425bf3
Depend only on generic Camera and Stage
...
I've now defined parent classes for camera and stage, and depend only on those. This allows
proper typing while enabling the actual hardware
classes to be swapped.
The interfaces definitely aren't final - this is a first
draft, largely to enable me to test out the concept
of a configuration server.
2024-08-09 02:41:39 +01:00
jaknapper
aed5a22983
Autofocus verify based on sharpness range, removed repetitive logging
2024-02-15 11:02:44 +00:00