cytoviewer

An interactive multi-channel image viewer for R

https://github.com/bodenmillergroup/cytoviewer

Science Score: 49.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
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords

bioconductor imaging r shiny visualization

Keywords from Contributors

bioconductor-packages
Last synced: 6 months ago · JSON representation

Repository

An interactive multi-channel image viewer for R

Basic Info
Statistics
  • Stars: 7
  • Watchers: 5
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
bioconductor imaging r shiny visualization
Created over 3 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog

README.md

cytoviewer

docs codecov

An interactive multi-channel image viewer for R.

This shiny application allows users to interactively visualize multi-channel images and segmentation masks generated by imaging mass cytometry and other highly multiplexed imaging techniques. The cytoviewer package is divided into image-level (Composite and Channels) and cell-level visualization (Masks). It allows users to overlay individual images with segmentation masks, integrates well with SingleCellExperiment / SpatialExperiment and CytoImageList objects for metadata and image visualization and supports image downloads.

Read the BMC Bioinformatics paper here: doi.org/10.1186/s12859-023-05546-z.

Check status

| Bioc branch | Checks | |:------------------------------------------:|:--------------------------:| | Release | build-checks-release | | Devel | build-checks-devel |

Requirements

The cytoviewer package requires R version >= 4.0. It builds on data objects and functions contained in the cytomapper package.

Installation

The cytoviewer package can be installed from Bioconductor via:

``` r if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")

BiocManager::install("cytoviewer") ```

The development version of cytoviewer can be installed from Github via:

``` r if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes")

remotes::install_github("BodenmillerGroup/cytoviewer") ```

To load the package in your R session, type the following:

r library(cytoviewer)

Basic usage

``` r library(cytoviewer)

Load example datasets

library(cytomapper) data("pancreasImages") data("pancreasMasks") data("pancreasSCE")

Use cytoviewer with images, masks and object

app <- cytoviewer(image = pancreasImages, mask = pancreasMasks, object = pancreasSCE, imgid = "ImageNb", cellid = "CellNb")

if (interactive()) {

shiny::runApp(app)

} ```

For more detailed information on package usage and functionality, please refer to https://bodenmillergroup.github.io/cytoviewer/.

Application overview

**Figure 1: cytoviewer interface and functionality.**

(A) The supported functionality (right) of cytoviewer depends on the data inputs (left). To match information between the objects, cell (cellid) and image (imgid) identifiers can be provided. SCE/SPE = SingleCellExperiment/SpatialExperiment.

(B) The graphical user interface of cytoviewer is divided into a body, header, and sidebar. The body of cytoviewer includes the image viewer, which has three tabs: Composite (Image-level), Channels (Image-level), and Mask (Cell-level). Zooming is supported for Composite and Mask tabs. The package version, R session information, help page, and a drop-down menu for image downloads are located in the header. The sidebar menu has controls for sample selection, image visualization, mask visualization, and general settings. Scale bar: 150 µm

(C) cytoviewer supports different viewing modes. Top: The "channels" tab of image-level visualization displays individual channels. Shown are Ecad (magenta), CD8a (cyan), and CD68 (yellow) marking tumor cells, CD8+ T cells, and myeloid cells, respectively. Center: The "composite" tab of image-level visualization visualizes image composites combining multiple channels. These composite images can be overlayed with cell outlines, which can be colored by cell-specific metadata. Shown here are cell outlines colored by cell area (continous value) and cell type (categorical value; tumor cells in white). Channel color settings are as follows for all markers: Contrast: 2,5; Brightness: 1; Gamma: 1.2. Bottom: The "mask" tab can be used to visualize segmentation masks that can be colored by cell-specific metadata. Shown here are segmentation masks colored by cell area (continuous) and cell type (categorical; tumor cells in magenta). Scale bars: 150 µm.

(D) "Image appearance" controls can be used to add legends or titles and to change the scale bar length for image-level (top) and cell level (bottom) visualization. The cell-level mask plot depicts tumor (magenta), myeloid (yellow), and CD8+ T cells (cyan). Scale bars: 100 µm.

Adapted from Meyer et al., 2024

Contributing

For feature requests, please open an issue here.

Alternatively, feel free to fork the repository, add your changes and issue a pull request.

Citation

If you are using cytoviewer in your work, please cite the paper as:

Meyer, L., Eling, N., & Bodenmiller, B. (2024). cytoviewer: an R/Bioconductor package for interactive visualization and exploration of highly multiplexed imaging data. BMC Bioinformatics, doi.org/10.1186/s12859-023-05546-z

Authors

Lasse Meyer lasse.meyer 'at' dqbm.uzh.ch

Nils Eling nils.eling 'at' dqbm.uzh.ch

Owner

  • Name: BodenmillerGroup
  • Login: BodenmillerGroup
  • Kind: organization

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 103
  • Total Committers: 7
  • Avg Commits per committer: 14.714
  • Development Distribution Score (DDS): 0.204
Past Year
  • Commits: 74
  • Committers: 5
  • Avg Commits per committer: 14.8
  • Development Distribution Score (DDS): 0.176
Top Committers
Name Email Commits
lassedochreden l****r@u****h 82
nilseling n****g@g****e 14
J Wokaty j****y@s****u 2
J Wokaty j****y 2
matt-sd-watson m****n@g****m 1
Lasse Meyer 7****n 1
Nils Eling n****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 17
  • Average time to close issues: 24 days
  • Average time to close pull requests: about 19 hours
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 1.43
  • Average comments per pull request: 0.35
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nilseling (4)
  • lassedochreden (1)
  • JohnAbbey98 (1)
Pull Request Authors
  • lassedochreden (14)
  • nilseling (3)
  • matt-sd-watson (1)
Top Labels
Issue Labels
enhancement (4) documentation (1)
Pull Request Labels
bug (4) enhancement (3) documentation (1)