{ } Raw JSON

bundles / scipy 1.17.1 / scipy / ndimage / _morphology / white_tophat

function

scipy.ndimage._morphology:white_tophat

source: /scipy/ndimage/_morphology.py :1816

Signature

def   white_tophat ( input size = None footprint = None structure = None output = None mode = reflect cval = 0.0 origin = 0 * axes = None )

Summary

Multidimensional white tophat filter.

Parameters

input : array_like

Input.

size : tuple of ints

Shape of a flat and full structuring element used for the filter. Optional if footprint or structure is provided.

footprint : array of ints, optional

Positions of elements of a flat structuring element used for the white tophat filter.

structure : array of ints, optional

Structuring element used for the filter. structure may be a non-flat structuring element. The structure array applies offsets to the pixels in a neighborhood (the offset is additive during dilation and subtractive during erosion)

output : array, optional

An array used for storing the output of the filter may be provided.

mode : {'reflect', 'constant', 'nearest', 'mirror', 'wrap'}, optional

The mode parameter determines how the array borders are handled, where cval is the value when mode is equal to 'constant'. Default is 'reflect'

cval : scalar, optional

Value to fill past edges of input if mode is 'constant'. Default is 0.0.

origin : scalar, optional

The origin parameter controls the placement of the filter. Default is 0.

axes : tuple of int or None

The axes over which to apply the filter. If None, input is filtered along all axes. If an origin tuple is provided, its length must match the number of axes.

Returns

output : ndarray

Result of the filter of input with structure.

Notes

Array API Standard Support

white_tophat has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.

====================  ====================  ====================
Library               CPU                   GPU
====================  ====================  ====================
NumPy                 ✅                     n/a                 
CuPy                  n/a                   ✅                   
PyTorch               ✅                     ⛔                   
JAX                   ⚠️ no JIT
Dask                  ⚠️ computes graph     n/a                 
====================  ====================  ====================

See dev-arrayapi for more information.

Examples

Subtract gray background from a bright peak.
from scipy.ndimage import generate_binary_structure, white_tophat
import numpy as np
square = generate_binary_structure(rank=2, connectivity=3)
bright_on_gray = np.array([[2, 3, 3, 3, 2],
                           [3, 4, 5, 4, 3],
                           [3, 5, 9, 5, 3],
                           [3, 4, 5, 4, 3],
                           [2, 3, 3, 3, 2]])
white_tophat(input=bright_on_gray, structure=square)

See also

black_tophat

Aliases

  • scipy.ndimage.white_tophat