Litcius/Paper detail

ImSwitch: Generalizing microscope control in Python

Xavier Casas Moreno, Staffan Al-Kadhimi, Jonatan Alvelid, Andreas Bodén, Ilaria Testa

2021The Journal of Open Source Software49 citationsDOIOpen Access PDF

Abstract

The constant development of novel microscopy methods with an increased number of dedicated hardware devices poses significant challenges to software development. On the one hand, software should control complex instruments, provide flexibility to adapt between different microscope modalities, and be open and resilient to modification and extension by users and developers. On the other hand, the community needs software that can satisfy the requirements of the users, such as a user-friendly interface and robustness of the code. In this context, we present ImSwitch, based on the model-view-presenter (MVP) design pattern Consequently, ImSwitch makes it possible to adapt between different modalities and aims at satisfying the needs of both users and developers. We have also included a scripting module for microscope automation applications and a structure to efficiently share data between different modules, such as hardware control and image processing. Currently, ImSwitch provides support for light microscopy techniques but could be extended to other microscopy modalities requiring multiple hardware synchronization.

Topics & Concepts

Python (programming language)MicroscopeComputer scienceComputer graphics (images)Artificial intelligenceProgramming languageOpticsPhysicsAdvanced Fluorescence Microscopy TechniquesCell Image Analysis TechniquesDigital Holography and Microscopy