code: def medfilt2d(input, kernel_size=3):
      """
      Median filter a 2-dimensional array.
  
      Apply a median filter to the `input` array using a local window-size
      given by `kernel_size` (must be odd). The array is zero-padded
      automatically.
  
      Parameters
      ----------
      input : array_like
          A 2-dimensional input array.
      kernel_size : array_like, optional
          A scalar or a list of length 2, giving the size of the
          median filter window in each dimension.  Elements of
          `kernel_size` should be odd.  If `kernel_size` is a scalar,
          then this scalar is used as the size in each dimension.
          Default is a kernel of size (3, 3).
  
      Returns
      -------
      out : ndarray
          An array the same size as input containing the median filtered
          result.
  
      See also
      --------
      scipy.ndimage.median_filter
  
      Notes
      -----
      This is faster than `medfilt` when the input dtype is ``uint8``,
      ``float32``, or ``float64``; for other types, this falls back to
      `medfilt`; you should use `scipy.ndimage.median_filter` instead as it is
      much faster.  In some situations, `scipy.ndimage.median_filter` may be
      faster than this function.
  
      """
      image = np.asarray(input)
  
      # checking dtype.type, rather than just dtype, is necessary for
      # excluding np.longdouble with MS Visual C.
      if image.dtype.type not in (np.ubyte, np.single, np.double):
          return medfilt(image, kernel_size)
  
      if kernel_size is None:
          kernel_size = [3] * 2
      kernel_size = np.asarray(kernel_size)
      if kernel_size.shape == ():
          kernel_size = np.repeat(kernel_size.item(), 2)
  
      for size in kernel_size:
          if (size % 2) != 1:
              raise ValueError(
                  "Each element of kernel_size should be odd."
              )
  
      return sigtools._medfilt2d(image, kernel_size)
  
imports: import operator
  import math
  import timeit
  from scipy.spatial import cKDTree
  from .None import sigtools, dlti
  from ._upfirdn import upfirdn, _output_len, _upfirdn_modes
  from scipy import linalg, fft
  from scipy.fft._helper import _init_nd_shape_and_axes
  from scipy._lib._util import prod
  import numpy
  from scipy.special import lambertw
  from .windows import get_window
  from ._arraytools import axis_slice, axis_reverse, odd_ext, even_ext, const_ext
  from .filter_design import cheby1, _validate_sos
  from .fir_filter_design import firwin
  from ._sosfilt import _sosfilt
  import warnings
label_desc: Use image node_id 26 for calling a global function with example usage: medfilt2d(input, kernel_size) and returns: sigtools, medfilt