code: def kaiser_window(
      window_length: int,
      periodic: bool = True,
      beta: float = 12.0,
      *,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Compute the Kaiser window with window length window_length and shape
      beta.
  
      Parameters
      ----------
      window_length
          an int defining the length of the window.
      periodic
          If True, returns a periodic window suitable for use in spectral analysis.
          If False, returns a symmetric window suitable for use in filter design.
      beta
          a float used as shape parameter for the window.
      dtype
          data type of the returned array.
      out
          optional output array, for writing the result to.
  
      Returns
      -------
      ret
          The array containing the window.
  
      Examples
      --------
      >>> ivy.kaiser_window(5)
      ivy.array([5.2773e-05, 1.0172e-01, 7.9294e-01, 7.9294e-01, 1.0172e-01]])
      >>> ivy.kaiser_window(5, True, 5)
      ivy.array([0.0367, 0.4149, 0.9138, 0.9138, 0.4149])
      >>> ivy.kaiser_window(5, False, 5)
      ivy.array([0.0367, 0.5529, 1.0000, 0.5529, 0.0367])
      """
      return ivy.current_backend().kaiser_window(
          window_length, periodic, beta, dtype=dtype, out=out
      )
  
imports: from typing import Union, Tuple, Optional, Sequence, Iterable, Generator
  import warnings
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
  from ivy.func_wrapper import outputs_to_ivy_arrays, handle_nestable, to_native_arrays_and_back, handle_out_argument, infer_dtype, handle_array_like_without_promotion, inputs_to_ivy_arrays, handle_device, handle_backend_invalid, handle_array_function
label_desc: Use image node_id 3 for calling a global function with example usage: kaiser_window(window_length, periodic, beta) and returns: ivy