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...
Autores principales: | , , , , , , , , |
---|---|
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 |