Cookies on this website

We use cookies to ensure that we give you the best experience on our website. If you click 'Accept all cookies' we'll assume that you are happy to receive all cookies and you won't see this message again. If you click 'Reject all non-essential cookies' only necessary cookies providing core functionality such as security, network management, and accessibility will be enabled. Click 'Find out more' for information on how to change your cookie settings.

<jats:title>Abstract</jats:title><jats:p>Bespoke microscopes often require control of multiple hardware devices and precise hardware coordination. It is also desirable to have a control solution that is scalable to more complex systems and translatable between components from different manufacturers. Here we report Python-Microscope, a free and open source Python library for high performance control of arbitrarily complex and scalable bespoke microscopes. Python-Microscope offers an elegant pythonic software platform to control microscopes, abstracting differences between physical devices by providing a defined interface for different device types. These include cameras, filter wheels, light sources, deformable mirrors, and stages. Concrete implementations are provided for a range of specific hardware and a framework is in place for further expansion. Python-Microscope supports the distribution of devices over multiple computers while maintaining synchronisation via highly precise hardware triggers. We discuss the architecture choices of Python-Microscope that overcome the performance problems often raised against Python and demonstrate the different use cases that drove its design: its integration in user facing projects, namely in the Microscope-Cockpit project; in controlling complex microscopes at high speed while using the Python programming language; and as a microscope simulation tool for software development.</jats:p>

Original publication




Journal article


Cold Spring Harbor Laboratory

Publication Date