# scipy.ndimage.black_tophat

scipy.ndimage.black_tophat(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0)

  Multidimensional black tophat filter.

  Parameters
    input array_like

      Input.

    size tuple of ints, optional

      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 non-infinite elements of a flat structuring element used for the black tophat filter.

    structure array of ints, optional

      Structuring element used for the filter. structure may be a non-flat structuring element.

    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 0

  Returns
    black_tophat ndarray

      Result of the filter of input with structure.

  See also

  `white_tophat`, `grey_opening`, `grey_closing`

  Examples

  Change dark peak to bright peak and subtract background.

      >>> from scipy.ndimage import generate_binary_structure, black_tophat
      >>> square = generate_binary_structure(rank=2, connectivity=3)
      >>> dark_on_gray = np.array([[7, 6, 6, 6, 7],
      ...                          [6, 5, 4, 5, 6],
      ...                          [6, 4, 0, 4, 6],
      ...                          [6, 5, 4, 5, 6],
      ...                          [7, 6, 6, 6, 7]])
      >>> black_tophat(input=dark_on_gray, structure=square)
      array([[0, 0, 0, 0, 0],
             [0, 0, 1, 0, 0],
             [0, 1, 5, 1, 0],
             [0, 0, 1, 0, 0],
             [0, 0, 0, 0, 0]])

scipy.ndimage.binary_propagation scipy.ndimage.distance_transform_bf