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

1"""CLI argument parsing for the YOLO monitor.""" 

2 

3from __future__ import annotations 

4 

5import argparse 

6 

7 

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 ) 

20 

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 ) 

82 

83 return parser.parse_args(argv)