parameters: (pos_list, f_direction)
return_statement: return sorted_list
docstring: f_direction: h x w x 2
      pos_list: [[id, y, x], [id, y, x], [id, y, x] ...]
docstring_summary: f_direction: h x w x 2
      pos_list: [[id, y, x], [id, y, x], [id, y, x] ...]
docstring_tokens: f_direction : h x w x 2 pos_list : [[ id y x ] [ id y x ] [ id y x ] ... ]
function: def sort_by_direction_with_image_id_deprecated(pos_list, f_direction):
      """
      f_direction: h x w x 2
      pos_list: [[id, y, x], [id, y, x], [id, y, x] ...]
      """
      pos_list_full = np.array(pos_list).reshape(-1, 3)
      pos_list = pos_list_full[:, 1:]
      point_direction = f_direction[pos_list[:, 0], pos_list[:, 1]]  # x, y
      point_direction = point_direction[:, ::-1]  # x, y -> y, x
      average_direction = np.mean(point_direction, axis=0, keepdims=True)
      pos_proj_leng = np.sum(pos_list * average_direction, axis=1)
      sorted_list = pos_list_full[np.argsort(pos_proj_leng)].tolist()
      return sorted_list
function_tokens: def sort_by_direction_with_image_id_deprecated ( pos_list , f_direction ) : pos_list_full = np . array ( pos_list ) . reshape ( - 1 , 3 ) pos_list = pos_list_full [ : , 1 : ] point_direction = f_direction [ pos_list [ : , 0 ] , pos_list [ : , 1 ] ] # x, y point_direction = point_direction [ : , : : - 1 ] # x, y -> y, x average_direction = np . mean ( point_direction , axis = 0 , keepdims = True ) pos_proj_leng = np . sum ( pos_list * average_direction , axis = 1 ) sorted_list = pos_list_full [ np . argsort ( pos_proj_leng ) ] . tolist ( ) return sorted_list