skimage 0.17.2

ParametersReturnsBackRef
sum_bilateral(image, selem, out=None, mask=None, shift_x=False, shift_y=False, s0=10, s1=10)

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 structuring element (selem).

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

Only pixels belonging to the structuring element AND having a greylevel inside this interval are summed.

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

Parameters

image : 2-D array (uint8, uint16)

Input image.

selem : 2-D array

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

out : 2-D array (same dtype as input)

If None, a new array is allocated.

mask : ndarray

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_y : int

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

s0, s1 : int

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

Returns

out : 2-D array (same dtype as input image)

Output image.

Apply a flat kernel bilateral filter.

See Also

denoise_bilateral

Examples

This example is valid syntax, but we were not able to check execution
>>> from skimage import data
... from skimage.morphology import disk
... from skimage.filters.rank import sum_bilateral
... img = data.camera().astype(np.uint16)
... bilat_img = sum_bilateral(img, disk(10), s0=10, s1=10)
See :

Back References

The following pages refer to to this document either explicitly or contain code examples using this.

skimage.filters.rank.bilateral.sum_bilateral

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


File: /skimage/filters/rank/bilateral.py#161
type: <class 'function'>
Commit: