nfcore/imcyto is a bioinformatics analysis pipeline used for image segmentation and extraction of single cell expression data. This pipeline was generated for Imaging Mass Cytometry data, however, it is flexible enough to be applicable to other types of imaging data e.g. immunofluorescence/immunohistochemistry data.

The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.

Pipeline summary

  1. Split image acquisition output files (mcd, ome.tiff or txt) by ROI and convert to individual tiff files for channels with names matching those defined in user-provided metadata.csv file. Full and ilastik stacks will be generated separately for all channels being analysed in single cell expression analysis, and for channels being used to generate the cell mask, respectively (imctools).

  2. Apply pre-processing filters to full stack tiff files (CellProfiler).

  3. Use selected tiff files in ilastik stack to generate a composite RGB image representative of the plasma membranes and nuclei of all cells (CellProfiler).

  4. Use composite cell map to apply pixel classification for membranes, nuclei or background, and save probabilities map as tiff (Ilastik). If CellProfiler modules alone are deemed sufficient to achieve a reliable segmentation mask this step can be bypassed using the --skip_ilastik parameter in which case the composite tiff generated in step 3 will be used in subsequent steps instead.

  5. Use probability/composite tiff and pre-processed full stack tiff for segmentation to generate a single cell mask as tiff, and subsequently overlay cell mask onto full stack tiff to generate single cell expression data in csv file (CellProfiler).

Quick Start

i. Install nextflow

ii. Install one of docker or singularity

iii. Download the pipeline and test it on a minimal dataset with a single command

nextflow run nf-core/imcyto -profile test,<docker/singularity/institute>

Please check nf-core/configs to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use -profile <institute> in your command. This will enable either docker or singularity and set the appropriate execution settings for your local compute environment.

iv. Start running your own analysis!

nextflow run nf-core/imcyto \
    --input "./inputs/*.mcd" \
    --metadata './inputs/metadata.csv' \
    --full_stack_cppipe './plugins/full_stack_preprocessing.cppipe' \
    --ilastik_stack_cppipe './plugins/ilastik_stack_preprocessing.cppipe' \
    --segmentation_cppipe './plugins/segmentation.cppipe' \
    --ilastik_training_ilp './plugins/ilastik_training_params.ilp' \
    --plugins './plugins/cp_plugins/' \
    -profile <docker/singularity/institute>

See usage docs for all of the available options when running the pipeline.


The nf-core/imcyto pipeline comes with documentation about the pipeline, found in the docs/ directory:

  1. Installation
  2. Pipeline configuration
  3. Running the pipeline
  4. Output and how to interpret the results
  5. Troubleshooting


The pipeline was originally written by The Bioinformatics & Biostatistics Group for use at The Francis Crick Institute, London.

The pipeline was developed by Harshil Patel and Nourdine Bah in collaboration with Karishma Valand, Febe van Maldegem, Emma Colliver and Mihaela Angelova.

Many thanks to others who contributed as a result of the Crick Data Challenge (Jan 2019) - Gavin Kelly, Becky Saunders, Katey Enfield, Alix Lemarois, Nuria Folguera Blasco, Andre Altmann.

It would not have been possible to develop this pipeline without the guidelines, scripts and plugins provided by the Bodenmiller Lab. Thank you too!

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don’t hesitate to get in touch on Slack (you can join with this invite).


You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
ReadCube: Full Access Link

An extensive list of references for the tools used by the pipeline can be found in the file.