All Projects → BodenmillerGroup → ImcSegmentationPipeline

BodenmillerGroup / ImcSegmentationPipeline

Licence: MIT license
A pixel classification based multiplexed image segmentation pipeline

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ImcSegmentationPipeline

Pytorch Toolbelt
PyTorch extensions for fast R&D prototyping and Kaggle farming
Stars: ✭ 942 (+1419.35%)
Mutual labels:  pipeline, segmentation
Segmentation
Catalyst.Segmentation
Stars: ✭ 27 (-56.45%)
Mutual labels:  pipeline, segmentation
tpack
Pack a Go workflow/function as a Unix-style pipeline command
Stars: ✭ 55 (-11.29%)
Mutual labels:  pipeline
eta
ETA: Extensible Toolkit for Analytics
Stars: ✭ 22 (-64.52%)
Mutual labels:  segmentation
android tflite
GPU Accelerated TensorFlow Lite applications on Android NDK. Higher accuracy face detection, Age and gender estimation, Human pose estimation, Artistic style transfer
Stars: ✭ 105 (+69.35%)
Mutual labels:  segmentation
unix-programming-and-regular-expressions-workshop
A workshop on Unix Programming Principles using tools such as grep, sed, awk, shell programming and regular expressions
Stars: ✭ 25 (-59.68%)
Mutual labels:  pipeline
pachinko
modular pluggable media sorter
Stars: ✭ 27 (-56.45%)
Mutual labels:  pipeline
argus-tgs-salt
Kaggle | 14th place solution for TGS Salt Identification Challenge
Stars: ✭ 73 (+17.74%)
Mutual labels:  segmentation
needlestack
Multi-sample somatic variant caller
Stars: ✭ 45 (-27.42%)
Mutual labels:  pipeline
SegCaps
A Clone version from Original SegCaps source code with enhancements on MS COCO dataset.
Stars: ✭ 62 (+0%)
Mutual labels:  segmentation
BrainMaGe
Brain extraction in presence of abnormalities, using single and multiple MRI modalities
Stars: ✭ 23 (-62.9%)
Mutual labels:  segmentation
rmonad
Pipelines you can compute on
Stars: ✭ 66 (+6.45%)
Mutual labels:  pipeline
nifi
Deploy a secured, clustered, auto-scaling NiFi service in AWS.
Stars: ✭ 37 (-40.32%)
Mutual labels:  pipeline
Deeplab-Large-FOV
My Implementation of the deeplab_v1 (known as deeplab large fov)
Stars: ✭ 26 (-58.06%)
Mutual labels:  segmentation
artifact-promotion-plugin
A simple Jenkins plugin to promote artifacts.
Stars: ✭ 29 (-53.23%)
Mutual labels:  pipeline
airs
Road Segmentation in Satellite Aerial Images
Stars: ✭ 51 (-17.74%)
Mutual labels:  segmentation
blindassist-ios
BlindAssist iOS app
Stars: ✭ 34 (-45.16%)
Mutual labels:  segmentation
bactmap
A mapping-based pipeline for creating a phylogeny from bacterial whole genome sequences
Stars: ✭ 36 (-41.94%)
Mutual labels:  pipeline
ReSegment
Burmese (Myanmar) syllable level segmentation with regex.
Stars: ✭ 24 (-61.29%)
Mutual labels:  segmentation
dagshub-branch-source-plugin
Jenkins plugin for using DAGsHub as a source for multibranch projects
Stars: ✭ 12 (-80.65%)
Mutual labels:  pipeline

DOI

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:

  1. Install conda

  2. Clone the repository:

git clone --recursive https://github.com/BodenmillerGroup/ImcSegmentationPipeline.git
  1. Setup the conda environment:
cd ImcSegmentationPipeline
conda env create -f environment.yml
  1. Configure CellProfiler to use the plugins by opening the CellProfiler GUI, selecting Preferences and setting the CellProfiler plugins directory to path/to/ImcSegmentationPipeline/resources/ImcPluginsCP/plugins and restart CellProfiler. Alternatively you can clone the ImcPluginsCP repository individually and set the path correctly in CellProfiler.

  2. Activate the environment created in 3. and start a jupyter instance

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:

  1. Pre-processing of the raw images to create .ome.tiffs and .tiff stacks for ilastik training and measurement (python).
  2. Ilastik pixel classification based on random crops of the images (CellProfiler, Ilastik).
  3. Image segmentation based on the classification probabilities (CellProfiler).
  4. 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
Maintainer: Nils Eling

Citation

If you use this workflow for your research, please cite us:

@misc{ImcSegmentationPipeline,
    author       = {Vito RT Zanotelli, Bernd Bodenmiller},
    title        = {{ImcSegmentationPipeline: A pixel-classification based multiplexed image segmentation pipeline}},
    year         = 2022,
    doi          = {10.5281/zenodo.3841961},
    version      = {3.0},
    publisher    = {Zenodo},
    url          = {https://doi.org/10.5281/zenodo.3841961}
    }
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].