code: def bounds(window, transform, height=0, width=0):
      """Get the spatial bounds of a window.
  
      Parameters
      ----------
      window: Window
          The input window.
      transform: Affine
          an affine transform matrix.
  
      Returns
      -------
      left, bottom, right, top: float
          A tuple of spatial coordinate bounding values.
      """
      window = evaluate(window, height=height, width=width)
  
      row_min = window.row_off
      row_max = row_min + window.height
      col_min = window.col_off
      col_max = col_min + window.width
  
      left, bottom = transform * (col_min, row_max)
      right, top = transform * (col_max, row_min)
      return left, bottom, right, top
  
imports: import collections
  from collections.abc import Iterable
  import functools
  import math
  import warnings
  from affine import Affine
  import attr
  import numpy
  from rasterio.errors import WindowError, RasterioDeprecationWarning
  from rasterio.transform import rowcol, guard_transform
label_desc: Use image node_id 13 for calling a global function with example usage: bounds(window, transform, height, width) and returns: left,  bottom,  right,  top