diff --git a/ci/basop-pages/create_summary_page.py b/ci/basop-pages/create_summary_page.py index f8ddb00ae8fb23f38bc55315e1dae05fd7d6e024..1c2b46480213f24913e7288aa2659a828f1ec1e6 100644 --- a/ci/basop-pages/create_summary_page.py +++ b/ci/basop-pages/create_summary_page.py @@ -1,8 +1,16 @@ import argparse +from typing import List from create_report_pages import SUBPAGE_TMPL_CSS, FORMATS -MEASURES = ["MLD","DIFF","SSNR","ODG","DELTA_ODG"] + +title = { + "MLD": "Maximum MLD across channels", + "DIFF": "Maximim absolute difference across channels", + "SSNR": "Minimum SSNR across channels", + "ODG": "Minimum PEAQ ODG across channels", + "DELTA_ODG": "PEAQ ODG using binauralized input and output", +} SUMMARY_PAGE_TMPL_HTML = """ @@ -12,12 +20,14 @@ SUMMARY_PAGE_TMPL_HTML = """ """ + def create_summary_page( html_out, id_current: int, job_name: str, + measures: List[str], ): - images = histogram_summary(job_name) + images = histogram_summary(job_name, measures) new_summary_page = SUBPAGE_TMPL_CSS + SUMMARY_PAGE_TMPL_HTML.format( id_current=id_current, @@ -27,13 +37,15 @@ def create_summary_page( with open(html_out, "w") as f: f.write(new_summary_page) + def histogram_summary( - job_name:str, - ): + job_name: str, + measures: List[str], +): images = "
" for x in FORMATS]
)
@@ -41,15 +53,26 @@ def histogram_summary(
)
return images
+
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("html_out")
parser.add_argument("id_current", type=int)
parser.add_argument("job_name")
+ parser.add_argument(
+ "--measures",
+ nargs="+",
+ help=f"List of measures to include in summary. Allowed values: {' '.join(title.keys())}",
+ default=["MLD", "DIFF", "SSNR", "ODG"],
+ )
args = parser.parse_args()
+ if not all([m in title for m in args.measures]):
+ raise ValueError(f"Invalid list of measures: {args.measures}, expected one of {' '.join(title.keys())}")
+
create_summary_page(
args.html_out,
args.id_current,
args.job_name,
+ args.measures,
)