Julian Stirling
5e6aeb9bbf
Move SangaboardThing into repo
2025-07-02 16:42:38 +01:00
Julian Stirling
fc6c13f40e
Apply suggestions from code review of branch fast-stack
...
Co-authored-by: Beth Probert <beth_probert@outlook.com>
2025-06-27 10:41:53 +00:00
Julian Stirling
05af5e7548
Write unit teasts for CameraMemoryBuffer and fix minor issues found
2025-06-26 22:49:09 +01:00
Julian Stirling
2aea6a2569
Docstrings and stop using Pydantic for ScanParameters
2025-06-26 19:46:25 +01:00
Julian Stirling
6a87805b47
Fixing a number of issues from the merge and refactor.
2025-06-26 18:29:12 +01:00
Julian Stirling
61dd5e4958
Compete first (untested) pass of trying to make fast stack compatible with new memory captures
2025-06-26 17:43:11 +01:00
Joe Knapper
b49aecb802
Apply suggestions from code review of branch jpeg-capture-in-stacking
2025-06-25 17:32:05 +00:00
Julian Stirling
761957d7fb
Clarify exposure variables in docstring
2025-06-25 17:53:43 +01:00
Julian Stirling
0389ab760a
Apply suggestions from code review of branch jpeg-capture-in-stacking
...
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2025-06-25 16:52:23 +00:00
Julian Stirling
ee8c58c99f
Docstrings, typehints, and clarifications in PiCamera and its utils
2025-06-25 17:36:11 +01:00
Julian Stirling
83e0e08ccc
Apply suggestions from code review of branch jpeg-capture-in-stacking
...
Co-authored-by: Beth Probert <beth_probert@outlook.com>
2025-06-25 15:12:28 +00:00
Julian Stirling
ce5b5b781c
Add typehints and docstrings as suggested in review
2025-06-25 15:55:48 +01:00
Julian Stirling
0933ece63a
Apply suggestions from code review of branch jpeg-capture-in-stacking
...
Co-authored-by: Beth Probert <beth_probert@outlook.com>
2025-06-25 15:39:36 +01:00
Julian Stirling
2d49bf2061
Remove duplicate exposure property from picamera thing
2025-06-25 10:21:54 +01:00
Julian Stirling
8a4ad49c03
Apply suggestions from code review of branch jpeg-capture-in-stacking
...
Co-authored-by: Richard Bowman <richard.bowman@cantab.net>
2025-06-25 09:17:32 +00:00
Julian Stirling
4e78f3d104
Fix exposure time adjusting when setting the same value and add test
...
Closes #433
2025-06-24 17:01:16 +01:00
Julian Stirling
febb0d2690
Clarify white balance code.
2025-06-23 17:49:35 +01:00
Julian Stirling
cdae90013a
Modify comment for clarity in the function that copies the lens shading algorithm
2025-06-23 16:24:40 +00:00
Julian Stirling
afea1e3658
Create function for flattening and rounding array and converting to a list
2025-06-23 17:22:28 +01:00
Julian Stirling
c659ba8f5e
Minor tidying to Picamera Thing
2025-06-23 13:07:26 +01:00
Julian Stirling
dd63d74651
Removing mjpeg bitrate setter from UI and Python as it wasn't implemented fully and isn't a setting that should need changing
2025-06-23 12:39:41 +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
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
Julian Stirling
b5606984ae
Consolidate the BaseCamera, CameraStub, and CameraProtocol, move StreamingPiCamera2 to this repo
2025-06-23 11:25:49 +01:00
jaknapper
7052917ff9
capture_image in stub raises NotImplemented
2025-06-23 11:25:49 +01:00
jaknapper
8c8c6568c3
Updated docstring for start_streaming
2025-06-23 11:25:49 +01:00
jaknapper
2d946637eb
Added buffer_count as an argument of streaming
2025-06-23 11:25:48 +01:00
jaknapper
968bd339c2
SETTLING_TIME global in stacking
2025-06-23 11:25:37 +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
17f3bbe646
Low res stream during scanning for instant high res captures
2025-06-23 11:17:46 +01:00
jaknapper
a9fdd0ea3e
Wait params in captures, multiple attempts to capture
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
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
Julian Stirling
3f0564f253
Turning on more lint checkers, warning for cameras that ignore resolution setting
2025-06-10 16:07:48 +01:00
Joe Knapper
08d1371569
Apply 1 suggestion(s) to 1 file(s)
...
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2025-06-06 10:25:34 +00:00
Joe Knapper
69db7b4041
Apply 2 suggestion(s) to 1 file(s)
...
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2025-06-05 17:09:37 +00:00
Joe Knapper
41f6c8879a
RATIO as a global, better naming and splitting of generate_image()
2025-06-05 15:03:26 +01:00
Joe Knapper
2db895a1fc
Defocus and realign simulation axes
2025-06-05 12:09:01 +01:00
jaknapper
a4801ad861
Update camera thing to match upstream
2025-05-07 19:52:21 +01:00
Julian Stirling
4eeff35e2d
Fixes to naming to make basic lint checks pass
2025-04-11 12:29:14 +01:00
Richard Bowman
9fd8fc37f1
Formatted with Ruff
2024-12-03 06:46:08 +00:00
Richard Bowman
57177c6a56
Sped up camera and got CSM passing
...
Using lower resolution helps speed it up, and skipping CSM settling time makes a big difference.
2024-12-03 06:35:16 +00:00
Richard Bowman
bccb1ee923
Stub class for camera protocol
...
As with the previous commit, this adds a concrete stub Thing to enable
DirectThingClient generation, so we
can depend on the camera.
2024-11-29 12:53:42 +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
2e2e877d75
JPEGBlob class definition
...
Static type checking is easier if JPEGBlob is declared as a class, rather than
being created with a function.
2024-11-29 12:19:05 +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