docs: def match_positions(shape, list_of_coords):
      """ In cases where we have multiple matches, each highlighted by a region of coordinates,
          we need to separate matches, and find mean of each to return as match position
      """
      match_array = np.zeros(shape)
      try:
          # excpetion hit on this line if nothing in list_of_coords- i.e. no matches
          match_array[list_of_coords[:,0],list_of_coords[:,1]] = 1
          labelled = label(match_array)
          objects = find_objects(labelled[0])
          coords = [{'x':(slice_x.start, slice_x.stop),'y':(slice_y.start, slice_y.stop)} for (slice_y,slice_x) in objects]
          final_positions = [(int(np.mean(coords[i]['x'])),int(np.mean(coords[i]['y']))) for i in range(len(coords))]
          return final_positions
      except IndexError:
          print 'no matches found'
          # this error occurs if no matches are found
          return []