shrimpy
shrimPy: Smart High-throughput Robust Imaging & Measurement in Python
Science Score: 57.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 4 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.4%) to scientific vocabulary
Keywords
Repository
shrimPy: Smart High-throughput Robust Imaging & Measurement in Python
Basic Info
Statistics
- Stars: 11
- Watchers: 3
- Forks: 5
- Open Issues: 30
- Releases: 1
Topics
Metadata Files
README.md
shrimPy: Smart High-throughput Robust Imaging & Measurement in Python

shrimPy (pronounced: ʃrɪm-pai) is a pythonic framework for high-throughput smart microscopy and high-performance analysis. The current alpha version of the framework is specific to the mantis microscope, described in our manuscript, but extensible to a high throughput microscope that is controlled with Micro-Manager.
The acquisition engine synchronizes data collection using hardware triggering and carries out smart microscopy tasks such as autofocus and autoexposure.
The acquired multidimensional raw datasets are processed with the biahub library to generate registered multimodal data that can be used for analysis. Raw data are first converted to the OME-Zarr format using iohub to facilitate parallel processing and metadata management. Discrete data volumes then undergo deskewing of fluorescence channels, reconstruction of phase and orientation (using recOrder), registration and virtual staining (using VisCy).
This version of the code still uses the legacy name mantis, which overlaps with the name of the microscope which is used to acquire data. In a future release we will transition the codebase to the name shrimPy.
Installation
We recommend using a virtual conda environment with Python 3.10:
```sh conda create -y --name mantis python=3.10 conda activate mantis
git clone https://github.com/czbiohub-sf/shrimPy.git pip install ./mantis ```
Optionally, you can also install the biahub image analysis library in the same environment. biahub is currently used when characterizing the microscope point spread function, and will be used for real-time image processing in the future. You can install both libraries in a single step with:
```sh conda create -y --name mantis python=3.10 conda activate mantis
git clone https://github.com/czbiohub-sf/shrimPy.git git clone https://github.com/czbiohub-sf/biahub.git pip install ./mantis ./biahub ```
Setting up the mantis microscope
The mantis microscope implements simultaneous label-free and light-sheet imaging as described in Ivanov et al. The two imaging modalities are acquired on two independent arms of the microscope running separate instances of Micro-Manager and pycromanager. shrimPy and biahub were developed to enable robust long-term imaging with mantis and efficient analysis of the resulting TB-scale datasets on a high-performance compute cluster.
The Setup Guide outlines how the mantis microscope is configured.
Data acquisition with mantis
Mantis acquisitions and analyses use a command-line interface.
A list of mantis commands can be displayed with:
sh
mantis --help
Data are acquired using mantis run-acquisition, and a list of arguments can be displayed with:
sh
mantis run-acquisition --help
The mantis acquisition is configured using a YAML file. An example of a configuration file can be found here.
This is an example of a command which will start an acquisition on the mantis microscope:
pwsh
mantis run-acquisition \
--config-filepath path/to/config.yaml \
--output-dirpath ./YYYY_MM_DD_experiment_name/acquisition_name
The acquisition may also be run in "demo" mode with the Micro-manager MMConfig_Demo.cfg config. This does not require any microscope hardware. A demo run can be started with:
pwsh
mantis run-acquisition \
--config-filepath path/to/config.yaml \
--output-dirpath ./YYYY_MM_DD_experiment_name/acquisition_name \
--mm-config-filepath path/to/MMConfig_Demo.cfg
Data reconstruction
Data reconstruction is accomplished with the biahub library. Visit the link for the latest information on our reconstruction workflows.
Data and metadata format
The format of the raw and reconstructed data and associated metadata is documented here.
Contributing
We are updating the code to enable smart high throughput microscopy on any Micro-Manager controlled microscope. The code will have rough edges for the next several months. We appreciate the bug reports and code contributions if you use this package. If you would like to contribute to this package, please read the contributing guide.
Owner
- Name: Chan Zuckerberg Biohub San Francisco
- Login: czbiohub-sf
- Kind: organization
- Location: San Francisco
- Website: https://www.czbiohub.org/sf/
- Repositories: 1
- Profile: https://github.com/czbiohub-sf
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: shrimPy
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: 'Ivan E.'
family-names: Ivanov
email: ivan.ivanov@czbiohub.org
affiliation: Chan Zuckerberg Biohub San Francisco
orcid: 'https://orcid.org/0000-0001-6389-0213'
- given-names: Eduardo
family-names: Hirata Miyasaki
email: eduardo.hirata@czbiohub.org
affiliation: Chan Zuckerberg Biohub San Francisco
orcid: 'https://orcid.org/0000-0002-1016-2447'
- given-names: Talon
family-names: Chandler
email: talon.chandler@czbiohub.org
affiliation: Chan Zuckerberg Biohub San Francisco
orcid: 'https://orcid.org/0000-0002-3033-674X'
- given-names: 'Shalin B.'
family-names: Mehta
email: shalin.mehta@czbiohub.org
affiliation: Chan Zuckerberg Biohub San Francisco
orcid: 'https://orcid.org/0000-0002-2542-3582'
repository-code: 'https://github.com/czbiohub-sf/shrimPy'
abstract: >-
shrimPy (Smart High-throughput Robust Imaging &
Measurement in Python) is a framework for smart microscopy
and high-performance analysis
license: BSD-3-Clause
date-released: '2023-12-19'
GitHub Events
Total
- Create event: 15
- Issues event: 16
- Watch event: 3
- Delete event: 19
- Member event: 1
- Issue comment event: 38
- Push event: 90
- Pull request review event: 35
- Pull request review comment event: 33
- Pull request event: 35
- Fork event: 3
Last Year
- Create event: 15
- Issues event: 16
- Watch event: 3
- Delete event: 19
- Member event: 1
- Issue comment event: 38
- Push event: 90
- Pull request review event: 35
- Pull request review comment event: 33
- Pull request event: 35
- Fork event: 3
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 33
- Total pull requests: 54
- Average time to close issues: 7 months
- Average time to close pull requests: about 2 months
- Total issue authors: 7
- Total pull request authors: 9
- Average comments per issue: 0.76
- Average comments per pull request: 1.15
- Merged pull requests: 29
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 12
- Pull requests: 24
- Average time to close issues: 7 days
- Average time to close pull requests: 8 days
- Issue authors: 4
- Pull request authors: 5
- Average comments per issue: 0.25
- Average comments per pull request: 0.38
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ieivanov (18)
- edyoshikun (6)
- jeskesen (4)
- tayllatheodoro (1)
- talonchandler (1)
- ahillsley (1)
- ziw-liu (1)
Pull Request Authors
- ieivanov (21)
- edyoshikun (12)
- jeskesen (10)
- talonchandler (4)
- tayllatheodoro (3)
- ziw-liu (2)
- picaq (1)
- aaronalvarezcz (1)
- ahillsley (1)