Skip to content
cccskills
FreePublished on GitHub

bioconductor-simpleseg

Image segmentation is the process of identifying the borders of individual objects (in this case cells) within an image. This allows for the features of cells such as marker expression and morphology to be extracted, stored and analysed. simpleSeg provides functionality for user friendly, watershed based segmentation on multiplexed cellular images in R based on the intensity of user specified protein marker channels. simpleSeg can also be used for the normalization of single cell data obtained f

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

simpleSeg

Workflows

Standard Workflow

Segment multiplexed images to identify cell boundaries, extract single-cell features, and normalize marker intensities.

library(simpleSeg)
library(cytomapper)
library(EBImage)

# Load example data path
pathToImages <- system.file("extdata", package = "simpleSeg")
imageDirs <- dir(pathToImages, "Point", full.names = TRUE)
names(imageDirs) <- dir(pathToImages, "Point", full.names = FALSE)
files <- lapply(imageDirs, list.files, pattern = "tif", full.names = TRUE)
images <- lapply(files, EBImage::readImage, as.is = TRUE)
images <- cytomapper::CytoImageList(images)
mcols(images)$imageID <- names(images)

# Segment images
masks <- simpleSeg::simpleSeg(images, nucleus = "HH3", transform = "sqrt")

# Summarise cell features
cellSCE <- cytomapper::measureObjects(masks, images, img_id = "imageID")

# Normalize cells
cellSCE <- normalizeCells(
  cellSCE,
  assayIn = "counts",
  assayOut = "norm",
  imageID = "imageID",
  transformation = "sqrt",
  method = c("trim99", "minMax")
)

Input: Multiplexed TIFF images (as CytoImageList); Output: Segmented masks (CytoImageList) and normalized single-cell feature matrices (SingleCellExperiment).

When to Use

  • Segmenting multiplexed cellular images (e.g., MIBI-TOF) using a watershed-based approach with simpleSeg::simpleSeg().
  • Extracting single-cell marker intensities and morphological features into a SingleCellExperiment using cytomapper::measureObjects().
  • Normalizing and transforming extracted single-cell marker intensities using normalizeCells().

When NOT to Use

  • For segmenting non-imaging single-cell data (like standard scRNA-seq), use scran or Seurat because simpleSeg is specifically designed for multiplexed imaging data.
  • For highly complex deep-learning-based cell segmentation, use external tools like Cellpose or Mesmer because simpleSeg relies on classical watershed algorithms.

Data Requirements

  • Multiplexed cellular images loaded as an Image, list of Images, or CytoImageList (from cytomapper).
  • Images should contain a nuclear marker channel (e.g., "HH3") for watershed seeding.

Key Parameters

  • nucleus: The name or index of the channel to use as the nuclear marker.
  • transform (NULL): Image transformation to apply before segmentation (e.g., "sqrt").
  • cores (1): Number of cores to use for parallel processing.
  • watershed ("combine"): Method for watershedding ("distance", "intensity", or "combine").
  • cellBody ("dilation"): Method for cell body identification ("dilation", "discModel", "marker", or "None").
  • assayIn ("counts"): Input assay name in normalizeCells().
  • assayOut ("norm"): Output assay name in normalizeCells().

Best Practices

  • Visualise segmentation performance using EBImage::display(colorLabels(masks[[1]])) or cytomapper::plotPixels() to verify cell boundaries.
  • Apply a transformation like "sqrt" to the nuclear channel to improve watershed segmentation on highly skewed intensity distributions.
  • Perform quality control on normalization by plotting marker density distributions (e.g., using ggplot2 and geom_density()) before and after running normalizeCells().

Common Pitfalls

  • Highly skewed marker intensities: Raw intensities can be extremely skewed, making clustering difficult; fix this by applying normalizeCells() with method = c("trim99", "minMax").
  • Incorrect nuclear channel name: Specifying a nuclear marker that does not exist in the image channels will cause simpleSeg to fail; verify channel names in the CytoImageList first.

Alternatives

  • EBImage: For low-level, highly flexible image processing and manual watershedding.
  • cytomapper: For pixel-level visualization and measuring objects.
  • Seurat: For downstream clustering and classification of the extracted single-cell features.

Citations

  • Nicholls et al. (2026), simpleSeg package vignette.
  • Risom et al. (2022), Cell (for the example DCIS MIBI-TOF dataset).

References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

See all skills by bioMate-AI

Report a problem with this skill