Added microscope plugin structure
This commit is contained in:
parent
aa7468e960
commit
1e7947e097
1 changed files with 26 additions and 2 deletions
|
|
@ -44,9 +44,33 @@ For example, the plugins section of your microscoperc.yaml file may look like:
|
||||||
|
|
||||||
Microscope plugin structure
|
Microscope plugin structure
|
||||||
---------------------------
|
---------------------------
|
||||||
.. note::
|
As described earlier, a plugin must subclass :py:class:`openflexure_microscope.plugins.MicroscopePlugin`. Each plugin in described by a single class, containing any number of methods. The methods defined within your plugin class will be attached to the microscope. By subclassing :py:class:`openflexure_microscope.plugins.MicroscopePlugin`, your methods automatically get access to the microscope object your plugin is attached to, through `self.microscope`. This is an instance of :py:class:`openflexure_microscope.Microscope`, and gives unrestricted access to the attached camera and stage hardware.
|
||||||
|
|
||||||
To be written
|
For example, a simple plugin file named `myplugin.py`, may look like:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from openflexure_microscope.plugins import MicroscopePlugin
|
||||||
|
|
||||||
|
class MyPlugin(MicroscopePlugin):
|
||||||
|
|
||||||
|
def identify(self):
|
||||||
|
"""
|
||||||
|
Demonstrate access to Microscope.camera, and Microscope.stage
|
||||||
|
"""
|
||||||
|
|
||||||
|
response = "My parent camera is {}, and my parent stage is {}.".format(self.microscope.camera,
|
||||||
|
self.microscope.stage)
|
||||||
|
return response
|
||||||
|
|
||||||
|
def hello_world(self):
|
||||||
|
"""
|
||||||
|
Demonstrate passive method
|
||||||
|
"""
|
||||||
|
|
||||||
|
return "Hello world!"
|
||||||
|
|
||||||
|
When this plugin is loaded and attached to a microscope object named `microscope`, the plugin methods will be available at `microscope.plugin.myplugin.identify()` and `microscope.plugin.myplugin.hello_world()`.
|
||||||
|
|
||||||
Adding web API routes
|
Adding web API routes
|
||||||
---------------------
|
---------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue