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 | 74 | if (data[i].file.get<bool>("allPartitions",false)) |
| 75 | 75 | data.removeAt(i); |
| 76 | 76 | |
| 77 | - if (transform.isNull()) qFatal("Null transform."); | |
| 78 | 77 | qDebug("%d Training Files", data.size()); |
| 79 | 78 | |
| 80 | 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 | 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 | 92 | TemplateList distanceData; |
| 90 | 93 | for (int i=0; i<data.size(); i++) |
| ... | ... | @@ -109,6 +112,9 @@ struct AlgorithmCore |
| 109 | 112 | |
| 110 | 113 | void simplifyTransform() |
| 111 | 114 | { |
| 115 | + if (transform.isNull()) | |
| 116 | + return; | |
| 117 | + | |
| 112 | 118 | bool newTForm = false; |
| 113 | 119 | Transform *temp = transform->simplify(newTForm); |
| 114 | 120 | if (newTForm) |
| ... | ... | @@ -592,7 +598,7 @@ private: |
| 592 | 598 | |
| 593 | 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 | 602 | simplifyTransform(); |
| 597 | 603 | |
| 598 | 604 | if (words.size() > 1) { | ... | ... |