Commit graph

43 commits

Author SHA1 Message Date
Joel Collins
298bc2ba6a Added scan API routes 2019-03-07 09:54:43 +00:00
Joel Collins
d10263adf8 Added arg to affix metadata and tags to scans 2019-03-07 09:53:25 +00:00
Joel Collins
cd4bab94ab Renamed stack plugin to scan 2019-03-06 21:08:56 +00:00
Joel Collins
4d82b4df8a Initial tile/stack plugin 2019-03-06 17:04:32 +00:00
Joel Collins
e175bb1f92 Fixed broken plugin namespace 2019-03-06 17:04:18 +00:00
Richard Bowman
0520f058ad Explicitly set ISO=0 (auto) when adjusting gain. 2019-02-05 18:42:50 +00:00
Joel Collins
0948c9308a Went on a PEP-8 rampage 2019-01-31 17:20:46 +00:00
Joel Collins
036fb82628 Moved calibration plugin to defaults. Save config when calibration finishes. 2019-01-31 16:46:34 +00:00
Joel Collins
e9d74c07e6 Separated updating/writing from saving config 2019-01-31 13:51:02 +00:00
Joel Collins
4450ee132e Moved autofocus plugin to its own module 2019-01-30 13:51:20 +00:00
Joel Collins
a6791d55ac Plugin routes are now fully qualified 2019-01-30 13:51:09 +00:00
Joel Collins
0c156128fc Minor formatting changes 2019-01-30 12:02:35 +00:00
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
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
a11d2145d9 Fixed broken error handling for long-running tasks 2019-01-28 17:49:44 +00:00
Joel Collins
465ed647d3 Fixed docstrings 2019-01-24 16:24:14 +00:00
Joel Collins
9860ace394 Fixed broken legacy import 2019-01-24 14:09:47 +00:00
Joel Collins
5c86c7f350 Updated to use CompositeLock 2019-01-24 14:05:25 +00:00
Joel Collins
4be89866ee Added lock to stage positioning 2019-01-24 13:28:46 +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
4bd6a562d3 Better example of JsonPayload use 2019-01-09 16:33:36 +00:00
Joel Collins
fb1f848a83 Updated example plugin to use new JsonPayload 2019-01-09 16:23:30 +00:00
Joel Collins
eb5c9c3fee Updated simple plugin test 2019-01-08 16:15:39 +00:00
Joel Collins
95a3abde7e Restructured builtin plugins and docstrings 2018-12-20 15:44:43 +00:00
Joel Collins
d681a2069d Started re-writing plugin documentation 2018-12-20 11:31:50 +00:00
Joel Collins
6d464349b7 Completely rewritten plugin loader to accept absolute modules, or single file paths 2018-12-12 15:00:30 +00:00
Joel Collins
bde2e9de2a Moved plugins up one level and added new view plugins 2018-12-12 14:58:55 +00:00
Joel Collins
ac5f26ef6b Removed pointless second plugin from one file 2018-12-11 17:27:44 +00:00
Joel Collins
87901131a0 Make default plugins importable 2018-12-11 17:22:17 +00:00
Joel Collins
be084f6f57 Added API plugin demo 2018-12-11 17:22:01 +00:00
Joel Collins
4cbfe16cc2 Edit return methods for API plugin example 2018-12-11 17:21:37 +00:00
Joel Collins
2fdabccfb0 Added user plugin directory to defaults path 2018-12-11 17:21:18 +00:00
Joel Collins
87886d35a0 Fixed relative imports 2018-12-11 17:20:12 +00:00
Joel Collins
14a4e3d909 Restructured plugin validity check 2018-12-11 14:34:36 +00:00
Joel Collins
9a2c585046 Broken plugin into microscope plugin and API endpoints 2018-12-11 13:32:29 +00:00
Joel Collins
5ef9215051 Additional debug logging 2018-12-11 13:32:16 +00:00
Joel Collins
7a58b4e95e Moved plugin mounting to a Microscope method 2018-11-23 17:51:13 +00:00
Joel Collins
8e953e1064 Added documentation for attaching plugins 2018-11-23 17:40:36 +00:00
Joel Collins
034a45e400 Updated docs to include plugins 2018-11-23 17:34:20 +00:00
Joel Collins
c0828cee1e Added example/test plugin 2018-11-23 17:13:48 +00:00
Joel Collins
0f47d0dca7 Started building Microscope plugin system 2018-11-23 17:13:38 +00:00