Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

carltonlab-napari-tools

License BSD-3 Python 3.11+ tests napari hub npe2 Copier

About the plugin

Work in progress, please expect bugs V0.1.0

This napari plugin is a tool designed to computationally count the number of foci in microscopy of C. elegans gonads. It has two operational methods, manual and automatic counting. It uses ndevio to extract the required metadata and multiview-stitcher to stitch the gonad tiles into a single image.

Example of a stitched gonad image

The tool was designed for RAD-51 foci counting in 4D images (CZYX) since it is the most common assay for quantification of DSBs in C. elegans but can be used to count other foci in any image.

It features multi-gonad project creation where all genotypes and gonads are mixed after individual nuclei are selected (manual or automatic) and are scored in a blind manner to minimize human bias.

We recommend using the automatic process, which uses a trained cellpose model to segment the nuclei. By default, it uses our trained model: https://bioimage.io/#/artifacts/sneaky-panda.

Example of meiotic nuclei segmentation

For the automatic counting, it uses spotiflow with a default model and then point filtering based on user provided parameters such as expected foci volume, channel (usually DAPI) co-localization and more.

It'll export the data as plots that can be organized by genotype similar to the conventional RAD-51 scoring figures commonly used in papers.

Example of generated foci-counting plots

It also writes all the intermediate files for troubleshooting, data archive and manual inspection. Formats are OME-Zarr for tiles and stitched images, TIFF files for cropped nuclei, CSV files for foci coordinates and feature tables. All which are easy to inspect even without the tool.

You can also do the entire counting and refinement of the data using the manual process.

Installation

Install from PyPI or napari Hub

Install the plugin in napari:

  • In napari, open Plugins → Install/Uninstall Plugins…, search for carltonlab-napari-tools, select it, and click Install. Restart napari if prompted.

  • If Install/Uninstall Plugins… isn't available, install the napari plugin manager in the same environment as napari.

  • Or, in the Python environment used by napari, run:

    python -m pip install carltonlab-napari-tools
    

The commands above install the plugin's base dependencies. For automatic segmentation, install the matching extra in the same Python environment:

For CPU:

python -m pip install "carltonlab-napari-tools[full-cpu]"

For CUDA 12:

python -m pip install "carltonlab-napari-tools[full-cuda12]"

Depending on your system, you may need a different PyTorch build for CUDA.

Install from source

Clone the repository and enter its directory:

git clone git@github.com:carltonlab/carltonlab-napari-tools.git
cd carltonlab-napari-tools

Select what segmentation you'll be using (Automatic workflow only).

For the manual workflow, install napari and Qt without the segmentation models:

uv sync --extra all

For automatic segmentation on CPU, use:

uv sync --extra full-cpu

For automatic segmentation with CUDA 12, use:

uv sync --extra full-cuda12

We highly recommend using a GPU for the segmentation. Depending on the setup, you might need to install a different PyTorch version.

For our workflow, with approximately 2 × 50 × 1024 × 1024 (CZYX) images, segmentation and foci counting use about 6 GB of VRAM.

Running

Launch napari from the environment where you installed the plugin:

  • If you installed it through napari's plugin manager, pip, or conda, launch napari as you normally do.
  • If you installed from source using uv, run this from the repository directory:
uv run napari

Then, use the Plugins menu to launch the tool.

Contributing

Contributions are very welcome.

Acknowledgements

This plugin uses ndevio for image metadata and multiview-stitcher for image stitching.

If you use multiview-stitcher in published research, cite its Zenodo record.

License

Distributed under the terms of the BSD-3 license, "carltonlab-napari-tools" is free and open source software

Metadata

Release files for carltonlab-napari-tools 0.1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for carltonlab-napari-tools 0.1.0a1
File Size Uploaded
carltonlab_napari_tools-0.1.0a1.tar.gz 231.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for carltonlab-napari-tools 0.1.0a1
File Interpreter ABI Platform
carltonlab_napari_tools-0.1.0a1-py3-none-any.whl Python 3 none any Details

Total release size: 363.0 kB

Release files / carltonlab_napari_tools-0.1.0a1.tar.gz

Download URL carltonlab_napari_tools-0.1.0a1.tar.gz
Size 231.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3074de79934ce2897c65a0b5ba2807ae9759190f94129b6e0280ca1d2852bc3e
BLAKE2b-256 checksum
How to use checksums
83ce541512c30962799860b5978d319074049637ad44093834b006ed36552b77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / carltonlab_napari_tools-0.1.0a1-py3-none-any.whl

Download URL carltonlab_napari_tools-0.1.0a1-py3-none-any.whl
Size 131.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a40f125076bfba9e714aec130caa8e1e576eba6df590ae28ad2ced1e88a96a1
BLAKE2b-256 checksum
How to use checksums
6f0ed2a9c8847d367b5780a0ac014a8b50159f7e17946785ab5ff43c6b8c707d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0a1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page