Cargando…

Python-Microscope – a new open-source Python library for the control of microscopes

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 fre...

Descripción completa

Detalles Bibliográficos
Autores principales: Susano Pinto, David Miguel, Phillips, Mick A., Hall, Nicholas, Mateos-Langerak, Julio, Stoychev, Danail, Susano Pinto, Tiago, Booth, Martin J., Davis, Ilan, Dobbie, Ian M.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: The Company of Biologists Ltd 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8520730/
https://www.ncbi.nlm.nih.gov/pubmed/34448002
http://dx.doi.org/10.1242/jcs.258955
Descripción
Sumario: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.