ImSwitch

ImSwitch: Generalizing microscope control in Python - Published in JOSS (2021)

https://github.com/xcasas/ImSwitch

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    3 of 15 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.2%) to scientific vocabulary

Scientific Fields

Engineering Computer Science - 60% confidence
Last synced: 6 months ago · JSON representation ·

Repository

ImSwitch is a software solution in Python that aims at generalizing microscope control by providing a solution for flexible control of multiple microscope modalities.

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of ImSwitch/ImSwitch
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing License Citation

README.md

ImSwitch

DOI

ImSwitch is a software solution in Python that aims at generalizing microscope control by using an architecture based on the model-view-presenter (MVP) to provide a solution for flexible control of multiple microscope modalities.

Statement of need

The constant development of novel microscopy methods with an increased number of dedicated hardware devices poses significant challenges to software development. ImSwitch is designed to be compatible with many different microscope modalities and customizable to the specific design of individual custom-built microscopes, all while using the same software. We would like to involve the community in further developing ImSwitch in this direction, believing that it is possible to integrate current state-of-the-art solutions into one unified software.

Installation

Option A: Standalone bundles for Windows

Windows users can download ImSwitch in standalone format from the releases page on GitHub. Further information is available there. An existing Python installation is not required.

Option B: Install using pip

ImSwitch is also published on PyPI and can be installed using pip. Python 3.7 or later is required. Additionally, certain components (the image reconstruction module and support for TIS cameras) require the software to be running on Windows, but most of the functionality is available on other operating systems as well.

To install ImSwitch from PyPI, run the following command:

pip install ImSwitch

You will then be able to start ImSwitch with this command:

imswitch (Developers installing ImSwitch from the source repository should run pip install -r requirements-dev.txt instead, and start it using python -m imswitch)

Documentation

Further documentation is available at imswitch.readthedocs.io.

Testing

ImSwitch has automated testing through GitHub Actions, including UI and unit tests. It is also possible to manually inspect and test the software without any device since it contains mockers that are automatically initialized if the instrumentation specified in the config file is not detected.

Contributing

Read the contributing section in the documentation if you want to help us improve and further develop ImSwitch!

Owner

  • Name: Xavier
  • Login: xcasas
  • Kind: user
  • Location: Barcelona, Spain
  • Company: Barcelona Supercomputing Center

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite the article from preferred-citation."
authors:
- family-names: "Casas Moreno"
  given-names: "Xavier"
  orcid: "https://orcid.org/0000-0002-9583-9022"
- family-names: "Al-Kadhimi"
  given-names: "Staffan"
  orcid: "https://orcid.org/0000-0002-3488-6845"
- family-names: "Alvelid"
  given-names: "Jonatan"
  orcid: "https://orcid.org/0000-0002-3554-9322"
- family-names: "Bodén"
  given-names: "Andreas"
  orcid: "https://orcid.org/0000-0001-9302-7576"
- family-names: "Testa"
  given-names: "Ilaria"
  orcid: "https://orcid.org/0000-0003-4005-4997"
title: "ImSwitch: Generalizing microscope control in Python"
doi: "10.5281/zenodo.5196461"
url: "https://github.com/kasasxav/ImSwitch"
preferred-citation:
  type: article
  authors:
  - family-names: "Casas Moreno"
    given-names: "Xavier"
    orcid: "https://orcid.org/0000-0002-9583-9022"
  - family-names: "Al-Kadhimi"
    given-names: "Staffan"
    orcid: "https://orcid.org/0000-0002-3488-6845"
  - family-names: "Alvelid"
    given-names: "Jonatan"
    orcid: "https://orcid.org/0000-0002-3554-9322"
  - family-names: "Bodén"
    given-names: "Andreas"
    orcid: "https://orcid.org/0000-0001-9302-7576"
  - family-names: "Testa"
    given-names: "Ilaria"
    orcid: "https://orcid.org/0000-0003-4005-4997"
  doi: "10.21105/joss.03394"
  title: "ImSwitch: Generalizing microscope control in Python"
  journal: "Journal of Open Source Software"
  publisher:
    name: "The Open Journal"
  year: 2021
  volume: 6
  issue: 64
  start: 3394

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,237
  • Total Committers: 15
  • Avg Commits per committer: 82.467
  • Development Distribution Score (DDS): 0.591
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
stafak s****k@k****e 506
xaviercm94 x****m@k****e 209
Xavier 3****v 176
jonatanalvelid 3****d 147
beniroquai b****d@g****e 103
Jacopo Abramo j****o@g****m 30
edabngl e****4@g****m 20
xaviercm94 3****4 18
Andreas Bodén a****n@A****E 11
Dirk Boonzajer Flaes d****s@l****e 7
Andreas Bodén a****n@a****e 4
jhnnsrs j****s@g****m 2
Blaise Thompson b****e@u****m 2
Dieter Weber d****r@f****e 1
David McFadden 2****d 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/imswitch-bundle.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/imswitch-pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/imswitch-test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
docs/requirements-readthedocs.txt pypi
pyproject.toml pypi
requirements-dev.txt pypi
  • pytest >=6.2 development
  • pytest-qt >=3.3 development
requirements.txt pypi
setup.py pypi