← LeaderboardThe Skill Leaderboard

bioconductor-ebimage

EBImage provides general purpose functionality for image processing and analysis. In the context of (high-throughput) microscopy-based cellular assays, EBImage offers tools to segment cells and extract quantitative cellular descriptors. Thi

Published by bioMate-AI ↗bioMate-AI/biomate-bioconductor-kb

Try your first task

bioconductor-ebimage

Start a fresh conversation. Replace the highlighted placeholders.

Use bioconductor-ebimage to Outline a classical microscopy-image segmentation workflow for [input_files] using EBImage, including steps for normalization, smoothing with gblur, thresholding, and separating touching cells via distmap and watershed.

Required inputs

  • [input_files]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

SKILL.md

name: bioconductor-ebimagedescription: EBImage provides general purpose functionality for image processing and analysis. In the context of (high-throughput) microscopy-based cellular assays, EBImage offers tools to segment cells and extract quantitative cellular descriptors. Thiwhen_to_use: "Use when: General Image Manipulation: Reading, writing, and displaying multi-dimensional images (JPEG, PNG, TIFF) using readImage, writeImage, and display.; Spatial Transformations: Applying geometric transformations such as translate, rotate, resize, flip, flop, and affine to image arrays.; Image Filtering: Removing noise or detecting edges using linear filters (filter2, gblur) or non-linear filters (media. Not for: Interactive Whole-Slide Analysis: For interactive, manual annotation of large whole-slide tissue images, use QuPath instead because EBImage is designed for programmatic, batch-oriented processing.; Advanced 3D/4D Rendering: For complex 3D volumetric"user-invocable: false

EBImage

Dependencies & Environment

Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

  • Version: 4.54.0 · Bioconductor: 3.23 · R: ≥ 4.6
  • Imports: BiocGenerics, abind, tiff, jpeg, png, locfit, fftwtools, htmltools, htmlwidgets, RCurl
  • Install: BiocManager::install("EBImage")

When to Use

  • General Image Manipulation: Reading, writing, and displaying multi-dimensional images (JPEG, PNG, TIFF) using readImage, writeImage, and display.
  • Spatial Transformations: Applying geometric transformations such as translate, rotate, resize, flip, flop, and affine to image arrays.
  • Image Filtering: Removing noise or detecting edges using linear filters (filter2, gblur) or non-linear filters (medianFilter).
  • Cell Segmentation: Segmenting non-touching objects with bwlabel or separating touching cells using distmap, watershed, and propagate (Voronoi tessellation).

When NOT to Use

  • Interactive Whole-Slide Analysis: For interactive, manual annotation of large whole-slide tissue images, use QuPath instead because EBImage is designed for programmatic, batch-oriented processing.
  • Advanced 3D/4D Rendering: For complex 3D volumetric rendering, use ImageJ/Fiji instead because EBImage's visualization (display) is primarily 2D (browser or raster).
  • Deep Learning Segmentation: For out-of-the-box deep learning-based segmentation, use Python packages like cellpose because EBImage relies on classical intensity-based and morphological segmentation algorithms.

Data Requirements

  • Input Format: Image files (JPEG, PNG, TIFF) or numeric arrays.
  • Structure: Image class objects extending the R base class array. Supports multi-dimensional data (e.g., color channels, z-positions, time points).
  • Normalization State: Pixel intensities are typically represented as numeric values ranging from 0 to 1.

Key Parameters

  • method ("browser"): Specifies how the image is visualized in display (either "browser" for a JavaScript viewer or "raster" for R's built-in plotting).
  • colorMode (Grayscale): Determines how the third and higher dimensions of the image array are rendered (Grayscale or Color).
  • sigma (5): Defines the width of the Gaussian filter in makeBrush or gblur.
  • offset (0.05): The threshold offset used in adaptive thresholding (thresh) to separate foreground from background.
  • lambda (100): Controls the relative weighting between sideways and vertical movement in Voronoi tessellation via propagate.
  • w (15): The width of the rectangular box used for adaptive thresholding in thresh.

Best Practices

  • Raster Display: Use display with method="raster" to combine image data with R's built-in plotting facilities (e.g., adding text labels).
  • Noise Reduction: Apply a low-pass filter like gblur before thresholding to smooth out high-frequency noise and prevent over-segmentation.
  • Watershed Seeding: Use distmap to generate a distance map from a binary image before applying the watershed transformation to separate touching objects.
  • Visualization of Segmentation: Use colorLabels to visualize segmentation results by color-coding objects with a random permutation of unique colors.

Common Pitfalls

  • Touching Cells Merged: Cells close to each other are merged into a single object after thresholding. Fix: Use the watershed algorithm on the distance map (distmap) to separate them.
  • Color Channels Displayed as Grayscale: Color images display as separate grayscale frames. Fix: Change the colorMode of the image to Color using colorMode().
  • Small Holes in Foreground: Thresholding leaves small holes inside foreground objects. Fix: Apply the fillHull function or morphological closing to fill small holes.

Alternatives

  • magick: Better for general-purpose, non-biological image manipulation and format conversion, but lacks biological segmentation tools like watershed.
  • imager: An R package based on CImg, excellent for general image processing but has fewer biology-specific features compared to EBImage.
  • RBioFormats: Use this if you need to read proprietary microscopy image data and metadata not natively supported by readImage.

Citations

  • Pau, G., Fuchs, F., Steffy, O., Boutros, M., & Huber, W. (2010). EBImage—an R package for image processing with applications on cellular assays. Bioinformatics, 26(7), 979-981.

References


Run this on BioMate

This skill is the knowledge layer — when, why, and how to use ebimage. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.

▶ Open ebimage on BioMate →

bioconductor-ebimage by bioMate-AI · The Skill Leaderboard