karthikeya1212's picture
Upload 115 files
cda88e0 verified
import numpy as np
import json
import pdb
import os
from os.path import join
import html
from tqdm import tqdm
import argparse
import pandas as pd
import matplotlib.pyplot as plt
def get_files(folder):
return [join(folder, f) for f in os.listdir(folder) if os.path.isfile(join(folder, f))]
def get_folders(folder):
return [join(folder, f) for f in os.listdir(folder) if os.path.isdir(join(folder, f))]
vis_img_folder = 'imgs'
vis_eval_img_folder = 'eval_imgs'
def eval_gen(webpage, output_folder, is_pattern=True):
def get_file(files, key_world):
mitsuba_shadow = ''
for f in files:
if f.find(key_world) != -1:
mitsuba_shadow = f
break
return mitsuba_shadow
def flip_shadow(img_file):
dirname, fname = os.path.dirname(img_file), os.path.splitext(os.path.basename(img_file))[0]
if img_file == '':
print('find one zero')
mts_shadow_np = np.zeros((256,256,3))
else:
mts_shadow_np = plt.imread(img_file)
save_path = join(dirname, fname + '_flip.png')
plt.imsave(save_path, 1.0-mts_shadow_np)
return save_path
img_folders = join(output_folder, 'imgs')
folders = get_folders(img_folders)
print("There are {} folders".format(len(folders)))
for model in tqdm(folders):
cur_model_relative = join(vis_img_folder, os.path.basename(model))
evl_cur_model_relative = join(vis_eval_img_folder, os.path.basename(model))
if is_pattern:
ibl_relative = join(cur_model_relative, 'pattern')
else:
ibl_relative = join(cur_model_relative, 'real')
# import pdb; pdb.set_trace()
ibl_folders = get_folders(ibl_relative)
ibl_folders.sort()
for ibl in ibl_folders:
cur_ibl_relative = join(ibl_relative,os.path.basename(ibl))
gt_files = get_files(cur_ibl_relative)
mts_shadow = get_file(gt_files, '_shadow.png')
ibl_name = os.path.basename(ibl)
ibl = join(cur_ibl_relative, ibl_name + '.png')
mitsuba_shadow = flip_shadow(mts_shadow)
cur_eval_folder = join(evl_cur_model_relative, join('pattern', ibl_name))
net_predict = get_file(get_files(cur_eval_folder), 'predict.png')
# mitsuba_final = join(cur_ibl_relative, 'composite.png')
# pred_final = join(cur_ibl_relative, 'composite_pred.png')
# print(ibl_name)
ims, txts, links = [ibl,mitsuba_shadow, net_predict], ['ibl','mitsuba', 'predict'], [ibl,mitsuba_shadow, net_predict]
webpage.add_images(ims, txts, links)
vis_pattern_folder = '/home/ysheng/Documents/vis_pattern'
vis_real_folder = '/home/ysheng/Documents/vis_real'
def vis_files_in_folder():
folder = '/home/ysheng/Documents/vis_models'
webpage = html.HTML(folder, 'models', reflesh=1)
img_folders = join(folder, 'imgs')
files = get_files(img_folders)
print("There are {} files".format(len(files)))
prefix_set = set()
for cur_file in tqdm(files):
cur_name = os.path.splitext(os.path.basename(cur_file))[0]
prefix_set.add(cur_name[:-3])
print('there are {} prefixs'.format(len(prefix_set)))
prefix_set = list(prefix_set)
prefix_set.sort()
# import pdb; pdb.set_trace()
relative_folder = './imgs'
for i, prefix in enumerate(prefix_set):
ims = [join(relative_folder, prefix + '{:03d}.png'.format(i)) for i in range(len(files) // len(prefix_set))]
txts = [prefix + '{:03d}'.format(i) for i in range(len(files) // len(prefix_set))]
links = ims
webpage.add_images(ims, txts, links)
webpage.save()
print('finished')
def vis_files(df_file):
""" input is a pandas dataframe
format: path, path,..., name,name, ...
"""
folder = '.'
webpage = html.HTML(folder, 'benchmark', reflesh=1)
relative_folder = './imgs'
# for i, prefix in enumerate(prefix_set):
# ims = [join(relative_folder, prefix + '{:03d}.png'.format(i)) for i in range(len(files) // len(prefix_set))]
# txts = [prefix + '{:03d}'.format(i) for i in range(len(files) // len(prefix_set))]
# links = ims
# webpage.add_images(ims, txts, links)
df = pd.read_csv(df_file)
for i,v in tqdm(df.iterrows(), total=len(df)):
img_range = len(v)//2+1
imgs = [join(relative_folder,v[i]) for i in range(1,img_range)]
txts = [v[i] for i in range(img_range, len(v))]
links = imgs
webpage.add_images(imgs, txts, links)
webpage.save()
print('finished')
if __name__ == "__main__":
vis_files('/home/ysheng/Documents/paper_project/adobe/soft_shadow/benchmark_results/html.csv')