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