z-logo
open-access-imgOpen Access
Python-Microscope – a new open-source Python library for the control of microscopes
Author(s) -
David Miguel Susano Pinto,
Michael A. Phillips,
Nicholas Hall,
Julio MateosLangerak,
Danail Stoychev,
Tiago Susano Pinto,
Martin J. Booth,
Ilan Davis,
Ian M. Dobbie
Publication year - 2021
Publication title -
journal of cell science
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 2.384
H-Index - 278
eISSN - 1477-9137
pISSN - 0021-9533
DOI - 10.1242/jcs.258955
Subject(s) - python (programming language) , microscope , computer science , software , scalability , computer hardware , computer graphics (images) , programming language , operating system , physics , optics
Custom-built microscopes often require control of multiple hardware devices and precise hardware coordination. It is also desirable to have a solution that is scalable to complex systems and that is 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 custom microscope systems. Python-Microscope offers simple to use Python-based tools, abstracting differences between physical devices by providing a defined interface for different device types. Concrete implementations are provided for a range of specific hardware, and a framework exists for further expansion. Python-Microscope supports the distribution of devices over multiple computers while maintaining synchronisation via highly precise hardware triggers. We discuss the architectural features of Python-Microscope that overcome the performance problems often raised against Python and demonstrate the different use cases that drove its design: integration with user-facing projects, namely the Microscope-Cockpit project; control of complex microscopes at high speed while using the Python programming language; and use as a microscope simulation tool for software development.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here