Commit graph

39 commits

Author SHA1 Message Date
Julian Stirling
65f172d650 Stop using print statments or root level loggers 2025-09-18 16:21:45 +01:00
Julian Stirling
2ce49088e7 Add return typehints to magic methods 2025-08-27 18:56:09 +01:00
Julian Stirling
4c46330959 Add ANN20X rules to ruff 2025-08-27 18:56:08 +01:00
Julian Stirling
24233412af Start adding ANN ruff rules 2025-08-27 18:54:15 +01:00
Julian Stirling
7cd6b11411 Further unification of camera array functionality 2025-08-27 17:14:49 +01:00
Julian Stirling
5484b51a1e Unify JPEG capture, metadata, and saving; reducing duplication 2025-08-27 17:14:49 +01:00
Julian Stirling
c31fffad5b Make simulation image wrap to prevent errors when moving out of range. 2025-08-26 16:03:56 +01:00
Julian Stirling
b672c3c2a7 Clarify docstring for Simulation start_streaming 2025-08-06 13:24:25 +01:00
Julian Stirling
8ce06991f9 Small tweaks to simulation camera to get scanning working. 2025-08-05 08:28:10 +01:00
Julian Stirling
e7e3a08210 Camera settings exposed in UI defined by server. 2025-07-31 20:56:55 +01:00
Julian Stirling
0794d4777f Camera calibration buttons specified by server. Simulation has option to remove sample 2025-07-31 20:56:55 +01:00
Julian Stirling
fe1b84a922 Complete first pass (untested on hardware) of bg detect refactor. 2025-07-24 17:07:50 +01:00
Julian Stirling
b5586a4b32 A partial refactor of background detect 2025-07-24 17:07:50 +01:00
Julian Stirling
31e3d15890 Add random noise to simulation image 2025-07-24 16:17:52 +01:00
Julian Stirling
5701225158 Update simulation canvas to have colour so it works with background detect. 2025-07-24 15:58:32 +01:00
Julian Stirling
b89449be77 Add camera-stage-mapping compliant functions to BaseStage and BaseCamera. 2025-07-13 21:55:55 +01:00
Julian Stirling
7e6017f648 Get codespell passing and add it as a CI job. 2025-07-11 00:16:25 +01:00
Julian Stirling
e33fecaef0 Documentation of python magic class methods 2025-07-10 16:46:10 +01:00
Julian Stirling
1bbbfeef0f Add docstrings to public methods 2025-07-10 14:04:48 +01:00
Julian Stirling
80beeea07b Add punctuation to docstrings 2025-07-10 09:24:50 +01:00
Julian Stirling
a84a916719 Restructured text fixes so that pydoctor would return without an error 2025-07-09 23:59:08 +01:00
Julian Stirling
52a80ef66b And adjust for new as lt import 2025-07-07 15:25:14 +01:00
Julian Stirling
840ed7f20e Update Thing Settings to use the new format provided by PR #110 of Labthings FastAPI 2025-07-07 15:24:30 +01:00
Julian Stirling
5e6aeb9bbf Move SangaboardThing into repo 2025-07-02 16:42:38 +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
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
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
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
868aa0598c Simulation mode
I successfully calibrated and used the camera-stage mapping.
2024-11-02 00:10:25 +00:00