Coverage for orchestr_ant_ion / yolo / cli.py: 0%
23 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-19 08:36 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-19 08:36 +0000
1"""CLI argument parsing for the YOLO monitor."""
3from __future__ import annotations
5import argparse
8def parse_args(argv: list[str] | None = None) -> argparse.Namespace:
9 """Parse command line arguments."""
10 parser = argparse.ArgumentParser(
11 description="YOLOv10 Object Detection with System Monitoring",
12 formatter_class=argparse.RawDescriptionHelpFormatter,
13 epilog="""
14 Examples:
15 yolo-monitor --backend opencv
16 yolo-monitor --backend gstreamer
17 yolo-monitor --backend gstreamer --width 1280 --height 720 --fps 60
18 """,
19 )
21 parser.add_argument(
22 "--backend", type=str, choices=["opencv", "gstreamer"], default="opencv"
23 )
24 parser.add_argument(
25 "--ui",
26 type=str,
27 choices=["opencv", "dearpygui", "wxpython"],
28 default="opencv",
29 help="Select UI backend for display",
30 )
31 parser.add_argument("--camera", type=int, default=0)
32 parser.add_argument("--width", type=int, default=1920)
33 parser.add_argument("--height", type=int, default=1080)
34 parser.add_argument("--fps", type=int, default=30)
35 parser.add_argument("--model", type=str, default="resources/models/yolov26m.onnx")
36 parser.add_argument("--conf", type=float, default=0.5)
37 parser.add_argument("--gpu", type=int, default=0)
38 parser.add_argument("--no-display", action="store_true")
39 parser.add_argument(
40 "--cpu-plot",
41 action="store_true",
42 help="Show 2D time-series plot of this process CPU%% over time",
43 )
44 parser.add_argument(
45 "--cpu-history",
46 type=int,
47 default=180,
48 help="Number of samples kept for process CPU history plot",
49 )
50 parser.add_argument(
51 "--map",
52 action="store_true",
53 help="Enable 2D running minimap (person trails) overlay",
54 )
55 parser.add_argument(
56 "--map-size",
57 type=int,
58 default=260,
59 help="Size (px) of the 2D running minimap overlay",
60 )
61 parser.add_argument(
62 "--debug-output",
63 action="store_true",
64 help="Log raw model output shapes once at startup",
65 )
66 parser.add_argument(
67 "--debug-detections",
68 action="store_true",
69 help="Log sample decoded detections every few seconds",
70 )
71 parser.add_argument(
72 "--debug-boxes",
73 action="store_true",
74 help="Log decoded bbox coordinates for debugging",
75 )
76 parser.add_argument(
77 "--log-level",
78 type=str,
79 default="DEBUG",
80 choices=["TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
81 )
83 return parser.parse_args(argv)