Luuu / paper /convert_stats_to_latex.py
็™ฝ้นญๅ…ˆ็”Ÿ
init
abd2a81
import os.path
import fnmatch
import argparse
from lydorn_utils import python_utils
def get_args():
argparser = argparse.ArgumentParser(description=__doc__)
argparser.add_argument(
'--dirpath',
default="/home/lydorn/data/mapping_challenge_dataset/eval_runs",
type=str,
help='Path to eval directory')
args = argparser.parse_args()
return args
def convert(in_filepath, stat_names):
stats = python_utils.load_json(in_filepath)
if stats:
string = ""
for stat_name in stat_names:
string += str(round(100 * stats[stat_name], 1)) + " & "
return string[:-2] + "\\\\"
else:
print("File not found!")
return ""
def main():
args = get_args()
stat_names = ["AP", "AP_50", "AP_75", "AP_S", "AP_M", "AP_L", "AR", "AR_50", "AR_75", "AR_S", "AR_M", "AR_L"]
dirname_list = next(os.walk(args.dirpath))[1]
dirname_list = sorted(dirname_list)
run_file_latex_list = [("Run name", "filename", "Latex")]
run_max_len = 0
file_max_len = 0
for dirname in dirname_list:
dirpath = os.path.join(args.dirpath, dirname)
in_filename_list = fnmatch.filter(os.listdir(dirpath), "*.stats.*.annotation.*.json")
in_filename_list = sorted(in_filename_list)
for in_filename in in_filename_list:
in_filepath = os.path.join(dirpath, in_filename)
latex = convert(in_filepath, stat_names)
run = dirname[:-len(" | 0000-00-00 00:00:00")]
run_file_latex_list.append((run, in_filename, latex))
run_max_len = max(run_max_len, len(run))
file_max_len = max(file_max_len, len(in_filename))
# print
for run, file, latex in run_file_latex_list:
print(run.ljust(run_max_len, ' '), file.ljust(file_max_len, ' '), latex)
if __name__ == '__main__':
main()