From 3ae7332d12b380526ad6a8bf27c8da8ff878d94d Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Fri, 25 Jan 2013 17:19:57 -0500 Subject: [PATCH] Distance::_compare ==> Distance::compare --- sdk/openbr_plugin.cpp | 5 ----- sdk/openbr_plugin.h | 3 +-- sdk/plugins/compare.cpp | 8 ++++---- sdk/plugins/ct8.cpp | 2 +- sdk/plugins/keypoint.cpp | 2 +- sdk/plugins/nt4.cpp | 2 +- sdk/plugins/pp5.cpp | 2 +- sdk/plugins/quality.cpp | 17 +++++++++++------ 8 files changed, 20 insertions(+), 21 deletions(-) diff --git a/sdk/openbr_plugin.cpp b/sdk/openbr_plugin.cpp index 369e9c3..f764a44 100644 --- a/sdk/openbr_plugin.cpp +++ b/sdk/openbr_plugin.cpp @@ -1308,11 +1308,6 @@ void Distance::compare(const TemplateList &target, const TemplateList &query, Ou if (Globals->parallelism) Globals->trackFutures(futures); } -float Distance::compare(const Template &target, const Template &query) const -{ - return _compare(target, query); -} - QList Distance::compare(const TemplateList &targets, const Template &query) const { QList scores; scores.reserve(targets.size()); diff --git a/sdk/openbr_plugin.h b/sdk/openbr_plugin.h index 84baad1..11789d7 100644 --- a/sdk/openbr_plugin.h +++ b/sdk/openbr_plugin.h @@ -1071,15 +1071,14 @@ public: static QSharedPointer fromAlgorithm(const QString &algorithm); /*!< \brief Retrieve an algorithm's distance. */ virtual void train(const TemplateList &src) { (void) src; } /*!< \brief Train the distance. */ virtual void compare(const TemplateList &target, const TemplateList &query, Output *output) const; /*!< \brief Compare two template lists. */ - float compare(const Template &target, const Template &query) const; /*!< \brief Compute the normalized distance between two templates. */ QList compare(const TemplateList &targets, const Template &query) const; /*!< \brief Compute the normalized distance between a template and a template list. */ + virtual float compare(const Template &a, const Template &b) const = 0; /*!< \brief Compute the distance between two templates. */ protected: inline Distance *make(const QString &description) { return make(description, this); } /*!< \brief Make a subdistance. */ private: virtual void compareBlock(const TemplateList &target, const TemplateList &query, Output *output, int targetOffset, int queryOffset) const; - virtual float _compare(const Template &a, const Template &b) const = 0; /*!< \brief Compute the distance between two templates. */ }; /*! diff --git a/sdk/plugins/compare.cpp b/sdk/plugins/compare.cpp index 3a6baf2..9d50716 100644 --- a/sdk/plugins/compare.cpp +++ b/sdk/plugins/compare.cpp @@ -49,7 +49,7 @@ public: private: BR_PROPERTY(Metric, metric, L2) - float _compare(const Template &a, const Template &b) const + float compare(const Template &a, const Template &b) const { if ((a.m().size != b.m().size) || (a.m().type() != b.m().type())) @@ -123,7 +123,7 @@ class ByteL1Distance : public Distance { Q_OBJECT - float _compare(const Template &a, const Template &b) const + float compare(const Template &a, const Template &b) const { return l1(a.m().data, b.m().data, a.m().total()); } @@ -141,7 +141,7 @@ class HalfByteL1Distance : public Distance { Q_OBJECT - float _compare(const Template &a, const Template &b) const + float compare(const Template &a, const Template &b) const { return packed_l1(a.m().data, b.m().data, a.m().total()); } @@ -158,7 +158,7 @@ class IdenticalDistance : public Distance { Q_OBJECT - float _compare(const Template &a, const Template &b) const + float compare(const Template &a, const Template &b) const { const Mat &am = a.m(); const Mat &bm = b.m(); diff --git a/sdk/plugins/ct8.cpp b/sdk/plugins/ct8.cpp index db3e119..04c5e8b 100644 --- a/sdk/plugins/ct8.cpp +++ b/sdk/plugins/ct8.cpp @@ -441,7 +441,7 @@ struct CT8Compare : public Distance, Q_OBJECT // Compare pre-extracted facevacs templates - float _compare(const Template &srcA, const Template &srcB) const + float compare(const Template &srcA, const Template &srcB) const { const float DefaultNonMatchScore = 0; if (!srcA.m().data || !srcB.m().data) return DefaultNonMatchScore; diff --git a/sdk/plugins/keypoint.cpp b/sdk/plugins/keypoint.cpp index e9bfc7c..78ee2fb 100644 --- a/sdk/plugins/keypoint.cpp +++ b/sdk/plugins/keypoint.cpp @@ -126,7 +126,7 @@ class KeyPointMatcherTransform : public Distance qFatal("KeyPointMatcher::make failed to create DescriptorMatcher: %s", qPrintable(matcher)); } - float _compare(const Template &a, const Template &b) const + float compare(const Template &a, const Template &b) const { if ((a.m().rows < 2) || (b.m().rows < 2)) return 0; diff --git a/sdk/plugins/nt4.cpp b/sdk/plugins/nt4.cpp index 0f2e3b3..ec3dfb9 100644 --- a/sdk/plugins/nt4.cpp +++ b/sdk/plugins/nt4.cpp @@ -424,7 +424,7 @@ class NT4Compare : public Distance Resource contexts; - float _compare(const br::Template &a, const br::Template &b) const + float compare(const br::Template &a, const br::Template &b) const { const float DefaultNonMatchScore = 0; diff --git a/sdk/plugins/pp5.cpp b/sdk/plugins/pp5.cpp index 3bd577f..bcbadcf 100644 --- a/sdk/plugins/pp5.cpp +++ b/sdk/plugins/pp5.cpp @@ -284,7 +284,7 @@ class PP5Compare : public Distance Q_OBJECT - float _compare(const Template &target, const Template &query) const + float compare(const Template &target, const Template &query) const { qFatal("PP5Compare: _compare should never be called"); return 0; diff --git a/sdk/plugins/quality.cpp b/sdk/plugins/quality.cpp index d4e43bb..038a62c 100644 --- a/sdk/plugins/quality.cpp +++ b/sdk/plugins/quality.cpp @@ -181,7 +181,7 @@ class MPDistance : public Distance mps.insert(key, MP(genuineScores[key], impostorScores[key])); } - float _compare(const Template &target, const Template &query) const + float compare(const Template &target, const Template &query) const { return mps[query.file.getString(binKey, "")](distance->compare(target, query), gaussian, log); } @@ -221,7 +221,7 @@ class UnitDistance : public Distance const TemplateList samples = templates.mid(0, 2000); const QList sampleLabels = samples.labels(); QScopedPointer memoryOutput(dynamic_cast(Output::make(".Matrix", FileList(samples.size()), FileList(samples.size())))); - compare(samples, samples, memoryOutput.data()); + Distance::compare(samples, samples, memoryOutput.data()); double genuineAccumulator, impostorAccumulator; int genuineCount, impostorCount; @@ -254,7 +254,7 @@ class UnitDistance : public Distance qDebug("a = %f, b = %f", a, b); } - float _compare(const Template &target, const Template &query) const + float compare(const Template &target, const Template &query) const { return a * (distance->compare(target, query) - b); } @@ -270,10 +270,15 @@ BR_REGISTER(Distance, UnitDistance) class MetadataDistance : public Distance { Q_OBJECT - Q_PROPERTY(Distance *distance READ get_distance WRITE set_distance RESET reset_distance) - BR_PROPERTY(Distance*, distance, make("Dist(L2)")) + Q_PROPERTY(br::Distance *distance READ get_distance WRITE set_distance RESET reset_distance) + BR_PROPERTY(br::Distance*, distance, make("Dist(L2)")) + + void train(const TemplateList &src) + { + distance->train(src); + } - float _compare(const Template &a, const Template &b) const + float compare(const Template &a, const Template &b) const { foreach (const QString &filter, Globals->demographicFilters.keys()) { const QString metadata = a.file.getString(filter, ""); -- libgit2 0.21.4