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
_version_ 1784584732406710272
author 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.
author_facet 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.
author_sort Susano Pinto, David Miguel
collection PubMed
description 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.
format Online
Article
Text
id pubmed-8520730
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher The Company of Biologists Ltd
record_format MEDLINE/PubMed
spelling pubmed-85207302021-10-22 Python-Microscope – a new open-source Python library for the control of microscopes 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. J Cell Sci Tools and Resources 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 Company of Biologists Ltd 2021-10-06 /pmc/articles/PMC8520730/ /pubmed/34448002 http://dx.doi.org/10.1242/jcs.258955 Text en © 2021. Published by The Company of Biologists Ltd https://creativecommons.org/licenses/by/4.0/This is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution and reproduction in any medium provided that the original work is properly attributed.
spellingShingle Tools and Resources
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.
Python-Microscope – a new open-source Python library for the control of microscopes
title Python-Microscope – a new open-source Python library for the control of microscopes
title_full Python-Microscope – a new open-source Python library for the control of microscopes
title_fullStr Python-Microscope – a new open-source Python library for the control of microscopes
title_full_unstemmed Python-Microscope – a new open-source Python library for the control of microscopes
title_short Python-Microscope – a new open-source Python library for the control of microscopes
title_sort python-microscope – a new open-source python library for the control of microscopes
topic Tools and Resources
url 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
work_keys_str_mv AT susanopintodavidmiguel pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT phillipsmicka pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT hallnicholas pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT mateoslangerakjulio pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT stoychevdanail pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT susanopintotiago pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT boothmartinj pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT davisilan pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes
AT dobbieianm pythonmicroscopeanewopensourcepythonlibraryforthecontrolofmicroscopes