enabled file sorting based on subject and match strength

This commit is contained in:
Mikayla Dobson
2023-01-06 20:21:50 -06:00
parent 9510e36e45
commit 64358ce096
3 changed files with 88 additions and 42 deletions

47
formatresult.py Normal file
View File

@@ -0,0 +1,47 @@
import json, os, shutil
def format_result(src_path, json_path):
insertions_by_label = {}
weak_results = 0
total_count = 0
with open(json_path) as results:
contents = json.load(results)
for qualifier in ['strong', 'moderate', 'fair', 'weak']:
if not os.path.exists("./predictions/" + qualifier):
os.makedirs('./predictions/' + qualifier)
for line in contents:
img_path = src_path + line['path']
prediction = line['prediction']
for section in prediction:
total_count += 1
guess_label = section[0][1]
match_strength = 'weak/'
if float(section[0][2]) > 0.9:
match_strength = 'strong/'
elif float(section[0][2]) > 0.75:
match_strength = 'moderate/'
elif float(section[0][2]) > 0.5:
match_strength = 'fair/'
elif match_strength == 'weak/':
weak_results += 1
if not guess_label in insertions_by_label:
insertions_by_label[guess_label] = 0
if (not os.path.exists("./predictions/" + match_strength + guess_label)):
os.makedirs("./predictions/" + match_strength + guess_label)
if (not os.path.exists('./predictions/' + match_strength + guess_label + '/' + img_path)):
shutil.copy(img_path, "./predictions/" + match_strength + guess_label)
insertions_by_label[guess_label] = insertions_by_label[guess_label] + 1
print(str(weak_results) + " weak result(s) of a total " + str(total_count) + " input(s)\n")
print("By subject:\n\n")
for k, v in insertions_by_label.items():
print(k + ": " + str(v) + " file(s) found")