Skip to main content

Cell/nuclei counter using cellpose models

Project description

cellpose-counter

License BSD-3 PyPI Python Version napari hub

A Napari plugin for cell/nuclei counting from a region or interest using cellpose models.


Installation

Option 1: via pip (or pip alternatives like uv):

Below is a minimally working example of setting up a new virtual environment and installing the counter module with uv on Unix based systems.

uv venv # create virtual environment in .venv
source .venv/bin/activate

uv pip install "napari[all]" cellpose-counter

Option 2: via Docker/Podman. The provide Dockerfile can be used to install Napari and the counter plugin along with a preconfigured Xpra server using the napari-xpra image. Below is an example of building the image and running the application with GPU support.

podman build -t cellpose-counter .
podman run -it -d \
    -p 9876:9876 \
    -e XPRA_START="python3 -m napari -w cellpose-counter" \
    --device nvidia.com/gpu=all

Then, navigate to http://localhost:9876 to view the application in a virtual machine.

Note: There is a known issue installing the plugin directly from Napari. Please see this issue for more updates.

GPU Acceleration

To enable GPU acceleration, you will need a CUDA capable GPU along with the CUDA toolkit and cudNN library.

For instructions on installing cuda toolkit and cudNN, see:

  1. cuda toolkit installation for Linux
  2. cudNN installation for Linux

Once these are installed, update the pytorch package by first uninstalling torch (if already instsalled).

uv pip uninstall torch

Then install a torch version that is compatible with your CUDA version. For example,

uv pip install torch --index-url https://download.pytorch.org/whl/cu118

After installation, you can verify in an interactive python console with:

import torch
torch.cuda.is_available()

Usage

To open Napari with the cellpose counter loaded, run napari -w cellpose-counter.

A dock widget will be open on the right side of the Napari interface. There you can view options for restoring images (using the cellpose denoise module), and counting cells/nuclei in a region of interest (ROI).

A few important notes:

  1. Images in TIFF or CZI file formats may be used.
  2. Images must be grayscale or single channel. RGB images may be loaded, but should be split. You can do this by right clicking on the image and select split rgb or split stack.
  3. ROIs can be drawn using the shape layer tools. Only a single ROI can be drawn per shape layer (otherwise only the first draw ROI will be used).
  4. ROIs should be square or rectangular. You can draw ROIs as polygons or other shapes, but a bounding box will be made from these shapes anyway.
  5. For long running processes such as image restoration or counting, it may seem like Napari is not doing anything. Notifications are shown in the viewer to display import information and a small activity indicator can be seen in the bottom right hand corner. If this indicator is spinning, then work is being done even if it doesn't look like it.
  6. In case of a large number of uncounted nuclei, consider modifying the segmentation parameters, or use the Continue Counting option to re-run the segmentation on uncounted nuclei.

Updating

  1. via Napari plugin manager. Select cellpose-counter plugin and update button.

  2. via pip (or uv, ..., etc.)

uv pip install cellpose-counter --upgrade

Contributing

All contributions are welcome. Please submit an issue for feedback or bugs.

Citations

This plugin is built on top of the Cellpose segmentation and denoising models. If you use this plugin, please cite the following paper:

@article{stringer2021cellpose,
title={Cellpose: a generalist algorithm for cellular segmentation},
author={Stringer, Carsen and Wang, Tim and Michaelos, Michalis and Pachitariu, Marius},
journal={Nature Methods},
volume={18},
number={1},
pages={100--106},
year={2021},
publisher={Nature Publishing Group}
}

License

BSD-3

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

cellpose_counter-0.1.7.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

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

cellpose_counter-0.1.7-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file cellpose_counter-0.1.7.tar.gz.

File metadata

  • Download URL: cellpose_counter-0.1.7.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.15

File hashes

Hashes for cellpose_counter-0.1.7.tar.gz
Algorithm Hash digest
SHA256 9e7f9a902bcfcc4bec6ab5c9babaa1bbd66e0d306a60f2f9a00e8ecc5b31aa54
MD5 75235b36d3f05cababa6d8b32862c810
BLAKE2b-256 f64e6e891999a81ffbb5bb5d74aced98fddae0f3bcb0c92adf7abac7f987f22c

See more details on using hashes here.

File details

Details for the file cellpose_counter-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for cellpose_counter-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 be125165c4038c9dbd841ed1155adf1f4210c233e16d7f57c3f3c1e38cfd36e3
MD5 352579a3d8560b95fed423f0c1bf892a
BLAKE2b-256 5994b6c956bdccc646489a16aaa55a62df1319fed80b3076b2e2aa8bfaf4248b

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