int main(int argc, char** argv){
string ann = "default.ann";
+ Model model(0);
+ bool detectModel = true;
int opt;
- while ((opt = getopt(argc, argv, "n:h")) != -1) {
+ while ((opt = getopt(argc, argv, "m:n:h")) != -1) {
switch (opt) {
+ case 'm':
+ model = Model::modelFactory(optarg);
+ detectModel = false;
+ break;
case 'n':
ann = optarg;
break;
case 'h':
cout << "Usage: " << argv[0] << " [OPTION] [FILE]" << endl
+ << endl << " -m <model> Specifies which model to use for sorting: Whirl, X, Zipper, FatX or Cloud "
<< endl << " -n <ann> Specifies which artificial neural network to use for identification. '" << ann << "' is used by default"
<< endl << " -h Prints this help message"
<< endl << endl
//TODO: Identify
ModelIdentifier mi(ann);
priority_queue<pair<double,Model> > pq = mi.identify(go);
- Model model = pq.top().second;
- //while (pq.size() > 0){
- cout << "Model: " << model.name() << " score: " << pq.top().first << endl;
- //pq.pop();
- //}
+ if (detectModel){
+ model = pq.top().second;
+ }
+ while (pq.size() > 0){
+ cout << "Model: " << pq.top().second.name() << " score: " << pq.top().first << endl;
+ pq.pop();
+ }
+ cout << "Using model: " << model.name() << endl;
cout << "Distance: " << inversionDistance(go) << endl;
//copy(go.begin(), go.end(), ostream_iterator<int>(cout, " "));