Commit 5cd55024289b93aa6ab491f3e14c344691790016

Authored by Scott Klum
1 parent 32bfcd72

Removed Train flag logic from crossValidate to facilitate training distances properly

openbr/plugins/independent.cpp
@@ -156,8 +156,8 @@ class IndependentTransform : public MetaTransform @@ -156,8 +156,8 @@ class IndependentTransform : public MetaTransform
156 156
157 QFutureSynchronizer<void> futures; 157 QFutureSynchronizer<void> futures;
158 for (int i=0; i<templatesList.size(); i++) 158 for (int i=0; i<templatesList.size(); i++)
159 - futures.addFuture(QtConcurrent::run(_train, transforms[i], &templatesList[i]));  
160 - futures.waitForFinished(); 159 + futures.addFuture(QtConcurrent::run(_train, transforms[i], &templatesList[i]));
  160 + futures.waitForFinished();
161 } 161 }
162 162
163 void project(const Template &src, Template &dst) const 163 void project(const Template &src, Template &dst) const
openbr/plugins/quality.cpp
@@ -173,7 +173,7 @@ class MatchProbabilityDistance : public Distance @@ -173,7 +173,7 @@ class MatchProbabilityDistance : public Distance
173 for (int j=0; j<i; j++) { 173 for (int j=0; j<i; j++) {
174 const float score = matrixOutput.data()->data.at<float>(i, j); 174 const float score = matrixOutput.data()->data.at<float>(i, j);
175 if (score == -std::numeric_limits<float>::max()) continue; 175 if (score == -std::numeric_limits<float>::max()) continue;
176 - if (crossModality) if(src[i].file.get<QString>("MODALITY") == src[j].file.get<QString>("MODALITY")) continue; 176 + if (crossModality && src[i].file.get<QString>("MODALITY") == src[j].file.get<QString>("MODALITY")) continue;
177 if (labels[i] == labels[j]) genuineScores.append(score); 177 if (labels[i] == labels[j]) genuineScores.append(score);
178 else impostorScores.append(score); 178 else impostorScores.append(score);
179 } 179 }
openbr/plugins/validate.cpp
@@ -104,15 +104,13 @@ class CrossValidateTransform : public MetaTransform @@ -104,15 +104,13 @@ class CrossValidateTransform : public MetaTransform
104 // since it is assumed that the allPartitions 104 // since it is assumed that the allPartitions
105 // flag is only used during comparison 105 // flag is only used during comparison
106 // (i.e. only used when making a mask) 106 // (i.e. only used when making a mask)
107 - if (src.file.getBool("Train", false)) dst = src;  
108 - else {  
109 - // If we want to duplicate templates but use the same training data  
110 - // for all partitions (i.e. transforms.size() == 1), we need to  
111 - // restrict the partition  
112 - int partition = src.file.get<int>("Partition", 0);  
113 - partition = (partition >= transforms.size()) ? 0 : partition;  
114 - transforms[partition]->project(src, dst);  
115 - } 107 +
  108 + // If we want to duplicate templates but use the same training data
  109 + // for all partitions (i.e. transforms.size() == 1), we need to
  110 + // restrict the partition
  111 + int partition = src.file.get<int>("Partition", 0);
  112 + partition = (partition >= transforms.size()) ? 0 : partition;
  113 + transforms[partition]->project(src, dst);
116 } 114 }
117 115
118 void store(QDataStream &stream) const 116 void store(QDataStream &stream) const