def get_boxes_from_txt()

in tools/waymo/waymo_eval.py [0:0]


    def get_boxes_from_txt(self, pd_set, gt_set, pd_dir, gt_dir):
        __type_list = {'unknown': 0, 'Car': 1, 'Pedestrian': 2, 'Sign': 3, 'Cyclist': 4}
        pd_bbox, pd_type, pd_frame_id, pd_score, difficulty = [], [], [], [], []
        gt_bbox, gt_type, gt_frame_id, gt_score, gt_diff = [], [], [], [], []
        f = open(gt_set, 'r')
        lines = f.readlines()
        f.close()
        #import pdb; pdb.set_trace()
        f = open(pd_set, 'r')
        pred_lines = f.readlines()
        f.close() 
        for i in range(39848):
            print('Current index:', i)
            gt_seg, gt_id = lines[i].strip().split(' ')
            gt_file_name = os.path.join(gt_dir , 'waymo2kitti', 'validation', gt_seg, 'label_0', gt_id + '.txt')
            
            file_name = pred_lines[i].strip() + '.txt' #str('{0:06}'.format(i)) + '.txt'
            file = os.path.join(pd_dir, file_name)
            if not os.path.exists(file):
                continue
        #    import pdb; pdb.set_trace()
            with open(file, 'r')as f:
                for line in f.readlines():
                    line = line.strip('\n').split()
                    #if float(line[15])==0:
                    #    continue
                    pd_frame_id.append(gt_id)
                    box = [float(line[11]), float(line[12]), float(line[13]),
                           float(line[10]), float(line[9]), float(line[8]),float(line[14])]
                    pd_bbox.append(box)
                    pd_score.append(line[15])
                    
                    pd_type.append(__type_list[line[0]])
                    
                    difficulty.append(1)
                   
            #import pdb; pdb.set_trace()

            with open(gt_file_name, 'r')as f:
                for line in f.readlines():
                    line = line.strip('\n').split()
                    if line[0]!= 'Car' or float(line[15])==0 or (float(line[4])-float(line[6]))>=0 or (float(line[5])-float(line[7]))>=0:
                        # print('=========ignore', line[0], line[15], line[4:8])
                        continue
                    gt_frame_id.append(gt_id)
                    box = [float(line[11]), float(line[12]), float(line[13]),
                           float(line[10]), float(line[9]), float(line[8]),float(line[14])]
                    gt_bbox.append(box)
                    gt_score.append('0.5')
                    # else: # gt
                    #     pd_score.append(0.5)
                    gt_type.append(__type_list[line[0]])
                    if float(line[15])>5:
                        gt_diff.append(1)
                    else:
                        gt_diff.append(2)
    #        import pdb; pdb.set_trace()

        return np.array(pd_bbox), np.array(pd_type), np.array(pd_frame_id), np.array(pd_score), np.array(difficulty),np.array(gt_bbox), np.array(gt_type), np.array(gt_frame_id), np.array(gt_score), np.array(gt_diff)