skimage2.filters.rank.sum_bilateral#

skimage2.filters.rank.sum_bilateral(image, footprint, out=None, mask=None, shift_x=0, shift_y=0, s0=10, s1=10)[source]#

Apply a flat kernel bilateral filter.

This is an edge-preserving and noise reducing denoising filter. It averages pixels based on their spatial closeness and radiometric similarity.

Spatial closeness is measured by considering only the local pixel neighborhood given by a footprint (structuring element).

Radiometric similarity is defined by the graylevel interval [g-s0, g+s1] where g is the current pixel graylevel.

Only pixels belonging to the footprint AND having a graylevel inside this interval are summed.

Note that the sum may overflow depending on the data type of the input array.

Parameters:
image2-D array (uint8, uint16)

Input image.

footprint2-D array

The neighborhood expressed as a 2-D array of 1’s and 0’s.

out2-D array, same dtype as input image

If None, a new array is allocated.

maskndarray

Mask array that defines (>0) area of the image included in the local neighborhood. If None, the complete image is used (default).

shift_x, shift_yint

Offset added to the footprint center point. Shift is bounded to the footprint sizes (center must be inside the given footprint).

s0, s1int

Define the [s0, s1] interval around the grayvalue of the center pixel to be considered for computing the value.

Returns:
out2-D array, same dtype as input image

Output image.

Examples

>>> import numpy as np
>>> from _skimage2 import data
>>> from _skimage2.morphology import disk
>>> from _skimage2.filters.rank import sum_bilateral
>>> img = data.camera().astype(np.uint16)
>>> bilat_img = sum_bilateral(img, disk(10), s0=10, s1=10)