Richard Bowman
416b74cb4a
A plugin to allow recalibration via the web API
...
This adds a plugin with a single endpoint, "recalibrate".
The recalibrate methods are deliberately simple and not aware
of the StreamingCamera because I want to share the maximum
amount of code with non-microscope projects that also want
to flatten the lens shading.
The plugin is microscope-specific, and therefore handles
shutting down the stream and managing the resolution of
the camera, to allow the calibration to run without
restarting the microscope server.
Currently it **DOES NOT SAVE SETTINGS**.
TODO: save the settings after recalibration.
Arguably this isn't a job for this plugin, what we would
need is:
* A method to sync the StreamingCamera's settings with the
underlying PiCamera object
* A method to save the StreamingCamera's settings to disk.
I think it would be neatest to provide the first of these as
a method of the StreamingCamera class, and call it from the
plugin. Saving the settings to disk (e.g. to the microscope
rc file, or to somewhere else) should be a separate endpoint
(although most interfaces will probably call it immediately
after recalibration).
2019-01-30 09:10:33 +00:00
Joel Collins
d7e19c40e2
Included Richards autofocus plugin in defaults
2019-01-29 13:54:47 +00:00
Joel Collins
cc36aa7593
Fixed a bug where malformed JSON payloads prevented default param values from returning
2019-01-29 13:54:32 +00:00
Joel Collins
bda946bcc9
Errors in plugins no longer caught as if the module just didn't exist
2019-01-29 13:42:32 +00:00
Joel Collins
485ebe9fb1
Added string representation of LocError
2019-01-29 13:41:46 +00:00
Joel Collins
b4d9840ed0
Added set_properties context manager
2019-01-29 13:41:35 +00:00
Joel Collins
e420252b37
Fixed recalibration stream stop/restart
2019-01-29 13:20:55 +00:00
Joel Collins
a11d2145d9
Fixed broken error handling for long-running tasks
2019-01-28 17:49:44 +00:00
Joel Collins
e3a27b024a
Iterated version numbers
2019-01-24 16:27:21 +00:00
Joel Collins
52583ad4ae
Iterated version number
2019-01-24 16:26:57 +00:00
Joel Collins
ea141ab0fc
Updated documentation
2019-01-24 16:24:22 +00:00
Joel Collins
465ed647d3
Fixed docstrings
2019-01-24 16:24:14 +00:00
Joel Collins
80cc74bd3d
Fixed plugin blueprint method name clashing
2019-01-24 14:14:25 +00:00
Joel Collins
e5fca6c8a0
Fixed broken type hint
2019-01-24 14:09:54 +00:00
Joel Collins
9860ace394
Fixed broken legacy import
2019-01-24 14:09:47 +00:00
Joel Collins
363094170e
Added/updated docs
2019-01-24 14:05:57 +00:00
Joel Collins
cb441201c6
Explicitally acquire camera lock
2019-01-24 14:05:45 +00:00
Joel Collins
5c86c7f350
Updated to use CompositeLock
2019-01-24 14:05:25 +00:00
Joel Collins
27043240f3
Added explicit lock ecquisition
2019-01-24 14:05:05 +00:00
Joel Collins
fb26bcb7f3
Added CompositeLock
2019-01-24 14:04:41 +00:00
Joel Collins
25aeae0233
Updated LockError location and added docs
2019-01-24 14:04:30 +00:00
Joel Collins
488b94eee6
Updated LockError location
2019-01-24 14:04:12 +00:00
Joel Collins
59b634498b
Moved LockError into exceptions.py
2019-01-24 14:03:55 +00:00
Joel Collins
4be89866ee
Added lock to stage positioning
2019-01-24 13:28:46 +00:00
Joel Collins
18dec56c80
Fixed composite lock error
2019-01-24 13:13:08 +00:00
Joel Collins
8292ebf7c7
Implement hardware locks
2019-01-24 12:11:01 +00:00
Joel Collins
a40cb9b9f6
Implemented basic threaded tasks for long-running functionality
2019-01-23 16:48:49 +00:00
Joel Collins
4a09727e65
Iterated to reference beta 4
2019-01-22 14:58:53 +00:00
Joel Collins
3121ca00ad
Iterated to beta 4
2019-01-22 14:57:25 +00:00
Joel Collins
0dff9b6b39
Enable web UI to run when no stage is connected
2019-01-22 14:47:11 +00:00
Joel Collins
a6332f4f30
Updated self-served client to new version
2019-01-22 13:46:46 +00:00
Joel Collins
0e23ce8d0b
Added web routes for tagging captures
2019-01-22 12:09:42 +00:00
Joel Collins
7a72b45b29
Added tags to capture metadata
2019-01-22 11:35:35 +00:00
Joel Collins
4e985fe80d
Capture list now persists through server restart
2019-01-22 11:23:15 +00:00
Joel Collins
334bf3822e
Revert "Update requirements.txt"
...
This reverts commit 4518f9f5ec
2019-01-21 17:54:05 +00:00
Joel Collins
511e13a5b1
Update pyproject.toml to new repository location
2019-01-21 17:49:53 +00:00
Joel Collins
4518f9f5ec
Update requirements.txt
2019-01-21 17:48:47 +00:00
Joel Collins
0cde8b717d
Added fov into microscope RC
2019-01-21 10:49:59 +00:00
Joel Collins
748c9b8b20
Routes now return position as a microscope stage sub-section
2019-01-21 10:49:46 +00:00
Joel Collins
f7c6596bef
Added dictionary filter function
2019-01-21 10:49:22 +00:00
Joel Collins
dbee6ffaa1
Added flask-cors to poetry dependencies
2019-01-18 16:52:40 +00:00
Joel Collins
8170726430
Enabled CORS on /api routes
2019-01-18 16:49:21 +00:00
Joel Collins
ba4599d4a3
Changed download button to YAML link
2019-01-18 16:15:11 +00:00
Joel Collins
a15e797ce4
Removed redundant as_attachment response
2019-01-18 16:07:50 +00:00
Joel Collins
533f5d9857
Added routes to download metadata yaml files
2019-01-18 15:27:11 +00:00
Joel Collins
63ffc0057a
Added routes for new metadata methods
2019-01-18 14:50:08 +00:00
Joel Collins
84abfb9d7f
Updated to new metadata format
2019-01-18 14:49:59 +00:00
Joel Collins
2c2932f5aa
Added methods to add, update, and save capture metadata in a yaml file
2019-01-18 14:49:44 +00:00
Joel Collins
7cd8d26ea5
Iterated to beta 3
2019-01-17 14:32:37 +00:00
Joel Collins
2ecc92e1c3
Iterated version number
2019-01-17 14:17:51 +00:00