Proprietary Fingerprint Template III
API for participating in NIST's evaluation of proprietary fingerprint template algorithms.
libpftiii.cpp
1/*
2 * This software was developed at the National Institute of Standards and
3 * Technology (NIST) by employees of the Federal Government in the course
4 * of their official duties. Pursuant to title 17 Section 105 of the
5 * United States Code, this software is not subject to copyright protection
6 * and is in the public domain. NIST assumes no responsibility whatsoever for
7 * its use by other parties, and makes no guarantees, expressed or implied,
8 * about its quality, reliability, or any other characteristic.
9 */
10
11#include <pftiii.h>
12
14{
15
16}
17
19 const uint16_t width,
20 const uint16_t height,
21 const uint16_t ppi,
22 const std::vector<std::byte> &pixels,
23 const Impression imp,
26 width{width},
27 height{height},
28 ppi{ppi},
29 pixels{pixels},
30 imp{imp},
31 frct{frct},
32 frgp{frgp}
33{
34
35}
36
37/******************************************************************************/
38
41 const std::string &message)
42{
44
46 cptr.proprietaryTemplate = {};
47 cptr.message = message;
48
49 return (cptr);
50}
51
54 const std::vector<std::byte> &proprietaryTemplate,
55 const std::string &message)
56{
58
60 cptr.proprietaryTemplate = proprietaryTemplate;
61 cptr.message = message;
62
63 return (cptr);
64}
65
66/******************************************************************************/
67
69{
70
71}
72
74 const uint16_t versionNumber,
75 const std::string &libraryIdentifier,
76 const std::tuple<std::string, bool>
77 &featureExtractionAlgorithmMarketingIdentifier,
78 const std::tuple<std::string, bool> &comparisonAlgorithmMarketingIdentifier,
79 const std::tuple<uint16_t, bool>
80 &cbeffFeatureExtractionAlgorithmProductOwner,
81 const std::tuple<uint16_t, bool> &cbeffFeatureExtractionAlgorithmIdentifier,
82 const std::tuple<uint16_t, bool> &cbeffComparisonAlgorithmProductOwner,
83 const std::tuple<uint16_t, bool> &cbeffComparisonAlgorithmIdentifier):
84 versionNumber{versionNumber},
85 libraryIdentifier{libraryIdentifier},
86 featureExtractionAlgorithmMarketingIdentifier{
87 featureExtractionAlgorithmMarketingIdentifier},
88 comparisonAlgorithmMarketingIdentifier{
89 comparisonAlgorithmMarketingIdentifier},
90 cbeffFeatureExtractionAlgorithmProductOwner{
91 cbeffFeatureExtractionAlgorithmProductOwner},
92 cbeffFeatureExtractionAlgorithmIdentifier{
93 cbeffFeatureExtractionAlgorithmIdentifier},
94 cbeffComparisonAlgorithmProductOwner{cbeffComparisonAlgorithmProductOwner},
95 cbeffComparisonAlgorithmIdentifier{cbeffComparisonAlgorithmIdentifier}
96{
97
98}
99
100/******************************************************************************/
101
103 const Code code,
104 const std::string &message) :
105 code{code},
106 message{message}
107{
108
109}
110
111/******************************************************************************/
112
114 const Result result,
115 const std::string &message) :
116 result{result},
117 message{message}
118{
119
120}
121
124 const std::string &message)
125{
127
128 cpts.result = Result::Failure;
129 cpts.message = message;
130
131 return (cpts);
132}
133
136{
138
139 cpts.result = Result::Success;
140 cpts.message = "";
141
142 return (cpts);
143}
144
145/******************************************************************************/
146
148{
149
150}
151
153{
154
155}
Interface()
Default constructor.
Definition: libpftiii.cpp:147
virtual ~Interface()
Destructor.
Definition: libpftiii.cpp:152
FrictionRidgeGeneralizedPosition
Friction positions codes from ANSI/NIST-ITL 1-2011 (2015).
Definition: pftiii.h:72
Result
Possible outcomes when performing operations.
Definition: pftiii.h:199
@ Success
Successfully performed operation.
@ Failure
Failed to perform operation.
FrictionRidgeCaptureTechnology
Capture device codes from ANSI/NIST-ITL 1-2011 (2015).
Definition: pftiii.h:61
Impression
Friction ridge impression types from ANSI/NIST-ITL 1-2011 (2015).
Definition: pftiii.h:48
Information about the execution of template comparison.
Definition: pftiii.h:250
CompareProprietaryTemplatesStatus(const Result result=Result::Success, const std::string &message="")
CompareProprietaryTemplatesStatus constructor.
Definition: libpftiii.cpp:113
static CompareProprietaryTemplatesStatus failure(const std::string &message="")
Convenience method for comparison failures.
Definition: libpftiii.cpp:123
Result result
Outcome of comparing two proprietary templates.
Definition: pftiii.h:290
static CompareProprietaryTemplatesStatus success()
Convenience method for comparison success.
Definition: libpftiii.cpp:135
Output from extracting features into a proprietary template .
Definition: pftiii.h:208
static CreateProprietaryTemplateResult success(const std::vector< std::byte > &proprietaryTemplate, const std::string &message="")
Convenience method for creation success.
Definition: libpftiii.cpp:53
Result result
Result of extracting features and creating a template.
Definition: pftiii.h:241
static CreateProprietaryTemplateResult failure(const std::string &message="")
Convenience method for creation failures.
Definition: libpftiii.cpp:40
FingerImage()
Default constructor.
Definition: libpftiii.cpp:13
FingerImageStatus(const Code code=Code::Supported, const std::string &message="")
FingerImageStatus constructor.
Definition: libpftiii.cpp:102
Code
Possible scenarios affecting input image data that could cause createProprietaryTemplates() to fail b...
Definition: pftiii.h:169
SubmissionIdentification()
Default constructor.
Definition: libpftiii.cpp:68