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

License
PyPI
Python Version
tests
codecov
napari hub

Process images using SimpleITK in napari

Usage

Filters of this napari plugin can be found in the Tools > Filtering menu.
Segmentation algorithms and tools for post-processing segmented (binary or label) images can be
found in the Tools > Segmentation menu. 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

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


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

Installation

You can install napari-simpleitk-image-processing via pip:

pip install napari-simpleitk-image-processing

To install latest development version :

pip install git+https://github.com/haesleinhuepf/napari-simpleitk-image-processing.git

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

Issues

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

GitHub

View Github