old_contents: import numpy as np
  from scipy.ndimage import label
  
  
  def clear_border(image, buffer_size=0, bgval=0):
      """Clear objects connected to image border.
  
      The changes will be applied to the input image.
  
      Parameters
      ----------
      image : (N, M) array
          Binary image.
      buffer_size : int, optional
          Define additional buffer around image border.
      bgval : float or int, optional
          Value for cleared objects.
  
      Returns
      -------
      image : (N, M) array
          Cleared binary image.
  
      Examples
      --------
      >>> import numpy as np
      >>> from skimage.segmentation import clear_border
      >>> image = np.array([[0, 0, 0, 0, 0, 0, 0, 1, 0],
      ...                   [0, 0, 0, 0, 1, 0, 0, 0, 0],
      ...                   [1, 0, 0, 1, 0, 1, 0, 0, 0],
      ...                   [0, 0, 1, 1, 1, 1, 1, 0, 0],
      ...                   [0, 1, 1, 1, 1, 1, 1, 1, 0],
      ...                   [0, 0, 0, 0, 0, 0, 0, 0, 0]])
      >>> clear_border(image)
      array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 1, 0, 0, 0, 0],
             [0, 0, 0, 1, 0, 1, 0, 0, 0],
             [0, 0, 1, 1, 1, 1, 1, 0, 0],
             [0, 1, 1, 1, 1, 1, 1, 1, 0],
             [0, 0, 0, 0, 0, 0, 0, 0, 0]])
  
      """
  
      rows, cols = image.shape
      if buffer_size >= rows or buffer_size >= cols:
          raise ValueError("buffer size may not be greater than image size")
  
      # create borders with buffer_size
      borders = np.zeros_like(image, np.bool_)
      ext = buffer_size + 1
      borders[:ext] = True
      borders[- ext:] = True
      borders[:, :ext] = True
      borders[:, - ext:] = True
  
      labels, number = label(image)
  
      # determine all objects that are connected to borders
      borders_indices = np.unique(labels[borders])
      indices = np.arange(number + 1)
      # mask all label indices that are connected to borders
      label_mask = np.in1d(indices, borders_indices)
      # create mask for pixels to clear
      mask = label_mask[labels.ravel()].reshape(labels.shape)
  
      # clear border pixels
      image[mask] = bgval
  
      return image
  
new_contents: import numpy as np
  from scipy.ndimage import label
  
  
  def clear_border(image, buffer_size=0, bgval=0):
      """Clear objects connected to image border.
  
      The changes will be applied to the input image.
  
      Parameters
      ----------
      image : (N, M) array
          Binary image.
      buffer_size : int, optional
          Define additional buffer around image border.
      bgval : float or int, optional
          Value for cleared objects.
  
      Returns
      -------
      image : (N, M) array
          Cleared binary image.
  
      Examples
      --------
      >>> import numpy as np
      >>> from skimage.segmentation import clear_border
      >>> image = np.array([[0, 0, 0, 0, 0, 0, 0, 1, 0],
      ...                   [0, 0, 0, 0, 1, 0, 0, 0, 0],
      ...                   [1, 0, 0, 1, 0, 1, 0, 0, 0],
      ...                   [0, 0, 1, 1, 1, 1, 1, 0, 0],
      ...                   [0, 1, 1, 1, 1, 1, 1, 1, 0],
      ...                   [0, 0, 0, 0, 0, 0, 0, 0, 0]])
      >>> clear_border(image)
      array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 1, 0, 0, 0, 0],
             [0, 0, 0, 1, 0, 1, 0, 0, 0],
             [0, 0, 1, 1, 1, 1, 1, 0, 0],
             [0, 1, 1, 1, 1, 1, 1, 1, 0],
             [0, 0, 0, 0, 0, 0, 0, 0, 0]])
  
      """
  
      rows, cols = image.shape
      if buffer_size >= rows or buffer_size >= cols:
          raise ValueError("buffer size may not be greater than image size")
  
      # create borders with buffer_size
      borders = np.zeros_like(image, dtype=np.bool_)
      ext = buffer_size + 1
      borders[:ext] = True
      borders[- ext:] = True
      borders[:, :ext] = True
      borders[:, - ext:] = True
  
      labels, number = label(image)
  
      # determine all objects that are connected to borders
      borders_indices = np.unique(labels[borders])
      indices = np.arange(number + 1)
      # mask all label indices that are connected to borders
      label_mask = np.in1d(indices, borders_indices)
      # create mask for pixels to clear
      mask = label_mask[labels.ravel()].reshape(labels.shape)
  
      # clear border pixels
      image[mask] = bgval
  
      return image
  
subject: Use explicit keyword for dtype