Spaces:
Running
Running
import os | |
import numpy as np | |
import subprocess | |
# def ratio(losses, thresholds=[1,2,3,4,5,6,7,8,9,10]): | |
def ratio(losses, thresholds=[5,10]): | |
return [ | |
'{:.3f}'.format(np.mean(losses < threshold)) | |
for threshold in thresholds | |
] | |
if __name__ == '__main__': | |
scene = 'Indoor' | |
dir_base = 'result_errors/Indoor/' | |
save_pt = 'resultfinal_errors/Indoor/' | |
subprocess.check_output(['mkdir', '-p', save_pt]) | |
with open(save_pt +'ratio_methods_'+scene+'.txt','w') as f: | |
f.write('5deg 10deg'+'\n') | |
pair_list = os.listdir(dir_base) | |
enhancer = os.listdir(dir_base+'/pair9/') | |
for method in enhancer: | |
pose_error_list = sorted(os.listdir(dir_base+'/pair9/'+method)) | |
for pose_error in pose_error_list: | |
error_array = np.expand_dims(np.zeros((6, 8)),axis=2) | |
for pair in pair_list: | |
try: | |
error = np.expand_dims(np.load(dir_base+'/'+pair+'/'+method+'/'+pose_error),axis=2) | |
except: | |
print('error in', dir_base+'/'+pair+'/'+method+'/'+pose_error) | |
continue | |
error_array = np.concatenate((error_array,error),axis=2) | |
ratio_result = ratio(error_array[:,:,1::].flatten()) | |
f.write(method + '_' + pose_error[11:-4] +' '+' '.join([str(i) for i in ratio_result])+"\n") | |
scene = 'Outdoor' | |
dir_base = 'result_errors/Outdoor/' | |
save_pt = 'resultfinal_errors/Outdoor/' | |
subprocess.check_output(['mkdir', '-p', save_pt]) | |
with open(save_pt +'ratio_methods_'+scene+'.txt','w') as f: | |
f.write('5deg 10deg'+'\n') | |
pair_list = os.listdir(dir_base) | |
enhancer = os.listdir(dir_base+'/pair9/') | |
for method in enhancer: | |
pose_error_list = sorted(os.listdir(dir_base+'/pair9/'+method)) | |
for pose_error in pose_error_list: | |
error_array = np.expand_dims(np.zeros((6, 8)),axis=2) | |
for pair in pair_list: | |
error = np.expand_dims(np.load(dir_base+'/'+pair+'/'+method+'/'+pose_error),axis=2) | |
error_array = np.concatenate((error_array,error),axis=2) | |
ratio_result = ratio(error_array[:,:,1::].flatten()) | |
f.write(method + '_' + pose_error[11:-4] +' '+' '.join([str(i) for i in ratio_result])+"\n") | |