code: def morphological_laplace(
      input,
      size=None,
      footprint=None,
      structure=None,
      output=None,
      mode="reflect",
      cval=0.0,
      origin=0,
  ):
      """
      Multi-dimensional morphological laplace.
  
      Parameters
      ----------
      input : array_like
          Input.
      size : int or sequence of ints, optional
          See `structure`.
      footprint : bool or ndarray, optional
          See `structure`.
      structure : structure, optional
          Either `size`, `footprint`, or the `structure` must be provided.
      output : ndarray, optional
          An output array can optionally be provided.
      mode : {'reflect','constant','nearest','mirror', 'wrap'}, optional
          The mode parameter determines how the array borders are handled.
          For 'constant' mode, values beyond borders are set to be `cval`.
          Default is 'reflect'.
      cval : scalar, optional
          Value to fill past edges of input if mode is 'constant'.
          Default is 0.0
      origin : origin, optional
          The origin parameter controls the placement of the filter.
  
      Returns
      -------
      morphological_laplace : ndarray
          Output
  
      """
      tmp1 = grey_dilation(
          input, size, footprint, structure, None, mode, cval, origin
      )
      if isinstance(output, numpy.ndarray):
          grey_erosion(
              input,
              size,
              footprint,
              structure,
              output,
              mode,
              cval,
              origin,
          )
          numpy.add(tmp1, output, output)
          numpy.subtract(output, input, output)
          return numpy.subtract(output, input, output)
      else:
          tmp2 = grey_erosion(
              input,
              size,
              footprint,
              structure,
              None,
              mode,
              cval,
              origin,
          )
          numpy.add(tmp1, tmp2, tmp2)
          numpy.subtract(tmp2, input, tmp2)
          numpy.subtract(tmp2, input, tmp2)
          return tmp2
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  import numpy
  from .None import _ni_support
  from .None import _nd_image
  from .None import filters
label_desc: Use image node_id 17 for calling a global function with example usage: morphological_laplace(input, size, footprint, structure, output, mode, cval, origin) and returns: numpy, tmp2