Skip to main content

Process and analyze images using SimpleITK in napari

Project description

napari-simpleitk-image-processing (n-SimpleITK)

License PyPI Python Version tests codecov Development Status napari hub DOI

Process images using SimpleITK in napari

Usage

Filters, segmentation algorithms and measurements provided by this napari plugin can be found in the Tools menu. You can recognize them with their suffix (n-SimpleITK) 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

All filters implemented in this napari plugin are also demonstrated in this notebook.

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

Median filter

Applies a median filter to an image. Compared to the Gaussian blur this method preserves edges in the image better. It also performs slower.

img.png

Bilateral filter

The bilateral filter allows denoising an image while preserving edges.

img.png

Threshold Otsu

Binarizes an image using Otsu's method.

img.png

Connected Component Labeling

Takes a binary image and labels all objects with individual numbers to produce a label image.

img.png

Measurements

This function allows determining intensity and shape statistics from labeled images.

img.png

Signed Maurer distance map

A distance map (more precise: Signed Maurer Distance Map) can be useful for visualizing distances within binary images between black/white borders. Positive values in this image correspond to a white (value=1) pixel's distance to the next black pixel. Black pixel's (value=0) distance to the next white pixel are represented in this map with negative values.

img.png

Binary fill holes

Fills holes in a binary image.

img.png

Touching objects labeling

Starting from a binary image, touching objects can be splits into multiple regions, similar to the Watershed segmentation in ImageJ.

img.png

Morphological Watershed

The morhological watershed allows to segment images showing membranes. Before segmentation, a filter such as the Gaussian blur or a median filter should be used to eliminate noise. It also makes sense to increase the thickness of membranes using a maximum filter. See this notebook for details.

img.png

Watershed-Otsu-Labeling

This algorithm uses Otsu's thresholding method in combination with Gaussian blur and the Watershed-algorithm approach to label bright objects such as nuclei in an intensity image. The alogrithm has two sigma parameters and a level parameter which allow you to fine-tune where objects should be cut (spot_sigma) and how smooth outlines should be (outline_sigma). The watershed_level parameter determines how deep an intensity valley between two maxima has to be to differentiate the two maxima. This implementation is similar to Voronoi-Otsu-Labeling in clesperanto.

img.png

Richardson-Lucy Deconvolution

Richardson-Lucy deconvolution allows to restore image quality if the point-spread-function of the optical system used for acquisition is known or can be approximated.

img.png

Installation

You can install napari-simpleitk-image-processing via using conda and pip. If you have never used conda before, please go through this tutorial first.

conda install -c conda-forge napari
pip install napari-simpleitk-image-processing

See also

There are other napari plugins with similar functionality for processing images and extracting features:

Furthermore, there are plugins for postprocessing extracted measurements

Contributing

Contributions are very welcome. There are many useful algorithms available in SimpleITK. If you want another one available here in this napari plugin, don't hesitate to send a pull-request. This repository just holds wrappers for SimpleITK-functions, see this file for how those wrappers can be written.

License

Distributed under the terms of the BSD-3 license, "napari-simpleitk-image-processing" is free and open source software

Citation

For implementing this napari plugin, the SimpleITK python notebooks were very helpful. Thus, if you find the plugin useful, consider citing the SimpleITK notebooks:

Z. Yaniv, B. C. Lowekamp, H. J. Johnson, R. Beare, "SimpleITK Image-Analysis Notebooks: a Collaborative Environment for Education and Reproducible Research",
J Digit Imaging., 31(3): 290-303, 2018, https://doi.org/10.1007/s10278-017-0037-8.

Issues

If you encounter any problems, please file an issue along with a detailed description.

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-simpleitk-image-processing-0.3.0.tar.gz.

File metadata

  • Download URL: napari-simpleitk-image-processing-0.3.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/29.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.6.4 keyring/23.0.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for napari-simpleitk-image-processing-0.3.0.tar.gz
Algorithm Hash digest
SHA256 71b48c9e7c18082e20a297e212f0aaaf103d62883faf13b9ba44c5f812957b0d
MD5 6a1c65c08561502c3b382e4a8c0692f1
BLAKE2b-256 b8e20d066bc96b8b930587c7026d09308c176667b423a734b843b921ea73d85b

See more details on using hashes here.

File details

Details for the file napari_simpleitk_image_processing-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: napari_simpleitk_image_processing-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/29.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.6.4 keyring/23.0.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for napari_simpleitk_image_processing-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57cc75c39ea5ebcf4a5c0ac01f72e11597c653eb991cfefce0288cffb056f01e
MD5 d376046521f40509fcc5f8f6bee56f44
BLAKE2b-256 b01e64863492a6e8328f950299e976144726df5cb0df822e8c75568b3794591c

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