Microscope Documentation

Microscope is fundamentally a Python package for the control of microscope devices. It provides an easy to use interface for different device types. For example:

# Connect to a Coherent Sapphire laser, set its power while
# emitting light.
from microscope.lasers.sapphire import SapphireLaser
laser = SapphireLaser(com="/dev/ttyS1")
laser.initialize()
laser.power = .7  # initial laser power at 70%
laser.enable()  # start emitting light
laser.power = laser.power / .3 # set laser power to 1/3


# Connect to a Thorlabs filterwheel, query filter position, then
# change filter.
from microscope.filterwheels.thorlabs import ThorlabsFW102C
filterwheel = ThorlabsFW102C(com="/dev/ttyS0")
filterwheel.initialize()
print("Number of positions is %d" % filterwheel.n_positions)
print("Current position is %d" % filterwheel.position)
filterwheel.position = 3  # move in filter at position 3

At the core of Microscope is the idea that all devices of the same type should have the same interface (see ABCs).