The napari hub is transitioning to a community-run implementation due to launch in June 2025.
Since October 1, 2024, this version is no longer actively maintained and will not be updated. New plugins and plugin updates will continue to be listed.

CellPose Counter

cellpose-counter

Cell/nuclei counter using cellpose models

Workflow step:
Image annotation
Image segmentation

License BSD-3 PyPI Python Version tests codecov napari hub

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


Installation

Option 1: Install in Napari directly under the plugins tab and select cellpose-counter.

Option 2: 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

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.

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

Version:

  • 0.1.3

Last updated:

  • 26 November 2024

First released:

  • 21 November 2024

License:

  • Copyright (c) 2024, Szablowski Lab All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

  • Stars: 0
  • Forks: 0
  • Issues + PRs: 0

Python versions supported:

Operating system:

Requirements:

  • numpy
  • magicgui
  • qtpy
  • scikit-image
  • napari[all]>=0.5.4
  • cellpose>=3.1.0
  • accelerate>=1.1.1
  • napari-czifile2>=0.2.7