Welcome
steinbock is a framework for multi-channel image processing
The steinbock framework comprises the following components:
- The steinbock Python package with the integrated steinbock command-line interface (CLI)
- The steinbock Docker container interactively exposing the steinbock command-line interface, with supported third-party software (e.g. Ilastik, CellProfiler) pre-installed
Modes of usage
steinbock can be used interactively as well as programmatically from within Python scripts.
Overview
At its core, steinbock provides the following functionality:
- Image preprocessing, including utilities for tiling/stitching images
- Pixel classification, to enable pixel classification-based image segmentation
- Image segmentation, to identify objects (e.g. cells or other regions of interest)
- Object measurement, to extract single-cell data, cell neighbors, etc.
- Data export, to facilitate downstream data analysis
While all steinbock functionality can be used in a modular fashion, the framework was designed for - and explicitly supports - the following image segmentation workflows:
- [Pixel classification-based object segmentation] Zanotelli et al. ImcSegmentationPipeline: A pixel classification-based multiplexed image segmentation pipeline. Zenodo, 2017. DOI: 10.5281/zenodo.3841961.
- [Deep learning-based cell segmentation] Greenwald et al. Whole-cell segmentation of tissue images with human-level performance using large-scale data annotation and deep learning. bioRxiv, 2021. DOI: 10.1101/2021.03.01.431313.
The steinbock framework is extensible and support for further workflows may be added in the future. If you are missing support for a workflow, please consider filing an issue on GitHub.
Resources
Code: https://github.com/BodenmillerGroup/steinbock
Documentation: https://bodenmillergroup.github.io/steinbock
Issue tracker: https://github.com/BodenmillerGroup/steinbock/issues