Skip to main content

A plugin based on scikit-image for segmenting nuclei and cells based on fluorescent microscopy images with high intensity in nuclei and/or membranes

Project description

napari-segment-blobs-and-things-with-membranes (nsbatwm)

License PyPI Python Version tests codecov Development Status napari hub DOI

This napari-plugin is based on scikit-image and allows segmenting nuclei and cells based on fluorescence microscopy images with high intensity in nuclei and/or membranes.

Usage

This plugin populates image processing operations to the Tools menu in napari. You can recognize them with their suffix (nsbatwm) in brackets. Furthermore, it can be used from the napari-assistant graphical user interface. Therefore, just click the menu Tools > Utilities > Assistant (na) or run naparia from the command line.

img.png

You can also call these functions as shown in the demo notebook.

Voronoi-Otsu-Labeling

This algorithm uses Otsu's thresholding method in combination with Gaussian blur and a Voronoi-Tesselation approach to label bright objects such as nuclei in an intensity image. The alogrithm has two sigma parameters which allow you to fine-tune where objects should be cut (spot_sigma) and how smooth outlines should be (outline_sigma). This implementation aims to be similar to Voronoi-Otsu-Labeling in clesperanto.

img.png

Seeded Watershed

Starting from an image showing high-intensity membranes and a seed-image where objects have been labeled (e.g. using Voronoi-Otsu-Labeling), objects are labeled that are constrained by the membranes.

img.png

Seeded Watershed with mask

If there is additionally a mask image available, one can use the Seeded Watershed with mask, to constraint the flooding on a membrane image (1), starting from nuclei (2), limited by a mask image (3) to produce a cell segmentation within the mask (4).

img.png

Seeded Watershed using local minima as starting points

Similar to the Seeded Watershed and Voronoi-Otsu-Labeling explained above, you can use this tool to segment an image showing membranes without an additional image showing nuclei. The two sigma parameters allow to fine tune how close objects can be and how precise their boundaries are detected.

img.png

Gaussian blur

Applies a Gaussian blur to an image. This might be useful for denoising, e.g. before applying the Threshold-Otsu method.

img.png

Subtract background

Subtracts background using scikit-image's rolling-ball algorithm. This might be useful, for example to make intensity of membranes more similar in different regions of an image.

img.png

Threshold Otsu

Binarizes an image using scikit-image's threshold Otsu algorithm, also known as Otsu's method.

img.png

Split touching objects (formerly known as binary watershed).

In case objects stick together after thresholding, this tool might help. It aims to deliver similar results as ImageJ's watershed implementation.

img.png

Connected component labeling

Takes a binary image and produces a label image with all separated objects labeled differently. Under the hood, it uses scikit-image's label function.

img.png

Manual split and merge labels

Split and merge labels in napari manually via the Tools > Utilities menu:


This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-napari-plugin template.

Installation

This plugin is part of devbio-napari. To install it, please follow its installation instructions.

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the BSD-3 license, "napari-segment-blobs-and-things-with-membranes" is free and open source software

Issues

If you encounter any problems, please create a thread on image.sc along with a detailed description and tag @haesleinhuepf.

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

Built Distribution

File details

Details for the file napari_segment_blobs_and_things_with_membranes-0.3.9.tar.gz.

File metadata

File hashes

Hashes for napari_segment_blobs_and_things_with_membranes-0.3.9.tar.gz
Algorithm Hash digest
SHA256 13491f971fd01232ac253999ddc81c52934e2066d87124036942833d10434c66
MD5 c5f55ae47f66f0a7958de4e5d6111cd0
BLAKE2b-256 749619b6f48adf6ee204aa1c32032d4c94ea5f3ae01c3e329232551dc2f904bd

See more details on using hashes here.

File details

Details for the file napari_segment_blobs_and_things_with_membranes-0.3.9-py3-none-any.whl.

File metadata

File hashes

Hashes for napari_segment_blobs_and_things_with_membranes-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 78d5bc6ea78a8e5016314a97e555a25b3fe0d2cf87ef8481a8484e4e8b35cc8b
MD5 3b7220fba63185c9c7ffe7dee14c9cbe
BLAKE2b-256 d9ae68a68f5719909b83b5b4f7886a2354fb6808c0b3fc4232ce0519a36daaba

See more details on using hashes here.

Supported by

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