Skip to content

Commit 8f2469b

Browse files
Update README.md (#155)
* Update README.md * Update README.md * Update README.md Co-authored-by: Talon Chandler <[email protected]> * update manuscript link --------- Co-authored-by: Talon Chandler <[email protected]>
1 parent 00c9924 commit 8f2469b

File tree

1 file changed

+69
-8
lines changed

1 file changed

+69
-8
lines changed

README.md

Lines changed: 69 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
# shrimPy: Smart High-throughput Robust Imaging & Measurement in Python
22
![acquisition and reconstruction schematic](docs/figure_3a.png)
33

4-
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 [preprint](https://www.biorxiv.org/content/10.1101/2023.12.19.572435v1), but extensible to a high throughput microscope that is controlled with [Micro-Manager](https://micro-manager.org/).
4+
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](https://doi.org/10.1093/pnasnexus/pgae323), but extensible to a high throughput microscope that is controlled with [Micro-Manager](https://micro-manager.org/).
55

66
The acquisition engine synchronizes data collection using hardware triggering and carries out smart microscopy tasks such as autofocus and autoexposure.
77

88
The acquired multidimensional raw datasets are processed by the reconstruction engine to generate registered multimodal data that can be used for analysis. Raw data are first converted to the [OME-Zarr](https://ngff.openmicroscopy.org/) format using [iohub](https://github.com/czbiohub-sf/iohub) to facilitate parallel processing and metadata management. Discrete data volumes then undergo deskewing of fluorescence channels, reconstruction of phase and orientation (using [recOrder](https://github.com/mehta-lab/recOrder)), registration and virtual staining (using [VisCy](https://github.com/mehta-lab/viscy)).
99

10+
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`.
11+
1012
## Installation
1113

12-
`shrimpy` can be installed as follows:
14+
`mantis` can be installed as follows:
1315

1416
1. Create a new Python 3.10 virtual environment using conda:
1517

1618
```sh
17-
conda create -y --name shrimpy python=3.10
18-
conda activate shrimpy
19+
conda create -y --name mantis python=3.10
20+
conda activate mantis
1921
```
2022

2123
2. Clone the repo and install this package:
@@ -34,15 +36,15 @@ The [Setup Guide](docs/setup_guide.md) outlines how the mantis microscope is con
3436

3537
Mantis acquisitions and analyses use a command-line interface.
3638

37-
A list of `shrimpy` commands can be displayed with:
39+
A list of `mantis` commands can be displayed with:
3840
```sh
39-
shrimpy --help
41+
mantis --help
4042
```
4143

42-
Data are acquired using `shrimpy run-acquisition`, and a list of arguments can be displayed with:
44+
Data are acquired using `mantis run-acquisition`, and a list of arguments can be displayed with:
4345

4446
```sh
45-
shrimpy run-acquisition --help
47+
mantis run-acquisition --help
4648
```
4749

4850
The mantis acquisition is configured using a YAML file. An example of a configuration file can be found [here](mantis/acquisition/settings/example_acquisition_settings.yaml).
@@ -79,6 +81,19 @@ iohub convert \
7981
-i ./acq_name/acq_name_lightsheet_1 \
8082
-o ./acq_name_lightsheet.zarr
8183

84+
# DECONVOLVE FLUORESCENCE
85+
# estimate PSF parameters
86+
mantis estimate-psf \
87+
-i ./beads.zarr \
88+
-c ./psf_params.yml \
89+
-o ./psf.zarr
90+
# deconvolve data
91+
mantis deconvolve \
92+
-i ./acq_name_lightsheet.zarr \
93+
-c ./deconvolve_params.yml \
94+
--psf-dirpath ./psf.zarr
95+
-o ./acq_name_lightsheet_deconvolved.zarr
96+
8297
# DESKEW FLUORESCENCE
8398
# estimate deskew parameters
8499
mantis estimate-deskew \
@@ -96,6 +111,19 @@ recorder reconstruct \
96111
-c ./recon.yml \
97112
-o ./acq_name_labelfree_reconstructed.zarr
98113

114+
# STABILIZE
115+
# estimate stabilization parameters
116+
mantis estimate-stabilization \
117+
-i ./acq_name_labelfree.zarr/*/*/* \
118+
-o ./stabilization.yml \
119+
--stabilize-xy \
120+
--stabilize-z
121+
# stabilize data
122+
mantis stabilize \
123+
-i ./acq_name_labelfree.zarr/*/*/* \
124+
-c ./stabilization.yml \
125+
-o ./acq_name_labelfree_stabilized.zarr/*/*/*
126+
99127
# REGISTER
100128
# estimate registration parameters
101129
mantis estimate-registration \
@@ -114,6 +142,39 @@ mantis register \
114142
-t ./acq_name_lightsheet_deskewed.zarr/*/*/* \
115143
-c ./register_optimized.yml \
116144
-o ./acq_name_registered.zarr
145+
146+
# CONCATENATE CHANNELS
147+
mantis concatenate \
148+
-c ./concatenate.yml \
149+
-o ./acq_name_concatenated.zarr
150+
151+
# STITCH
152+
# estimate stitching parameters
153+
mantis estimate-stitching \
154+
-i ./acq_name.zarr/*/*/* \
155+
-o ./stitching.yml \
156+
--channel DAPI
157+
--percent-overlap 0.05
158+
# stitch fields of view
159+
mantis stitch \
160+
-i ./acq_name.zarr/*/*/* \
161+
-c ./stitching.yml \
162+
-o ./acq_name_stitched.zarr/*/*/*
163+
```
164+
165+
## Additional utilities
166+
167+
We have also developed the following CLI utilities to help with data acquisition and reconstruction
168+
169+
```sh
170+
# Estimate fluorescence bleaching
171+
mantis estimate-bleaching --help
172+
173+
# Update zarr scale metadata
174+
mantis update-scale-metadata --help
175+
176+
# Generate an HTML report with PSF measurements
177+
mantis characterize-psf --help
117178
```
118179

119180
## Data and metadata format

0 commit comments

Comments
 (0)