52                PlainContactlessStationary = 24,
 
   53                RolledContactlessStationary = 25,
 
   55                RolledContactlessMoving = 41,
 
   56                PlainContactlessMoving = 42
 
   63                ScannedInkOnPaper = 2,
 
   67                Electroluminescent = 11,
 
  118                    const uint16_t 
width,
 
  121                    const std::vector<std::byte> &
pixels,
 
  124                        FrictionRidgeCaptureTechnology::Unknown,
 
  126                        FrictionRidgeGeneralizedPosition::Unknown);
 
  154                    FrictionRidgeCaptureTechnology::Unknown};
 
  157                    FrictionRidgeGeneralizedPosition::Unknown};
 
  189                    const std::string &
message = 
"");
 
  224                     const std::string &
message = 
"");
 
  238                     const std::string &
message = 
"");
 
  262                    const std::string &
message = 
"");
 
  287                     const std::string &
message = 
"");
 
  354                    const std::tuple<std::string, bool>
 
  356                        std::make_tuple(
"", 
false),
 
  357                    const std::tuple<std::string, bool>
 
  359                        std::make_tuple(
"", 
false),
 
  360                    const std::tuple<uint16_t, bool>
 
  362                        std::make_tuple(0x0000, 
false),
 
  363                    const std::tuple<uint16_t, bool>
 
  365                        std::make_tuple(0x0000, 
false),
 
  366                    const std::tuple<uint16_t, bool>
 
  367                        &cbeffComparisoinAlgorithmProductOwner =
 
  368                        std::make_tuple(0x0000, 
false),
 
  369                    const std::tuple<uint16_t, bool>
 
  371                        std::make_tuple(0x0000, 
false));
 
  391                std::tuple<std::string, bool>
 
  400                std::tuple<std::string, bool>
 
  416                std::tuple<uint16_t, bool>
 
  426                std::tuple<uint16_t, bool>
 
  438                std::tuple<uint16_t, bool>
 
  525                std::tuple<FingerImageStatus, CreateProprietaryTemplateResult>
 
  571                std::tuple<CompareProprietaryTemplatesStatus, double>
 
  573                    const std::vector<std::byte> &probeTemplate,
 
  574                    const std::vector<std::byte> &referenceTemplate) = 0;
 
  605                std::shared_ptr<Interface>
 
  607                    const std::filesystem::path &configurationDirectory);
 
  625        #ifdef NIST_EXTERN_API_VERSION 
  645        static_assert(std::is_same_v<std::underlying_type_t<std::byte>,
 
  646            uint8_t>, 
"std::byte not represented as unsigned 8 bit type");
 
static std::shared_ptr< Interface > getImplementation(const std::filesystem::path &configurationDirectory)
Obtain a managed pointer to an object implementing PFTIII::Interface.
 
virtual std::tuple< FingerImageStatus, CreateProprietaryTemplateResult > createProprietaryTemplate(const FingerImage &fingerImage)=0
Create a proprietary biometric template from a fingerprint image.
 
virtual SubmissionIdentification getIdentification() const =0
Obtain identification and version information for this submission.
 
Interface()
Default constructor.
 
virtual ~Interface()
Destructor.
 
virtual std::tuple< CompareProprietaryTemplatesStatus, double > compareProprietaryTemplates(const std::vector< std::byte > &probeTemplate, const std::vector< std::byte > &referenceTemplate)=0
Perform a one-to-one comparison of proprietary templates.
 
Proprietary Fingerprint Template Evaluation III namespace.
 
FrictionRidgeGeneralizedPosition
Friction positions codes from ANSI/NIST-ITL 1-2011 (2015).
 
uint16_t API_MAJOR_VERSION
API major version number.
 
uint16_t API_PATCH_VERSION
API patch version number.
 
Result
Possible outcomes when performing operations.
 
@ Success
Successfully performed operation.
 
@ Failure
Failed to perform operation.
 
FrictionRidgeCaptureTechnology
Capture device codes from ANSI/NIST-ITL 1-2011 (2015).
 
Impression
Friction ridge impression types from ANSI/NIST-ITL 1-2011 (2015).
 
uint16_t API_MINOR_VERSION
API minor version number.
 
Information about the execution of template comparison.
 
CompareProprietaryTemplatesStatus(const Result result=Result::Success, const std::string &message="")
CompareProprietaryTemplatesStatus constructor.
 
static CompareProprietaryTemplatesStatus failure(const std::string &message="")
Convenience method for comparison failures.
 
Result result
Outcome of comparing two proprietary templates.
 
static CompareProprietaryTemplatesStatus success()
Convenience method for comparison success.
 
std::string message
Explanatory message (optional).
 
Output from extracting features into a proprietary template .
 
static CreateProprietaryTemplateResult success(const std::vector< std::byte > &proprietaryTemplate, const std::string &message="")
Convenience method for creation success.
 
Result result
Result of extracting features and creating a template.
 
std::vector< std::byte > proprietaryTemplate
Contents of the proprietary template.
 
static CreateProprietaryTemplateResult failure(const std::string &message="")
Convenience method for creation failures.
 
std::string message
Explanatory message (optional).
 
Data and metadata for an image containing a single fingerprint.
 
FingerImage()
Default constructor.
 
uint16_t ppi
Resolution of the image in pixels per inch.
 
FrictionRidgeCaptureTechnology frct
Capture technology that created this image.
 
std::vector< std::byte > pixels
Raw pixel data of image.
 
Impression imp
Impression type of the depicted finger.
 
FrictionRidgeGeneralizedPosition frgp
Position of the depicted finger.
 
uint16_t width
Width of the image.
 
uint16_t height
Height of the image.
 
Information about whether a FingerImage is supported.
 
Code code
Indication of if a FingerImage is supported.
 
FingerImageStatus(const Code code=Code::Supported, const std::string &message="")
FingerImageStatus constructor.
 
Code
Possible scenarios affecting input image data that could cause createProprietaryTemplates() to fail b...
 
@ Supported
Image is supported.
 
std::string message
Explanatory message.
 
Identifying information about this submission that will be included in reports.
 
std::tuple< std::string, bool > featureExtractionAlgorithmMarketingIdentifier
Non-infringing marketing name of the feature extraction algorithm included in this submission.
 
std::string libraryIdentifier
Non-infringing identifier of this submission.
 
std::tuple< uint16_t, bool > cbeffFeatureExtractionAlgorithmProductOwner
CBEFF Product Owner of the feature extraction algorithm, if registered.
 
std::tuple< uint16_t, bool > cbeffComparisonAlgorithmProductOwner
CBEFF Product Owner of the template comparison algorithm, if registered.
 
std::tuple< uint16_t, bool > cbeffComparisonAlgorithmIdentifier
CBEFF Comparison Algorithm Identifier, if registered.
 
std::tuple< uint16_t, bool > cbeffFeatureExtractionAlgorithmIdentifier
CBEFF Feature Extraction Algorithm Identifier, if registered.
 
uint16_t versionNumber
Version number of this submission.
 
std::tuple< std::string, bool > comparisonAlgorithmMarketingIdentifier
Non-infringing marketing name of the comparison algorithm included in this submission.
 
SubmissionIdentification()
Default constructor.