Spaces:
Running on Zero
Running on Zero
| import sys | |
| import os.path as osp | |
| sys.path.append(osp.dirname(osp.dirname(osp.abspath(__file__)))) | |
| from tqdm import tqdm | |
| from utils.io_utils import * | |
| from utils.cv import * | |
| from utils.visualize import * | |
| def deduplate_execlist(exec_list): | |
| uniquedict = {} | |
| for p in exec_list: | |
| k = osp.basename(p).split('NONE')[0] | |
| if k not in uniquedict: | |
| uniquedict[k] = {'flist': [], 'ids': []} | |
| uniquedict[k]['flist'].append(p) | |
| uniquedict[k]['ids'].append(exec_list.index(p)) | |
| unique_list = [] | |
| for k, v in uniquedict.items(): | |
| flist = uniquedict[k]['flist'] | |
| unique_list.append(flist[len(flist) // 2]) | |
| return unique_list | |
| def vis_parts(srcd: str, tag_list, nmax_samples=12, cols=4): | |
| partsd = osp.join(srcd, 'parts') | |
| rst_list = [] | |
| nparts = 0 | |
| for tag in tag_list: | |
| p = osp.join(partsd, tag + '_vis.png') | |
| if not osp.exists(p): | |
| continue | |
| img = Image.open(p) | |
| pil_draw_text(img, tag, point=(0, 0), font_size=128, stroke_width=12) | |
| rst_list.append(img) | |
| if len(rst_list) >= nmax_samples: | |
| vis = imglist2imgrid(rst_list, cols=cols) | |
| Image.fromarray(vis).save(osp.join(srcd, f'part_vis{nparts}.jpg'), q=97) | |
| rst_list = [] | |
| nparts += 1 | |
| if len(rst_list) > 0: | |
| vis = imglist2imgrid(rst_list, cols=cols) | |
| Image.fromarray(vis).save(osp.join(srcd, f'part_vis{nparts}.jpg'), q=97) | |
| src_list = ['workspace/datasets/l2d_eval_oa/l2d_eval2_output0', 'workspace/datasets/l2d_eval2_output_woattn'] | |
| src_list = ['workspace/datasets/testcaseall_output', 'workspace/datasets/testcaseall_output_woattn'] | |
| src_list = ['workspace/datasets/l2d_eval_oa/l2d_eval2_output0', 'workspace/datasets/l2deval_sam3_ouput'] | |
| src_list = ['workspace/datasets/testcaseall_output', 'workspace/datasets/l2deval_sam3_ouput'] | |
| dedupliacte = False | |
| save_dir = 'tmp/cmp_part_extr' | |
| src = src_list[0] | |
| exec_list = [osp.join(src, d) for d in os.listdir(src)] | |
| # if osp.isfile(src): | |
| # exec_list = load_exec_list('workspace/datasets/eval_chunk3.txt') | |
| # else: | |
| # exec_list = find_all_imgs_recursive(src) | |
| if dedupliacte: | |
| exec_list = deduplate_execlist(exec_list) | |
| sz = (448, 448) | |
| for srcp in tqdm(exec_list): | |
| src_name = osp.basename(srcp) | |
| flist = find_all_imgs(exec_list[0]) | |
| sd = osp.join(save_dir, src_name) | |
| os.makedirs(sd, exist_ok=True) | |
| for filename in flist: | |
| if '_depth' in filename: | |
| continue | |
| row = [] | |
| # if 'reconstruction' in filename: | |
| p = osp.join(src_list[0], src_name, 'src_img.png') | |
| img = pil_ensure_rgb(p) | |
| img = img.resize(sz, resample=Image.Resampling.LANCZOS) | |
| img = np.array(img) | |
| row.append(img) | |
| for srcd in src_list: | |
| p = osp.join(srcd, src_name, filename) | |
| if osp.exists(p): | |
| img = pil_ensure_rgb(p) | |
| img = img.resize(sz, resample=Image.Resampling.LANCZOS) | |
| img = np.array(img) | |
| else: | |
| img = np.full((sz[1], sz[0], 3), 255, np.uint8) | |
| row.append(img) | |
| row = np.concatenate(row, axis=1) | |
| savep = osp.join(sd, filename) | |
| save_tmp_img(row, savep) | |
| pass |