code: def match_locations(img0, img1, coords0, coords1, radius=5, sigma=3):
      """Match image locations using SSD minimization.
  
      Areas from `img0` are matched with areas from `img1`. These areas
      are defined as patches located around pixels with Gaussian
      weights.
  
      Parameters
      ----------
      img0, img1 : 2D array
          Input images.
      coords0 : (2, m) array_like
          Centers of the reference patches in `img0`.
      coords1 : (2, n) array_like
          Centers of the candidate patches in `img1`.
      radius : int
          Radius of the considered patches.
      sigma : float
          Standard deviation of the Gaussian kernel centered over the patches.
  
      Returns
      -------
      match_coords: (2, m) array
          The points in `coords1` that are the closest corresponding matches to
          those in `coords0` as determined by the (Gaussian weighted) sum of
          squared differences between patches surrounding each point.
      """
      y, x = np.mgrid[-radius : radius + 1, -radius : radius + 1]
      weights = np.exp(-0.5 * (x**2 + y**2) / sigma**2)
      weights /= 2 * np.pi * sigma * sigma
  
      match_list = []
      for r0, c0 in coords0:
          roi0 = img0[
              r0 - radius : r0 + radius + 1,
              c0 - radius : c0 + radius + 1,
          ]
          roi1_list = [
              img1[
                  r1 - radius : r1 + radius + 1,
                  c1 - radius : c1 + radius + 1,
              ]
              for r1, c1 in coords1
          ]
          # sum of squared differences
          ssd_list = [
              np.sum(weights * (roi0 - roi1) ** 2) for roi1 in roi1_list
          ]
          match_list.append(coords1[np.argmin(ssd_list)])
  
      return np.array(match_list)
  
label_desc: Use image node_id 1 for calling a global function with example usage: match_locations(img0, img1, coords0, coords1, radius, sigma) and returns: np