This commit is contained in:
kaiza_hikaru 2025-10-24 12:09:45 +08:00
parent d1242b2cc0
commit 699d7448b9

View File

@ -136,18 +136,19 @@ def process_autofocus_results(input_file, output_type="distance", group_size=30)
# 计算误差、方向正确性等
print_with_timestamp("开始进行图像级数据处理")
# 计算绝对/带符号误差
df_result["error_mean"] = np.abs(df_result["label"] - df_result["pred_mean"])
df_result["error_median"] = np.abs(df_result["label"] - df_result["pred_median"])
df_result["error_z_mean"] = np.abs(df_result["label"] - df_result["pred_z_mean"])
df_result["error_z_median"] = np.abs(df_result["label"] - df_result["pred_z_median"])
df_result["serror_mean"] = df_result["label"] - df_result["pred_mean"]
df_result["serror_median"] = df_result["label"] - df_result["pred_median"]
df_result["serror_z_mean"] = df_result["label"] - df_result["pred_z_mean"]
df_result["serror_z_median"] = df_result["label"] - df_result["pred_z_median"]
# 计算绝对/带符号误差景深比
df_result["dof"] = ((550.0 * df_result["rix"]) / (df_result["na"] ** 2)) + ((df_result["rix"] * 3450.0) / (df_result["mag"] * df_result["na"]))
# 计算绝对/带符号误差/景深比
if output_type == "ratio":
df_result["error_mean"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_mean"])
df_result["error_median"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_median"])
df_result["error_z_mean"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_z_mean"])
df_result["error_z_median"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_z_median"])
df_result["serror_mean"] = df_result["label"] / df_result["dof"] - df_result["pred_mean"]
df_result["serror_median"] = df_result["label"] / df_result["dof"] - df_result["pred_median"]
df_result["serror_z_mean"] = df_result["label"] / df_result["dof"] - df_result["pred_z_mean"]
df_result["serror_z_median"] = df_result["label"] / df_result["dof"] - df_result["pred_z_median"]
df_result["error_ratio_mean"] = df_result["error_mean"]
df_result["error_ratio_median"] = df_result["error_median"]
df_result["error_ratio_z_mean"] = df_result["error_z_mean"]
@ -157,6 +158,15 @@ def process_autofocus_results(input_file, output_type="distance", group_size=30)
df_result["serror_ratio_z_mean"] = df_result["serror_z_mean"]
df_result["serror_ratio_z_median"] = df_result["serror_z_median"]
else:
df_result["error_mean"] = np.abs(df_result["label"] - df_result["pred_mean"])
df_result["error_median"] = np.abs(df_result["label"] - df_result["pred_median"])
df_result["error_z_mean"] = np.abs(df_result["label"] - df_result["pred_z_mean"])
df_result["error_z_median"] = np.abs(df_result["label"] - df_result["pred_z_median"])
df_result["serror_mean"] = df_result["label"] - df_result["pred_mean"]
df_result["serror_median"] = df_result["label"] - df_result["pred_median"]
df_result["serror_z_mean"] = df_result["label"] - df_result["pred_z_mean"]
df_result["serror_z_median"] = df_result["label"] - df_result["pred_z_median"]
df_result["error_ratio_mean"] = df_result["error_mean"] / df_result["dof"]
df_result["error_ratio_median"] = df_result["error_median"] / df_result["dof"]
df_result["error_ratio_z_mean"] = df_result["error_z_mean"] / df_result["dof"]
@ -165,6 +175,7 @@ def process_autofocus_results(input_file, output_type="distance", group_size=30)
df_result["serror_ratio_median"] = df_result["serror_median"] / df_result["dof"]
df_result["serror_ratio_z_mean"] = df_result["serror_z_mean"] / df_result["dof"]
df_result["serror_ratio_z_median"] = df_result["serror_z_median"] / df_result["dof"]
# 计算方向预测正确性
df_result["direction_mean"] = (df_result['label'] * df_result['pred_mean'] >= 0).astype(int)
df_result["direction_median"] = (df_result['label'] * df_result['pred_median'] >= 0).astype(int)