Process and analyze images using SimpleITK in napari
Project description
napari-simpleitk-image-processing (n-SimpleITK)
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.
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.
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.
Bilateral filter
The bilateral filter allows denoising an image while preserving edges.
Threshold Otsu
Binarizes an image using Otsu's method.
Connected Component Labeling
Takes a binary image and labels all objects with individual numbers to produce a label image.
Measurements
This function allows determining intensity and shape statistics from labeled images.
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.
Binary fill holes
Fills holes in a binary image.
Touching objects labeling
Starting from a binary image, touching objects can be splits into multiple regions, similar to the Watershed segmentation in ImageJ.
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.
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.
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.
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:
- morphometrics
- PartSeg
- napari-skimage-regionprops
- napari-cupy-image-processing
- napari-pyclesperanto-assistant
- napari-allencell-segmenter
- RedLionfish
- bbii-decon
- napari-segment-blobs-and-things-with-membranes
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
Release history Release notifications | RSS feed
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.2.3.tar.gz
.
File metadata
- Download URL: napari-simpleitk-image-processing-0.2.3.tar.gz
- Upload date:
- Size: 17.9 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5e84ee935d3a72a2b645a5d5212957d361d3657897230bdd912baef593b94e0 |
|
MD5 | 0262ac7bdea73272fdede835aaf1558e |
|
BLAKE2b-256 | a6f3248054dc005664826dbc037bddd4857c0f9666a833d081649f5deb10980e |
File details
Details for the file napari_simpleitk_image_processing-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: napari_simpleitk_image_processing-0.2.3-py3-none-any.whl
- Upload date:
- Size: 16.3 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e137f9348de58c0d4f4b5252eaf1c39e4b9568010ed4fa919a5863f24cdf360 |
|
MD5 | 1f67e864512bfa286f4bb2a8c446ca78 |
|
BLAKE2b-256 | d957006e16e4a28397cf3d016908995aaa2f1d6b9662181b028e0587e99e71f9 |