MCPcopy Create free account
hub / github.com/biometrics/openbr / run

Method run

app/br/br.cpp:62–250  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60 : argc(argc_), argv(argv_) {}
61
62 void run()
63 {
64 // Remove program name
65 argv = &argv[1];
66 argc--;
67
68 if (argc == 0) printf("%s\nTry running 'br -help'\n", br_about());
69
70 bool daemon = false;
71 const char *daemon_pipe = NULL;
72 bool isInt = false;
73 while (daemon || (argc > 0)) {
74 const char *fun;
75 int parc;
76 const char **parv;
77 if (argc == 0)
78 br_read_pipe(daemon_pipe, &argc, &argv);
79
80 fun = argv[0];
81 if (fun[0] == '-') fun++;
82 parc = 0;
83 QString(argv[parc+1]).toInt(&isInt);
84 while ((parc+1 < argc) && ((argv[parc+1][0] != '-') || isInt)) {
85 parc++;
86 QString(argv[parc+1]).toInt(&isInt);
87 }
88 parv = (const char **)&argv[1];
89 argc = argc - (parc+1);
90 argv = &argv[parc+1];
91
92 // Core Tasks
93 if (!strcmp(fun, "train")) {
94 check(parc >= 1, "Insufficient parameter count for 'train'.");
95 br_train_n(parc == 1 ? 1 : parc-1, parv, parc == 1 ? "" : parv[parc-1]);
96 } else if (!strcmp(fun, "enroll")) {
97 check(parc >= 1, "Insufficient parameter count for 'enroll'.");
98 if (parc == 1) br_enroll(parv[0]);
99 else br_enroll_n(parc-1, parv, parv[parc-1]);
100 } else if (!strcmp(fun, "compare")) {
101 check((parc >= 2) && (parc <= 3), "Incorrect parameter count for 'compare'.");
102 br_compare(parv[0], parv[1], parc == 3 ? parv[2] : "");
103 } else if (!strcmp(fun, "eval")) {
104 check((parc >= 1) && (parc <= 4), "Incorrect parameter count for 'eval'.");
105 if (parc == 1) {
106 br_eval(parv[0], "", "", 0);
107 } else if (parc == 2) {
108 if (br::File(parv[1]).suffix() == "csv") {
109 br_eval(parv[0], "", parv[1], 0);
110 } else if (br::File(parv[1]).suffix() == "mask") {
111 br_eval(parv[0], parv[1], "", 0);
112 } else {
113 br_eval(parv[0], "", "", atoi(parv[1]));
114 }
115 } else if (parc == 3) {
116 if (br::File(parv[2]).suffix() == "csv") {
117 br_eval(parv[0], parv[1], parv[2], 0);
118 } else if ( br::File(parv[1]).suffix() == "csv") {
119 br_eval(parv[0], "", parv[1], atoi(parv[2]));

Callers 5

mainFunction · 0.45
iFunction · 0.45
XbFunction · 0.45
iFunction · 0.45
XbFunction · 0.45

Calls 15

br_aboutFunction · 0.85
br_read_pipeFunction · 0.85
checkFunction · 0.85
br_train_nFunction · 0.85
br_enrollFunction · 0.85
br_enroll_nFunction · 0.85
br_compareFunction · 0.85
br_evalFunction · 0.85
FileFunction · 0.85
br_plotFunction · 0.85
br_fuseFunction · 0.85
br_clusterFunction · 0.85

Tested by

no test coverage detected