Commit 2948a515efca12073e6d09c65602a638769900b1
1 parent
d94e55a9
allow training algorithms with just a distance component
Showing
1 changed file
with
12 additions
and
6 deletions
openbr/core/core.cpp
| @@ -74,17 +74,20 @@ struct AlgorithmCore | @@ -74,17 +74,20 @@ struct AlgorithmCore | ||
| 74 | if (data[i].file.get<bool>("allPartitions",false)) | 74 | if (data[i].file.get<bool>("allPartitions",false)) |
| 75 | data.removeAt(i); | 75 | data.removeAt(i); |
| 76 | 76 | ||
| 77 | - if (transform.isNull()) qFatal("Null transform."); | ||
| 78 | qDebug("%d Training Files", data.size()); | 77 | qDebug("%d Training Files", data.size()); |
| 79 | 78 | ||
| 80 | Globals->startTime.start(); | 79 | Globals->startTime.start(); |
| 81 | 80 | ||
| 82 | - qDebug("Training Enrollment"); | ||
| 83 | - trainingWrapper->train(data); | 81 | + if (!transform.isNull()) { |
| 82 | + qDebug("Training Enrollment"); | ||
| 83 | + trainingWrapper->train(data); | ||
| 84 | + } | ||
| 84 | 85 | ||
| 85 | if (!distance.isNull() && distance->trainable()) { | 86 | if (!distance.isNull() && distance->trainable()) { |
| 86 | - qDebug("Projecting Enrollment"); | ||
| 87 | - trainingWrapper->projectUpdate(data,data); | 87 | + if (!transform.isNull()) { |
| 88 | + qDebug("Projecting Enrollment"); | ||
| 89 | + trainingWrapper->projectUpdate(data,data); | ||
| 90 | + } | ||
| 88 | 91 | ||
| 89 | TemplateList distanceData; | 92 | TemplateList distanceData; |
| 90 | for (int i=0; i<data.size(); i++) | 93 | for (int i=0; i<data.size(); i++) |
| @@ -109,6 +112,9 @@ struct AlgorithmCore | @@ -109,6 +112,9 @@ struct AlgorithmCore | ||
| 109 | 112 | ||
| 110 | void simplifyTransform() | 113 | void simplifyTransform() |
| 111 | { | 114 | { |
| 115 | + if (transform.isNull()) | ||
| 116 | + return; | ||
| 117 | + | ||
| 112 | bool newTForm = false; | 118 | bool newTForm = false; |
| 113 | Transform *temp = transform->simplify(newTForm); | 119 | Transform *temp = transform->simplify(newTForm); |
| 114 | if (newTForm) | 120 | if (newTForm) |
| @@ -592,7 +598,7 @@ private: | @@ -592,7 +598,7 @@ private: | ||
| 592 | 598 | ||
| 593 | if ((words.size() < 1) || (words.size() > 2)) qFatal("Invalid algorithm format."); | 599 | if ((words.size() < 1) || (words.size() > 2)) qFatal("Invalid algorithm format."); |
| 594 | 600 | ||
| 595 | - transform = QSharedPointer<Transform>(Transform::make(words[0], NULL)); | 601 | + transform = QSharedPointer<Transform>(words[0].isEmpty() ? NULL : Transform::make(words[0], NULL)); |
| 596 | simplifyTransform(); | 602 | simplifyTransform(); |
| 597 | 603 | ||
| 598 | if (words.size() > 1) { | 604 | if (words.size() > 1) { |