12#include "enrollment/Export.h"
33 const std::vector<uint8_t> embeddingTemplateData;
47 return matcher.
Match(*
this, tmpl);
58 return pos.has_value();
85 uint32_t ifingerVersion = 0;
86 uint32_t enrollmentVersion = 0;
87 exec->IFingerGetTemplateVersion(&ifingerVersion,
89 embeddingTemplateData.data(),
90 static_cast<uint32_t
>(embeddingTemplateData.size()),
93 return std::to_string(ifingerVersion) +
"." + std::to_string(enrollmentVersion);
105 : embeddingTemplateData(std::move(d))
108 if (embeddingTemplateData.empty())
110 throw InvalidTemplateException(
"Embedding template MUST have data");
123 : embeddingTemplateData(d)
126 if (embeddingTemplateData.empty())
128 throw InvalidTemplateException(
"Embedding template MUST have data");
141 EmbeddingTemplate(std::vector<uint8_t>&& d, std::shared_ptr<PrintExecutor> executor)
142 : embeddingTemplateData(std::move(d))
143 , exec(std::move(executor))
149 if (embeddingTemplateData.empty())
151 throw InvalidTemplateException(
"Embedding template MUST have data");
164 EmbeddingTemplate(
const std::vector<uint8_t>& d, std::shared_ptr<PrintExecutor> executor)
165 : embeddingTemplateData(d)
166 , exec(std::move(executor))
172 if (embeddingTemplateData.empty())
174 throw InvalidTemplateException(
"Embedding template MUST have data");
187 : embeddingTemplateData(std::move(d))
191 if (embeddingTemplateData.empty())
193 throw InvalidTemplateException(
"Embedding template MUST have data");
206 : embeddingTemplateData(d)
210 if (embeddingTemplateData.empty())
212 throw InvalidTemplateException(
"Embedding template MUST have data");
226 : embeddingTemplateData(std::move(d))
227 , exec(std::move(executor))
234 if (embeddingTemplateData.empty())
236 throw InvalidTemplateException(
"Embedding template MUST have data");
251 std::shared_ptr<PrintExecutor> executor)
252 : embeddingTemplateData(d)
253 , exec(std::move(executor))
260 if (embeddingTemplateData.empty())
262 throw InvalidTemplateException(
"Embedding template MUST have data");
279 std::shared_ptr<PrintExecutor> exec;
280 std::optional<PrintPosition> pos;
It is general matcher for Embedding templates.
Definition EmbeddingMatcher.h:23
virtual PrintSimilarityScore Match(const EmbeddingTemplate &probe, const EmbeddingTemplate &gallery) const =0
Calculates similarity score of probe and gallery template.
Print template in proprietary embedding format used for biometric operations.
Definition EmbeddingTemplate.h:30
EmbeddingTemplate(std::vector< uint8_t > &&d, std::shared_ptr< PrintExecutor > executor)
Create EmbeddingTemplate object.
Definition EmbeddingTemplate.h:140
PrintPosition GetEmbeddingTemplateBiometricPosition() const
It returns biometric position to which template belongs.
Definition EmbeddingTemplate.h:66
std::string GetVersion() const
Provides version information of Innovatrics proprietary algorithm used to create the embedding templa...
Definition EmbeddingTemplate.h:81
EmbeddingTemplate(const std::vector< uint8_t > &d, std::shared_ptr< PrintExecutor > executor)
Create EmbeddingTemplate object that copies data.
Definition EmbeddingTemplate.h:163
EmbeddingTemplate(std::vector< uint8_t > &&d)
Create EmbeddingTemplate object.
Definition EmbeddingTemplate.h:103
EmbeddingTemplate(const std::vector< uint8_t > &d, PrintPosition position, std::shared_ptr< PrintExecutor > executor)
Create EmbeddingTemplate object copy data.
Definition EmbeddingTemplate.h:248
PrintSimilarityScore SimilarWith(const EmbeddingTemplate &tmpl, const EmbeddingMatcher &matcher) const
It calculates similarity score between this and given EmbeddingTemplate.
Definition EmbeddingTemplate.h:43
EmbeddingTemplate(std::vector< uint8_t > &&d, PrintPosition position, std::shared_ptr< PrintExecutor > executor)
Create EmbeddingTemplate object.
Definition EmbeddingTemplate.h:224
EmbeddingTemplate(std::vector< uint8_t > &&d, PrintPosition position)
Create EmbeddingTemplate object.
Definition EmbeddingTemplate.h:185
EmbeddingTemplate(const std::vector< uint8_t > &d)
Create EmbeddingTemplate object that copies the data.
Definition EmbeddingTemplate.h:121
EmbeddingTemplate(const std::vector< uint8_t > &d, PrintPosition position)
Create EmbeddingTemplate object that copies the data.
Definition EmbeddingTemplate.h:204
bool IsEmbeddingTemplateBiometricPositionKnown() const
It checks if template contains known biometric position.
Definition EmbeddingTemplate.h:55
void WriteTo(Writer &w) const override
Write itself into writer.
Definition EmbeddingTemplate.h:265
Base exception for all enrollment-sdk runtime exceptions.
Definition EnrollmentException.h:84
Holds instance of PrintExecutor.
Definition PrintExecutor.h:1300
Null argument is not allowed.
Definition EnrollmentException.h:156
Provides interface for serialization of all classes.
Definition Writer.h:164
void WriteArray(const char *name, const std::vector< uint8_t > &value)
Serialize bytes from vector.
Definition Writer.h:233
PrintPosition
It is position of finger on hands.
Definition PrintPosition.h:29
unsigned int PrintSimilarityScore
It is similarity score between print Templates.
Definition SimilarityScore.h:28