Nimbus is a deep learning model for automated classification of marker expression in multiplexed imaging data. This repository provides code for:
- Inference of the Nimbus model on your multiplexed images.
- Finetuning the Nimbus model on new data if desired.
- Interactive exploration of the Nimbus Gold Standard dataset.
The code for training the Nimbus model from scratch can be found in the angelolab/Nimbus repository
Installation (via pip)
pip install Nimbus-InferenceCreate a Python environment with version 3.9–3.11, then install as shown above.
We provide three Jupyter notebooks (in the templates folder), each with its own example dataset that is loaded from the Hugging Face Hub within the notebook:
-
4_Generic_Cell_Clustering.ipynb
- Performs cell phenotyping using SOM (Self-Organizing Map) and consensus clustering on Nimbus predictions. Takes the cell table output from
1_Nimbus_Predict.ipynband clusters cells based on marker expression, enabling downstream analysis and visualization of cell populations.
- Performs cell phenotyping using SOM (Self-Organizing Map) and consensus clustering on Nimbus predictions. Takes the cell table output from
Each notebook loads an example dataset directly from the Hugging Face Hub, so you can get hands-on with Nimbus right away.
We have released two main datasets on the Hugging Face Hub:
-
Pan-Multiplex
- A large, noisy labeled dataset used for training and validation.
- https://huggingface.co/datasets/JLrumberger/Pan-Multiplex
-
Pan-Multiplex Gold-Standard
- A smaller subset of Pan-Multiplex where every cell was manually annotated by experts.
- https://huggingface.co/datasets/JLrumberger/Pan-Multiplex-Gold-Standard
Nimbus is a deep learning model designed to make human-like, visual classifications of multiplexed imaging data by determining which protein markers each cell is positive or negative for. Unlike many existing workflows, Nimbus:
- Uses the raw image pixels (rather than purely integrated intensity) to classify marker expression.
- Generalizes across many tissue types, imaging platforms, and markers — without retraining.
- Can be integrated into downstream clustering or phenotyping pipelines to improve accuracy.
For more details, please see our publication.
Our github is organized as follows:
- The
READMEfile (which you're looking at now) provides an overview of the project - The
.githubfolder contains code automating jobs via github actions for testing and deployment - The
assetsfolder contains images that are displayed in the README - The
docsfolder allows us to build and maintain updated documentation for the project - The
srcfolder contains the core code for running Nimbus - The
templatesfolder contains example notebooks to provide easy starting examples for new users - The
testsfolder contains code for testing the codebase
For a more detailed look on how to get started, please check out our documentation
If you have questions, find a bug, or need help:
- Please use the issue tracker.
- We welcome contributions or pull requests to improve Nimbus!
If you use Nimbus in your work, please cite:
@article{rumberger2025automated,
title={Automated classification of cellular expression in multiplexed imaging data with Nimbus},
author={Rumberger, Josef Lorenz and Greenwald, Noah F and Ranek, Jolene S and Boonrat, Potchara and Walker, Cameron and Franzen, Jannik and Varra, Sricharan Reddy and Kong, Alex and Sowers, Cameron and Liu, Candace C and others},
journal={Nature Methods},
volume={22},
pages={2161–-2170},
year={2025},
publisher={Nature Publishing Group US New York}
}