Napari plugin for Microscope.
Project description
Microscope control plugin for Napari via Python Microscope.
Current development stage is whatever comes before alpha and “proof of concept”.
To test
I haven’t had access to real hardware yet, so this has all been developed with simulated devices.
Start the device server with simulated devices.
Create a device server configuration file like so:
import microscope from microscope.device_server import device from microscope.simulators import ( SimulatedCamera, SimulatedFilterWheel, SimulatedLightSource, SimulatedStage, ) DEVICES = [ device(SimulatedCamera, "localhost", 8000,), device(SimulatedLightSource, "localhost", 8001), device(SimulatedFilterWheel, "localhost", 8002, {"positions": 6}), device(SimulatedStage, "localhost", 8003, {"limits": {"X": microscope.AxisLimits(0, 25000), "Y": microscope.AxisLimits(0, 12000)}}), ]
Start the device server (ensure port 8000-8003 are unused):
$ device-server path-to-microscope-config.py
Start napari
Plugins > Add Dock Widget > microscope: MicroscopeWidget
Connect to the camera:
On the new widget, click on the “Add device” button.
Enter the camera URI PYRO:SimulatedCamera@localhost:8000
5. Tick the Enabled box to enable the camera and then press the “Snap” button.
6. A random values image will appear displayed on the napari viewer. Keep pressing the “Snap” button to get new images. The top left corner of the image is the simulated image number.
Connect to the other simulated devices. Their URIs are:
PYRO:SimulatedLightSource@localhost:8001
PYRO:SimulatedFilterWheel@localhost:8002
PYRO:SimulatedStage@localhost:8003
8. Changing the other simulated devices, doesn’t really do much (but does change state of the devices, as can be seen in the logs)
Test with stage aware camera
This is pretty much the same as before but one can use a large RGB TIFF (histology samples are perfect) to simulate a camera that returns subsections of the image file based on the simulated stage position.
For quick example, try:
wget https://zenodo.org/record/1445489/files/B0002.tif
And use the following device server configuration file:
from microscope.device_server import device from microscope.simulators.stage_aware_camera import simulated_setup_from_image DEVICES = [ device(simulated_setup_from_image, "localhost", 8000, conf={"filepath": "B0002.tif"}), ]
The URI for the devices will be:
PYRO:camera@localhost:8000 PYRO:filterwheel@localhost:8000 PYRO:stage@localhost:8000
Changing the filterwheel changes which channel from the image is returned. Changing the stage coordinates changes the image that is returned (but beware of the corners, pixels outside the image size are not handled yet and will give an error).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file napari-microscope-0.0.3.tar.gz
.
File metadata
- Download URL: napari-microscope-0.0.3.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65efe52ed6ac1ee312256d87ec8e3945738cd93449f0a55c6bf75f48cc232fe1 |
|
MD5 | 15672766b99dbdcb3a3cc7ca11eaa04e |
|
BLAKE2b-256 | a6d2a8afde0b94c0b7bbd779beceaaf234493782cadabf788c4a36244b69395b |