code: def _intersection(w1, w2):
      """Compute intersection of window 1 and window 2"""
      coeffs = _compute_intersection(w1, w2)
      if coeffs[2] > 0 and coeffs[3] > 0:
          return Window(*coeffs)
      else:
          raise WindowError(f"Intersection is empty {w1} {w2}")
  
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 9 for calling a global function with example usage: _intersection(w1, w2) and returns: Window