code: def dilate(A, Bc=None, out=None, output=None):
      """
      Morphological dilation.
  
      The type of operation depends on the ``dtype`` of ``A``! If boolean, then
      the dilation is binary, else it is greyscale dilation. In the case of
      greyscale dilation, the smallest value in the domain of ``Bc`` is
      interpreted as +Inf.
  
      Parameters
      ----------
      A : ndarray of bools
          input array
      Bc : ndarray, optional
          Structuring element. By default, use a cross (see
          ``get_structuring_elem`` for details on the default).
      out : ndarray, optional
          output array. If used, this must be a C-array of the same ``dtype`` as
          ``A``. Otherwise, a new array is allocated.
      output : deprecated
          Do not use
  
      Returns
      -------
      dilated : ndarray
          dilated version of ``A``
  
      See Also
      --------
      erode
      """
      _verify_is_integer_type(A, "dilate")
      Bc = get_structuring_elem(A, Bc)
      output = _get_output(A, out, "dilate", output=output)
      return _morph.dilate(A, Bc, output)
  
imports: from __future__ import division
  import numpy
  from .internal import _get_output, _verify_is_integer_type, _check_2
  from .None import _morph
label_desc: Use image node_id 3 for calling a global function with example usage: dilate(A, Bc, out, output) and returns: _morph