code: def _dct(x, type, n=None, axis=-1, overwrite_x=False, normalize=None):
      """
      Return Discrete Cosine Transform of arbitrary type sequence x.
  
      Parameters
      ----------
      x : array_like
          input array.
      n : int, optional
          Length of the transform.  If ``n < x.shape[axis]``, `x` is
          truncated.  If ``n > x.shape[axis]``, `x` is zero-padded. The
          default results in ``n = x.shape[axis]``.
      axis : int, optional
          Axis along which the dct is computed; the default is over the
          last axis (i.e., ``axis=-1``).
      overwrite_x : bool, optional
          If True, the contents of `x` can be destroyed; the default is False.
  
      Returns
      -------
      z : ndarray
  
      """
      x0, n, copy_made = __fix_shape(x, n, axis, "DCT")
      if type == 1 and n < 2:
          raise ValueError("DCT-I is not defined for size < 2")
      overwrite_x = overwrite_x or copy_made
      nm = _get_norm_mode(normalize)
      if np.iscomplexobj(x0):
          return _raw_dct(
              x0.real, type, n, axis, nm, overwrite_x
          ) + 1j * _raw_dct(x0.imag, type, n, axis, nm, overwrite_x)
      else:
          return _raw_dct(x0, type, n, axis, nm, overwrite_x)
  
imports: from __future__ import division, print_function, absolute_import
  import numpy
  from scipy.fftpack import _fftpack
  from scipy.fftpack.basic import _datacopied, _fix_shape, _asfarray
  from scipy.fftpack.helper import _init_nd_shape_and_axes
  import atexit
label_desc: Use image node_id 13 for calling a global function with example usage: _dct(x, type, n, axis, overwrite_x, normalize) and returns: unknown, _raw_dct