@@ -35,18 +35,18 @@ series of advantages:
3535
3636 add figures to explain device server (figure from the paper).
3737
38- The `device-server ` program
39- ===========================
38+ The `` device-server ` ` program
39+ =============================
4040
41- The `device-server ` program is part of the Microscope installation.
41+ The `` device-server ` ` program is part of the Microscope installation.
4242It can started from the command line with a configuration file
4343defining the devices to be served, like so:
4444
4545.. code-block :: bash
4646
4747 device-server PATH-TO-CONFIGURATION-FILE
4848 # alternatively, if scripts were not installed:
49- python -m microscope.device_server PATH-TO-CONFIGURATION-FILE
49+ python3 -m microscope.device_server PATH-TO-CONFIGURATION-FILE
5050
5151 where the configuration file is a Python script that declares the
5252devices to be constructed and served on its ``DEVICES `` attribute via
@@ -123,7 +123,7 @@ matter of knowing the device server URI:
123123
124124 import Pyro4
125125
126- proxy = Pyro4.Proxy(' PYRO:SomeLaser@127.0.0.1:8000' )
126+ proxy = Pyro4.Proxy(" PYRO:SomeLaser@127.0.0.1:8000" )
127127 # use proxy as if it was an instance of the SomeLaser class
128128 proxy._pyroRelease()
129129
@@ -135,9 +135,9 @@ devices it controls.
135135Pyro configuration
136136------------------
137137
138- Pyro4 configuration is the singleton :obj: ` Pyro4.config `. If there's
139- any special configuration wanted, this can be done on the
140- `device-server ` configuration file:
138+ Pyro4 configuration is the singleton `` Pyro4.config `` . If there's any
139+ special configuration wanted, this can be done on the
140+ `` device-server ` ` configuration file:
141141
142142.. code-block :: python
143143
@@ -155,7 +155,7 @@ any special configuration wanted, this can be done on the
155155 # ...
156156 ]
157157
158- Importing the ` microscope.device_server ` will already change the Pyro
158+ Importing `` microscope.device_server ` ` will already change the Pyro
159159configuration, namely it sets the `SERIALIZER ` to use the pickle
160160protocol. Despite the security implications associated with it,
161161pickle is the fastest of the protocols and one of the few capable of
@@ -170,10 +170,10 @@ device that can't be specified during object construction, and only
170170after initialisation can it be identified. This happens in some
171171cameras and is an issue when more than one such device is present.
172172For example, if there are two Andor CMOS cameras present, it is not
173- possible to specify which one to use when constructing the ` AndorSDK3 `
174- instance. Only after the device has been initialised can we query its
175- ID, typically the device serial number, and check if we obtained the
176- one we want. Like so:
173+ possible to specify which one to use when constructing the
174+ `` AndorSDK3 `` instance. Only after the device has been initialised
175+ can we query its ID, typically the device serial number, and check if
176+ we obtained the one we want. Like so:
177177
178178.. code-block :: python
179179
@@ -190,7 +190,7 @@ one we want. Like so:
190190
191191 In the interest of keeping each camera on their own separate process,
192192the above can't be used. To address this, the device definition must
193- specify the ` uid ` if the device class is a floating device. Like so::
193+ specify `` uid ` ` if the device class is a floating device. Like so::
194194
195195 DEVICES = [
196196 device(AndorSDK3, "127.0.0.1", 8000, uid="20200910"),
@@ -199,8 +199,8 @@ specify the `uid` if the device class is a floating device. Like so::
199199
200200The device server will then construct each device on its own process,
201201and then serve them on the named port. Two implication come out of
202- this. The first is that the ` uid ` *must * be specified, even if there
203- is only such device present on the system. The second is that all
202+ this. The first is that `` uid `` *must * be specified, even if there is
203+ only such device present on the system. The second is that all
204204devices of that class *must * be present.
205205
206206.. _composite-devices :
@@ -211,11 +211,11 @@ Composite Devices
211211A composite device is a device that internally makes use of another
212212device to function. These are typically not real hardware, they are
213213an abstraction that merges multiple devices to provide something
214- augmented. For example, `ClarityCamera ` is a camera that returns a
215- processed image based on the settings of `AuroxClarity `. Another
216- example is the `StageAwareCamera ` which is a dummy camera that returns
217- a subsection of an image file based on the stage coordinates in order
218- to mimic navigating a real sample.
214+ augmented. For example, `` ClarityCamera ` ` is a camera that returns a
215+ processed image based on the settings of `` AuroxClarity ` `. Another
216+ example is the `` StageAwareCamera `` which is a dummy camera that
217+ returns a subsection of an image file based on the stage coordinates
218+ in order to mimic navigating a real sample.
219219
220220If the multiple devices are on the same computer, it might be worth
221221have them share the same process to avoid the inter process
0 commit comments