Skip to main content

A model for classification of cells into marker positive / negative

Project description

Nimbus Logo

CI Documentation Status PyPI Downloads Open In Colab Nature Methods

Nimbus Inference

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-Inference

Create a Python environment with version 3.9–3.11, then install as shown above.


Example Notebooks

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:

  • 1_Nimbus_Predict.ipynb

    • Guides you through performing inference with the Nimbus model on multiplexed imaging data.
    • Open In Colab
  • 2_Nimbus_Finetuning.ipynb

    • Shows you how to finetune the Nimbus model on a new dataset.
    • Open In Colab
  • 3_interactive_viewer.ipynb

    • Lets you interactively explore the Nimbus Gold Standard labeled dataset.
    • Open In Colab
  • 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.ipynb and clusters cells based on marker expression, enabling downstream analysis and visualization of cell populations.

Each notebook loads an example dataset directly from the Hugging Face Hub, so you can get hands-on with Nimbus right away.


Datasets

We have released two main datasets on the Hugging Face Hub:

  1. Pan-Multiplex

  2. Pan-Multiplex Gold-Standard


What is Nimbus?

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.


Repository organization

Our github is organized as follows:

  • The README file (which you're looking at now) provides an overview of the project
  • The .github folder contains code automating jobs via github actions for testing and deployment
  • The assets folder contains images that are displayed in the README
  • The docs folder allows us to build and maintain updated documentation for the project
  • The src folder contains the core code for running Nimbus
  • The templates folder contains example notebooks to provide easy starting examples for new users
  • The tests folder contains code for testing the codebase

For a more detailed look on how to get started, please check out our documentation


Contact

If you have questions, find a bug, or need help:

  • Please use the issue tracker.
  • We welcome contributions or pull requests to improve Nimbus!

Citation

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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nimbus_inference-0.0.5.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nimbus_inference-0.0.5-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file nimbus_inference-0.0.5.tar.gz.

File metadata

  • Download URL: nimbus_inference-0.0.5.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for nimbus_inference-0.0.5.tar.gz
Algorithm Hash digest
SHA256 5564725a040cf2a8767d9a81c3e4fb1f9743e17e5f40999a1dc8eee797b11119
MD5 e85290dc3101852a51759d1d41632260
BLAKE2b-256 48994793bbd9341ba62aa0740f452df47e56ea2669243b1783c507c085006f84

See more details on using hashes here.

File details

Details for the file nimbus_inference-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for nimbus_inference-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 251b46195120ebb9950b46db457129149288b856fdbfde0bf1dfd74372319a7f
MD5 b73c279e0fcd0f0b8b1f01d2dae4651e
BLAKE2b-256 7945feba2752c9832c75632f28b8da1bd16804b54c6aee00c29883efb98f514f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page