"""Run the DTW baseline on a folder of per-signature CSV files.""" import argparse import json from pathlib import Path try: from experiments.common import evaluate_directory except ModuleNotFoundError: from common import evaluate_directory def main() -> None: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--data-dir", default="data/raw/mobisig") parser.add_argument("--enrollment-count", type=int, default=3) parser.add_argument("--seed", type=int, default=0) parser.add_argument("--output", type=Path) args = parser.parse_args() metrics = evaluate_directory( args.data_dir, enrollment_count=args.enrollment_count, seed=args.seed, mobisig=True ) print(f"EER: {metrics['eer']:.4f}") print(f"Threshold at approximate EER: {metrics['eer_threshold']:.4f}") if args.output: args.output.parent.mkdir(parents=True, exist_ok=True) args.output.write_text( json.dumps( { "dataset": str(args.data_dir), "enrollment_count": args.enrollment_count, "seed": args.seed, "eer": metrics["eer"], "eer_threshold": metrics["eer_threshold"], }, indent=2, ) + "\n", encoding="utf-8", ) if __name__ == "__main__": main()