https://github.com/bodenmillergroup/imcsegmentationpipeline
A pixel classification based multiplexed image segmentation pipeline
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: nature.com, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.6%) to scientific vocabulary
Keywords
Repository
A pixel classification based multiplexed image segmentation pipeline
Basic Info
- Host: GitHub
- Owner: BodenmillerGroup
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: https://bodenmillergroup.github.io/ImcSegmentationPipeline/
- Size: 17.2 MB
Statistics
- Stars: 96
- Watchers: 19
- Forks: 35
- Open Issues: 6
- Releases: 12
Topics
Metadata Files
README.md
A flexible multiplexed image segmentation pipeline based on pixel classification
Introduction
The pipeline is based on CellProfiler (tested v4.2.1) for segmentation and Ilastik (tested v1.3.3post3) for pixel classification. It is streamlined by using the imcsegpipe python package available via this repository as well as custom CellProfiler modules (ImcPluginsCP, release v4.2.1).
This repository showcases the basis of the workflow with step-by-step instructions. As an alternative and dockerized version of the pipeline, check out steinbock.
This pipeline was developed in the Bodenmiller laboratory at the University of Zurich (www.bodenmillerlab.com) to segment hundreds of highly multiplexed imaging mass cytometry (IMC) images. The concepts applied here to IMC data can also be transfered to data generated by other highly multiplexed imaging modalities.
For a general overview on IMC as technology and data processing tasks, please refer to bodenmillergroup.github.io/IMCWorkflow.
Usage
For the main part of the analysis, you will need to install Ilastik and CellProfiler.
Before being able to pre-process the data, you will need to setup the environment:
Clone the repository:
bash
git clone --recursive https://github.com/BodenmillerGroup/ImcSegmentationPipeline.git
- Setup the conda environment:
bash
cd ImcSegmentationPipeline
conda env create -f environment.yml
Configure CellProfiler to use the plugins by opening the CellProfiler GUI, selecting
Preferencesand setting theCellProfiler plugins directorytopath/to/ImcSegmentationPipeline/resources/ImcPluginsCP/pluginsand restart CellProfiler. Alternatively you can clone theImcPluginsCPrepository individually and set the path correctly in CellProfiler.Activate the environment created in 3. and start a jupyter instance
bash
conda activate imcsegpipe
jupyter lab
This will automatically open a jupyter instance at http://localhost:8888/lab in your browser. From there, you can open the scripts/imc_preprocessing.ipynb notebook and start the data pre-processing.
In brief, the main analysis steps include:
- Pre-processing of the raw images to create
.ome.tiffsand.tiffstacks for ilastik training and measurement (python). - Ilastik pixel classification based on random crops of the images (CellProfiler, Ilastik).
- Image segmentation based on the classification probabilities (CellProfiler).
- Measurement and export of cell-specific features, such as marker expression (CellProfiler).
Example data
To test these pipelines on example data, please run the scripts/download_examples.ipynb script.
Documentation
For a more detailed overview on the individual analysis steps, please visit https://bodenmillergroup.github.io/ImcSegmentationPipeline/.
This pipeline was presented at the 2019 Imaging Mass Cytometry User Group Meeting. The slides can be downloaded here. The slides briefly explain why we chose this approach to image segmentation and provide help to run the pipeline.
Changelog
For changes in specific releases, please refer to the CHANGELOG.
License
We freely share this pipeline in the hope that it will be useful for others to perform high quality image segmentation and serve as a basis to develop more complicated open source IMC image processing workflows. In return we would like you to be considerate and give us and others feedback if you find a bug/issue and raise a GitHub Issue on the affected projects or on this page.
Contributing
To contribute to this work, please fork the repository, make changes to it and open a pull request.
Contributors
Creator: Vito Zanotelli
Contributor: Jonas Windhager, Nils Eling, Milad Adibi
Maintainer: Milad Adibi
Citation
Please cite the following paper when using this workflow in your research:
Windhager, J., Zanotelli, V.R.T., Schulz, D. et al. An end-to-end workflow for multiplexed image processing and analysis. Nat Protoc (2023). https://doi.org/10.1038/s41596-023-00881-0
@article{Windhager2023,
author = {Windhager, Jonas and Zanotelli, Vito R.T. and Schulz, Daniel and Meyer, Lasse and Daniel, Michelle and Bodenmiller, Bernd and Eling, Nils},
title = {An end-to-end workflow for multiplexed image processing and analysis},
year = {2023},
doi = {10.1038/s41596-023-00881-0},
URL = {https://www.nature.com/articles/s41596-023-00881-0},
journal = {Nature Protocols}
}
Owner
- Name: BodenmillerGroup
- Login: BodenmillerGroup
- Kind: organization
- Repositories: 83
- Profile: https://github.com/BodenmillerGroup
GitHub Events
Total
- Issues event: 5
- Watch event: 14
- Issue comment event: 18
- Fork event: 1
Last Year
- Issues event: 5
- Watch event: 14
- Issue comment event: 18
- Fork event: 1
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 155
- Total pull requests: 38
- Average time to close issues: 6 months
- Average time to close pull requests: 4 months
- Total issue authors: 50
- Total pull request authors: 6
- Average comments per issue: 3.47
- Average comments per pull request: 2.32
- Merged pull requests: 26
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: 4 days
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 2.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- votti (10)
- nilseling (5)
- Jeffchingg (4)
- Acaro12 (3)
- cassandraman (3)
- SchulzDan (3)
- hfl112 (3)
- rachel662 (3)
- Laner (2)
- KaWingLee9 (2)
- sittnerr (2)
- juliannehoeflich (2)
- veenstje (2)
- maxgrigori (2)
- sailseem (2)
Pull Request Authors
- votti (7)
- jwindhager (5)
- toobiwankenobi (3)
- nilseling (2)
- akedarg (1)
- ndamond (1)
- PierreBSC (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- jupyterlab
- jupytext
- pip
- python 3.9.*
- actions/checkout v2 composite
- actions/setup-python v2 composite