Loading scripts/create_histograms.py +43 −14 Original line number Diff line number Diff line Loading @@ -2,9 +2,11 @@ import argparse import math import pathlib import pandas as pd import numpy as np import matplotlib.pyplot as plt from typing import List BINS_4_COLS = { Loading @@ -18,22 +20,18 @@ BINS_4_COLS = { MEASURES_TO_PLOT = ["MAX_ABS_DIFF", "MLD", "MIN_SSNR", "MIN_ODG"] if __name__ == "__main__": parser = argparse.ArgumentParser( description="Parses a CSV report and creates a summary report." ) parser.add_argument( "csv_report", type=str, help="CSV report file of test cases, e.g. report.csv", ) args = parser.parse_args() df = pd.read_csv(args.csv_report) measures = MEASURES_TO_PLOT def create_histograms( df: pd.DataFrame, measures: List[str], output_folder: pathlib.Path, display_only: bool, ): formats = df["format"].unique() categories = df["category"].unique() if not display_only: output_folder.mkdir(exist_ok=True, parents=True) for measure in measures: bins = BINS_4_COLS[measure] x = [f"{x}" for x in bins] + ["", "ERROR"] Loading Loading @@ -74,4 +72,35 @@ if __name__ == "__main__": fig.set_figwidth(6) plt.tight_layout() if not display_only: image_file = f"histogram_{measure}_{fmt}.png" image_path = output_folder.joinpath(image_file) plt.savefig(image_path) if display_only: plt.show() if __name__ == "__main__": parser = argparse.ArgumentParser( description="Parses a csv file generated by parse_xml_report and creates histograms for the given measures." ) parser.add_argument( "csv_report", type=str, help="CSV report file as generated by parse_xml_report.py", ) parser.add_argument( "output_folder", type=pathlib.Path, help="Output folder for writing the " ) parser.add_argument( "--display-only", action="store_true", help="Do not write the output files, but display the graphs instead.", ) args = parser.parse_args() df = pd.read_csv(args.csv_report) measures = MEASURES_TO_PLOT create_histograms(df, measures, args.output_folder, args.display_only) Loading
scripts/create_histograms.py +43 −14 Original line number Diff line number Diff line Loading @@ -2,9 +2,11 @@ import argparse import math import pathlib import pandas as pd import numpy as np import matplotlib.pyplot as plt from typing import List BINS_4_COLS = { Loading @@ -18,22 +20,18 @@ BINS_4_COLS = { MEASURES_TO_PLOT = ["MAX_ABS_DIFF", "MLD", "MIN_SSNR", "MIN_ODG"] if __name__ == "__main__": parser = argparse.ArgumentParser( description="Parses a CSV report and creates a summary report." ) parser.add_argument( "csv_report", type=str, help="CSV report file of test cases, e.g. report.csv", ) args = parser.parse_args() df = pd.read_csv(args.csv_report) measures = MEASURES_TO_PLOT def create_histograms( df: pd.DataFrame, measures: List[str], output_folder: pathlib.Path, display_only: bool, ): formats = df["format"].unique() categories = df["category"].unique() if not display_only: output_folder.mkdir(exist_ok=True, parents=True) for measure in measures: bins = BINS_4_COLS[measure] x = [f"{x}" for x in bins] + ["", "ERROR"] Loading Loading @@ -74,4 +72,35 @@ if __name__ == "__main__": fig.set_figwidth(6) plt.tight_layout() if not display_only: image_file = f"histogram_{measure}_{fmt}.png" image_path = output_folder.joinpath(image_file) plt.savefig(image_path) if display_only: plt.show() if __name__ == "__main__": parser = argparse.ArgumentParser( description="Parses a csv file generated by parse_xml_report and creates histograms for the given measures." ) parser.add_argument( "csv_report", type=str, help="CSV report file as generated by parse_xml_report.py", ) parser.add_argument( "output_folder", type=pathlib.Path, help="Output folder for writing the " ) parser.add_argument( "--display-only", action="store_true", help="Do not write the output files, but display the graphs instead.", ) args = parser.parse_args() df = pd.read_csv(args.csv_report) measures = MEASURES_TO_PLOT create_histograms(df, measures, args.output_folder, args.display_only)