Commit 2f95b8ad0638e6c1a77fff89cce172b3883fd5e3

Authored by Josh Klontz
1 parent 44df5778

draft implementation of janus_compare

1   -Subproject commit 50adc738e88f7290ed2598e52a501538a95942c7
  1 +Subproject commit 9844d8a3a0a90344ad9382b9e99e51a913dfbcfb
... ...
openbr/janus.cpp
... ... @@ -136,3 +136,23 @@ janus_error janus_enroll(const janus_template template_, const janus_template_id
136 136 delete template_;
137 137 return JANUS_SUCCESS;
138 138 }
  139 +
  140 +janus_error janus_gallery_size(janus_gallery gallery, int *size)
  141 +{
  142 + *size = TemplateList::fromGallery(gallery).size();
  143 + return JANUS_SUCCESS;
  144 +}
  145 +
  146 +janus_error janus_compare(janus_gallery target, janus_gallery query, double *similarity_matrix, janus_template_id *target_ids, janus_template_id *query_ids)
  147 +{
  148 + const TemplateList targets = TemplateList::fromGallery(target);
  149 + const TemplateList queries = TemplateList::fromGallery(query);
  150 + QScopedPointer<MatrixOutput> matrix(MatrixOutput::make(targets.files(), queries.files()));
  151 + distance->compare(targets, queries, matrix.data());
  152 + const QVector<janus_template_id> targetIds = File::get<janus_template_id,File>(matrix->targetFiles, "TEMPLATE_ID").toVector();
  153 + const QVector<janus_template_id> queryIds = File::get<janus_template_id,File>(matrix->queryFiles, "TEMPLATE_ID").toVector();
  154 + memcpy(similarity_matrix, matrix->data.data, matrix->data.rows * matrix->data.cols * sizeof(double));
  155 + memcpy(target_ids, targetIds.data(), targetIds.size() * sizeof(janus_template_id));
  156 + memcpy(query_ids, queryIds.data(), queryIds.size() * sizeof(janus_template_id));
  157 + return JANUS_SUCCESS;
  158 +}
... ...