docs: def diff(img1, img2, x1y1, x2y2):
      """Compare two images with given alignments.
  
      Returns a difference map.
  
      ``x1y1``: a tuple ``(x1, y1)`` to specify the top-left corner of the
      aligned area with respect to ``img1``.
  
      ``x2y2``: a tuple ``(x2, y2)`` to specify the top-left corner of
      the aligned area with respect to ``img2``.
  
      Either ``x1`` or ``x2`` must be 0, depending on whether ``img1`` is
      narrower or wider than ``img2``.  Both must be 0 if the two images
      have the same width.
  
      Either ``y1`` or ``y2`` must be 0, depending on whether ``img2`` is
      shorter or taller than ``img2``.  Both must be 0 if the two images
      have the same height.
  
      Suppose ``img1`` is bigger than ``img2``::
  
          +----------------------------------+
          | img1     ^                       |
          |          | y1                    |
          |          v                       |
          |      +------------------------+  |
          |      | img2                   |  |
          |<---->|                        |  |
          |  x1  |                        |  |
          |      +------------------------+  |
          +----------------------------------+
  
      In this case ``x2`` and ``y2`` are zero, ``0 <= x1 <= (w1 - w2)``, and
      ``0 <= y1 <= (h1 - h2)``, where ``(w1, h1) == img1.size`` and
      ``(w2, h2) == img2.size``.
  
      If ``img2`` is smaller than ``img1``, just swap the labels in the
      description above.
  
      Suppose ``img1`` is wider but shorter than ``img2``::
  
                 +------------------------+
                 | img2     ^             |
                 |          | y2          |
                 |          v             |
          +------|------------------------|--+
          | img1 |                        |  |
          |      |                        |  |
          |<---->|                        |  |
          |  x1  |                        |  |
          |      |                        |  |
          +------|------------------------|--+
                 +------------------------+
  
      In this case ``x2`` and ``y1`` are zero, ``0 <= x1 <= (w1 - w2)``, and
      ``0 <= y2 <= (h2 - h1)``, where ``(w1, h1) == img1.size`` and
      ``(w2, h2) == img2.size``.
  
      If ``img1`` is narrower but taller than ``img2``, just swap the labels
      in the description above.
      """
      x1, y1 = x1y1
      x2, y2 = x2y2
      w1, h1 = img1.size
      w2, h2 = img2.size
      w, h = min(w1, w2), min(h1, h2)
      diff = ImageChops.difference(img1.crop((x1, y1, x1+w, y1+h)),
                                   img2.crop((x2, y2, x2+w, y2+h)))
      diff = diff.convert('L')
      return diff