Unverified Commit 94cbb18a authored by norvell's avatar norvell
Browse files

Fixes for MIN_ODG and MIN_SSNR

parent 13845e01
Loading
Loading
Loading
Loading
+25 −20
Original line number Diff line number Diff line
@@ -25,9 +25,9 @@ def read_csv_files(root_dir):


def parse_csv_data(csv_data):
    """keep 'testcase', 'format', 'MLD', 'MAX_ABS_DIFF'  and add
    """keep 'testcase', 'format', 'MLD', 'MAX_ABS_DIFF', 'MIN_ODG', 'MIN_SSNR'  and add
    'date' column."""
    cols_to_keep = ["testcase", "format", "MLD", "MAX_ABS_DIFF"]
    cols_to_keep = ["testcase", "format", "MLD", "MAX_ABS_DIFF", "MIN_ODG", "MIN_SSNR"]
    parsed_data = {}
    for key, df in csv_data.items():
        cols = [col for col in cols_to_keep if col in df.columns]
@@ -50,7 +50,7 @@ def plot_data(df, args):

    # Convert 'date' to datetime
    df["date"] = pd.to_datetime(df["date"], errors="coerce")
    df["MLD"] = pd.to_numeric(df[measure], errors="coerce")
    df[measure] = pd.to_numeric(df[measure], errors="coerce")

    # Filter out rows older than "days"
    cutoff = df["date"].max() - pd.Timedelta(days=days)
@@ -94,22 +94,27 @@ def plot_data(df, args):
        row = i // 2 + 1
        col = i % 2 + 1

        data_mld = max[max["format"] == fmt].sort_values("date")
        if "MIN" in measure:
            data = min[min["format"] == fmt].sort_values("date")
            maxmin_str = "Min"
        else:    
            data = max[max["format"] == fmt].sort_values("date")
            maxmin_str = "Max"

        # Add max measure to plots
        fig.add_trace(
            go.Scatter(
                x=data_mld["date"],
                y=data_mld[measure],
                x=data["date"],
                y=data[measure],
                mode="lines+markers",
                name=f"Max {measure}",
                name=f"{maxmin_str} {measure}",
                hovertext=[
                    f"Testcase: {tc}<br>Max {measure}: {mld:.4f}"
                    f"Testcase: {tc}<br>{maxmin_str} {measure}: {value:.4f}"
                    f"<br>Date: {date.date()}"
                    for tc, mld, date in zip(
                        data_mld["testcase"],
                        data_mld[measure],
                        data_mld["date"],
                    for tc, value, date in zip(
                        data["testcase"],
                        data[measure],
                        data["date"],
                    )
                ],
                hoverinfo="text",
@@ -120,20 +125,20 @@ def plot_data(df, args):
            col=col,
        )

        data_mld = mean[mean["format"] == fmt].sort_values("date")
        data = mean[mean["format"] == fmt].sort_values("date")

        # Add mean measure to plots
        fig.add_trace(
            go.Scatter(
                x=data_mld["date"],
                y=data_mld["mean"],
                x=data["date"],
                y=data["mean"],
                mode="lines+markers",
                name=f"Mean {measure}",
                hovertext=[
                    f"Mean {measure}: {mld:.4f}" f"<br>Date: {date.date()}"
                    for mld, date in zip(
                        data_mld["mean"],
                        data_mld["date"],
                    f"Mean {measure}: {value:.4f}" f"<br>Date: {date.date()}"
                    for value, date in zip(
                        data["mean"],
                        data["date"],
                    )
                ],
                hoverinfo="text",
@@ -178,7 +183,7 @@ if __name__ == "__main__":
    parser.add_argument(
        "--measure",
        type=str,
        help="Measure for analysis: MLD, MAX_ABS_DIFF, MIN_ODG, default: MLD",
        help="Measure for analysis: MLD, MAX_ABS_DIFF, MIN_ODG, MIN_SSNR, default: MLD",
        default="MLD",
    )
    parser.add_argument(