code: def _get_chips_records(self, rec, chips, scale_i):
      cur_img_chip_records = []
      ori_im_h = rec["h"]
      ori_im_w = rec["w"]
      im_file = rec["im_file"]
      ori_im_id = rec["im_id"]
      for id, chip in enumerate(chips):
          chip_rec = {}
          x1, y1, x2, y2 = chip
          chip_h = y2 - y1
          chip_w = x2 - x1
          chip_rec["im_file"] = im_file
          chip_rec["im_id"] = self._global_chip_id
          chip_rec["h"] = chip_h
          chip_rec["w"] = chip_w
          chip_rec["chip"] = chip
          chip_rec["ori_im_h"] = ori_im_h
          chip_rec["ori_im_w"] = ori_im_w
          chip_rec["scale_i"] = scale_i
  
          self._global_chip_id2img_id[self._global_chip_id] = int(
              ori_im_id
          )
          self._global_chip_id += 1
          cur_img_chip_records.append(chip_rec)
  
      return cur_img_chip_records
  
imports: import copy
  import math
  import random
  import numpy
  from copy import deepcopy
  from typing import List, Tuple
  from collections import defaultdict
  from .chip_box_utils import nms, transform_chip_boxes2image_boxes
  from .chip_box_utils import find_chips_to_cover_overlaped_boxes
  from .chip_box_utils import transform_chip_box
  from .chip_box_utils import intersection_over_box
label_desc: Use image node_id 20 for calling the AnnoCropper obj's underlying member method code with example usage: obj._get_chips_records(rec, chips, scale_i) and returns: cur_img_chip_records