NIST Biometric Evaluation Framework
Software components for biometric technology evaluations
be_feature_an2k7minutiae.h
Go to the documentation of this file.
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#ifndef __BE_FEATURE_AN2K7MINUTIAE_H__
12#define __BE_FEATURE_AN2K7MINUTIAE_H__
13
14#include <iostream>
15
17#include <be_feature_minutiae.h>
18#include <be_finger.h>
19#include <be_memory_autoarray.h>
20
21namespace BiometricEvaluation
22{
23 namespace Feature
24 {
33 class AN2K7Minutiae : public Minutiae {
34 public:
35
41 public:
42 struct Entry {
55 bool standard,
56 std::string code);
57
67 std::string code;
68 };
69 using Entry = struct Entry;
70
72 };
74 std::vector<PatternClassification::Entry>;
75
90 const char *fpc);
91
105 const PatternClassification::Entry &entry);
106
111 enum class EncodingMethod
112 {
114 Automatic = 0,
116 AutomaticUnedited,
118 AutomaticEdited,
119 /* Manually encoded */
120 Manual
121 };
122
135 static EncodingMethod
137 const char *mem);
138
146 std::string name;
150 std::string equipment;
151 };
154
179 const std::string &filename,
180 int recordNumber);
181
204 int recordNumber);
205
216
226
230 const;
231
250 static Image::Coordinate
252 const char *str,
253 bool calculateDistance = true);
254
255 /*
256 * Feature::Minutiae implementations.
257 */
263
264 protected:
265 private:
266 void readType9Record(
268 int recordNumber);
269
270 MinutiaPointSet _minutiaPointSet;
271 RidgeCountItemSet _ridgeCountItemSet;
272 CorePointSet _corePointSet;
273 DeltaPointSet _deltaPointSet;
277 std::string _userdefinedFpc;
278
279 };
281 std::vector<std::shared_ptr<AN2K7Minutiae>>;
282
287 std::ostream&
289 std::ostream&,
291 }
292}
293
296 BE_Feature_EncodingMethod_EnumToStringMap);
297
298#endif /* __BE_FEATURE_AN2K7MINUTIAE_H__ */
299
BE_FRAMEWORK_ENUMERATION_DECLARATIONS(BiometricEvaluation::Feature::AN2K7Minutiae::EncodingMethod, BE_Feature_EncodingMethod_EnumToStringMap)
A class to represent a set of minutiae in an ANSI/NIST record.
static Image::Coordinate convertCoordinate(const char *str, bool calculateDistance=true)
Obtain a Coordinate given an AN2K entry.
static Finger::PatternClassification convertPatternClassification(const char *fpc)
Convert string read from AN2K record into a PatternClassification.
FingerprintReadingSystem getOriginatingFingerprintReadingSystem() const
RidgeCountItemSet getRidgeCountItems() const
Obtain the set of ridge count data items.
AN2K7Minutiae(Memory::uint8Array &buf, int recordNumber)
Construct an AN2K7 Minutiae object from data contained in a memory buffer.
std::vector< PatternClassification::Entry > PatternClassificationSet
AN2K7Minutiae(const std::string &filename, int recordNumber)
Construct an AN2K7 Minutiae object from file data.
PatternClassificationSet getPatternClassificationSet() const
Obtain the set fingerprint pattern classifications.
static Finger::PatternClassification convertPatternClassification(const PatternClassification::Entry &entry)
Convert a standard PatternClassification::Entry to a PatternClassification::Kind.
MinutiaeFormat getFormat() const
Obtain the minutiae format kind.
DeltaPointSet getDeltas() const
Obtains the set of delta positions.
MinutiaPointSet getMinutiaPoints() const
Obtain the set of finger minutiae data points.
CorePointSet getCores() const
Obtains the set of core positions.
Finger::PositionSet getPositions() const
Obtain the set of possible finger positions.
EncodingMethod
Methods for encoding minutiae data in an AN2K record.
static EncodingMethod convertEncodingMethod(const char *mem)
Convert string read from AN2K record into a EncodingMethod.
A class to represent a set of minutiae data points.
MinutiaeFormat
Enumerate the minutiae format standards.
std::vector< MinutiaPoint > MinutiaPointSet
std::vector< std::shared_ptr< AN2K7Minutiae > > AN2K7MinutiaeSet
std::vector< DeltaPoint > DeltaPointSet
std::ostream & operator<<(std::ostream &s, const Feature::FGP &fgp)
Output stream overload for FrictionRidgeGeneralizedPosition.
std::vector< RidgeCountItem > RidgeCountItemSet
std::vector< CorePoint > CorePointSet
std::vector< Position > PositionSet
Definition: be_finger.h:99
PatternClassification
Pattern classification codes.
Definition: be_finger.h:37
This software was developed at the National Institute of Standards and Technology (NIST) by employees...
Representation of information about a fingerprint reader system.
std::string equipment
Optional ID for equipment used in system.
Entry(bool standard, std::string code)
Create an Entry struct.
bool standard
Whether code is a standard AN2K pattern classification code.
std::string code
AN2K or user-defined pattern classification code.
A structure to contain a two-dimensional coordinate without a specified origin.
Definition: be_image.h:67