50#ifndef FRIF_EVALUATIONS_E1N_H_
51#define FRIF_EVALUATIONS_E1N_H_
197 std::tuple<ReturnStatus, std::optional<CreateTemplateResult>>
200 const std::string &identifier,
201 const std::vector<Sample> &samples)
251 std::vector<TemplateData>>>
307 const std::filesystem::path &databaseDirectory,
308 const uint64_t maxSize)
341 std::shared_ptr<ExtractionInterface>
343 const std::filesystem::path &configurationDirectory);
361 std::optional<ProductIdentifier>
504 const uint64_t maxSize) = 0;
570 std::optional<SearchSubjectPositionResult>>
572 const std::vector<std::byte> &probeTemplate,
573 const uint16_t maxCandidates)
620 std::tuple<ReturnStatus, std::optional<SearchSubjectResult>>
622 const std::vector<std::byte> &probeTemplate,
623 const uint16_t maxCandidates)
674 std::optional<SubjectPositionCandidateListCorrespondence>
676 const std::vector<std::byte> &probeTemplate,
727 std::optional<SubjectCandidateListCorrespondence>
729 const std::vector<std::byte> &probeTemplate,
776 std::shared_ptr<SearchInterface>
778 const std::filesystem::path &configurationDirectory,
779 const std::filesystem::path &databaseDirectory);
797 std::optional<ProductIdentifier>
836 #ifdef NIST_EXTERN_FRIFTE_E1N_API_VERSION
Interface for database search implemented by participant.
virtual std::tuple< ReturnStatus, std::optional< SearchSubjectPositionResult > > searchSubjectPosition(const std::vector< std::byte > &probeTemplate, const uint16_t maxCandidates) const =0
Search the reference database for the samples represented in probeTemplate including the most localiz...
virtual ~SearchInterface()
static Compatibility getCompatibility()
Obtain information about API feature and version compatibility of this implementation.
virtual std::optional< SubjectPositionCandidateListCorrespondence > extractCorrespondenceSubjectPosition(const std::vector< std::byte > &probeTemplate, const SearchSubjectPositionResult &searchResult) const =0
Extract pairs of corresponding Minutia between TemplateType::Probe and TemplateType::Reference templa...
virtual std::optional< SubjectCandidateListCorrespondence > extractCorrespondenceSubject(const std::vector< std::byte > &probeTemplate, const SearchSubjectResult &searchResult) const =0
Extract pairs of corresponding Minutia between TemplateType::Probe and TemplateType::Reference templa...
virtual std::tuple< ReturnStatus, std::optional< SearchSubjectResult > > searchSubject(const std::vector< std::byte > &probeTemplate, const uint16_t maxCandidates) const =0
Search the reference database for the samples represented in probeTemplate including the most localiz...
static std::shared_ptr< SearchInterface > getImplementation(const std::filesystem::path &configurationDirectory, const std::filesystem::path &databaseDirectory)
Obtain a managed pointer to an object implementing SearchInterface.
virtual ReturnStatus load(const uint64_t maxSize)=0
Load reference database into memory.
static std::optional< ProductIdentifier > getProductIdentifier()
Obtain identification and version information for the search portion of this submission.
FRIF TE Exemplar 1:N functionality.
uint16_t API_PATCH_VERSION
API patch version number.
LibraryIdentifier getLibraryIdentifier()
uint16_t API_MAJOR_VERSION
API major version number.
uint16_t API_MINOR_VERSION
API minor version number.
TemplateType
Use for data extracted from Sample.
Output from extracting features into a template .
Information used by the NIST testing apparatus to help efficiently test this implementation.
bool supportsCorrespondence
Is useful information returned from extractCorrespondence()?
std::set< uint16_t > referenceDatabaseVersions
LibraryIdentifier::versionNumber of previously-submitted software that generates reference databases ...
std::set< uint16_t > probeTemplateVersions
LibraryIdentifier::versionNumber of previously-submitted software that generates probe templates that...
Identification information about the submitted library.
Information about the result of calling a FRIF TE API function.
The results of a searching a database for subject finger positions.
The results of a searching a database for a subject, without respect to finger positions.
Collection of templates on disk.