Nail to Nail Fingerprint Capture Challenge
API for participant-specific one-to-many template generation and template matching.
be_finger.h
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_FINGER_H__
12#define __BE_FINGER_H__
13
14#include <iostream>
15#include <map>
16#include <vector>
17
18#include <be_framework_enumeration.h>
19
20namespace BiometricEvaluation
21{
33 namespace Finger
34 {
37 {
38 PlainArch = 0,
39 TentedArch,
40 RadialLoop,
41 UlnarLoop,
42 PlainWhorl,
43 CentralPocketLoop,
44 DoubleLoop,
45 AccidentalWhorl,
46 Whorl,
47 RightSlantLoop,
48 LeftSlantLoop,
49 Scar,
50 Amputation,
51 Unknown
52 };
53
61 enum class Position
62 {
63 Unknown = 0,
64 RightThumb = 1,
65 RightIndex = 2,
66 RightMiddle = 3,
67 RightRing = 4,
68 RightLittle = 5,
69 LeftThumb = 6,
70 LeftIndex = 7,
71 LeftMiddle = 8,
72 LeftRing = 9,
73 LeftLittle = 10,
74 PlainRightThumb = 11,
75 PlainLeftThumb = 12,
76 PlainRightFourFingers = 13,
77 PlainLeftFourFingers = 14,
78 LeftRightThumbs = 15,
79 RightExtraDigit = 16,
80 LeftExtraDigit = 17,
81 UnknownFrictionRidge = 18,
82 EJI = 19,
83 RightIndexMiddle = 40,
84 RightMiddleRing = 41,
85 RightRingLittle = 42,
86 LeftIndexMiddle = 43,
87 LeftMiddleRing = 44,
88 LeftRingLittle = 45,
89 RightIndexLeftIndex = 46,
90 RightIndexMiddleRing = 47,
91 RightMiddleRingLittle = 48,
92 LeftIndexMiddleRing = 49,
93 LeftMiddleRingLittle = 50,
94 PlainRightFourTips = 51,
95 PlainLeftFourTips = 52,
96 PlainRightFiveTips = 53,
97 PlainLeftFiveTips = 54,
98 };
99 using PositionSet = std::vector<Position>;
100
102 enum class Impression
103 {
104 PlainContact = 0,
105 LiveScanPlain = 0,
106 RolledContact = 1,
107 LiveScanRolled = 1,
108 NonLiveScanPlain = 2,
109 NonLiveScanRolled = 3,
110 LatentImage = 4,
111 LatentImpression = 4,
112 LatentTracing = 5,
113 LatentPhoto = 6,
114 LatentLift = 7,
115 LiveScanSwipe = 8,
116 LiveScanVerticalSwipe = 8,
117 LiveScanPalm = 10,
118 NonLiveScanPalm = 11,
119 LatentPalmImpression = 12,
120 LatentPalmTracing = 13,
121 LatentPalmPhoto = 14,
122 LatentPalmLift = 15,
123 LiveScanOpticalContactPlain = 20,
124 LiveScanOpticalContactRolled = 21,
125 LiveScanNonOpticalContactPlain = 22,
126 LiveScanNonOpticalContactRolled = 23,
127 ContactlessPlainStationarySubject = 24,
128 LiveScanOpticalContactlessPlain = 24,
129 ContactlessRolledStationarySubject = 25,
130 LiveScanOpticalContactlessRolled = 25,
131 LiveScanNonOpticalContactlessPlain = 26,
132 LiveScanNonOpticalContactlessRolled = 27,
133 Other = 28,
134 Unknown = 29,
135 ContactlessRolledMovingSubject = 41,
136 ContactlessPlainMovingSubject = 42
137 };
138
140 enum class FingerImageCode {
141 EJI = 0,
142 RolledTip,
143 FullFingerRolled,
144 FullFingerPlainLeft,
145 FullFingerPlainCenter,
146 FullFingerPlainRight,
147 ProximalSegment,
148 DistalSegment,
149 MedialSegment,
150 NA
151 };
152 using PositionDescriptors = std::map<Position, FingerImageCode>;
153
156 {
157 Unknown = 0,
158 Other = 1,
159 ScannedInkOnPaper = 2,
160 OpticalTIRBright = 3,
161 OpticalTIRDark = 4,
162 OpticalDINative = 5,
163 OpticalDILowFrequenceyUnwrapped = 6,
164 ThreeDimensionalHighFrequencyUnwrapped = 7,
165 Capacitive = 9,
166 CapacitiveRF = 10,
167 Electroluminescent = 11,
168 ReflectedUltrasonic = 12,
169 UltrasonicImpediography = 13,
170 Thermal = 14,
171 DirectPressureSensitive = 15,
172 IndirectPressure = 16,
173 LiveTape = 17,
174 LatentImpression = 18,
175 LatentPhoto = 19,
176 LatentMold = 20,
177 LatentTracing = 21,
178 LatentLift = 22
179 };
180 }
181}
182
183BE_FRAMEWORK_ENUMERATION_DECLARATIONS(
185 BE_Finger_PatternClassification_EnumToStringMap);
186
187BE_FRAMEWORK_ENUMERATION_DECLARATIONS(
189 BE_Finger_Position_EnumToStringMap);
190
191 BE_FRAMEWORK_ENUMERATION_DECLARATIONS(
193 BE_Finger_Impression_EnumToStringMap);
194
195BE_FRAMEWORK_ENUMERATION_DECLARATIONS(
197 BE_Finger_FingerImageCode_EnumToStringMap);
198
199BE_FRAMEWORK_ENUMERATION_DECLARATIONS(
201 BE_Finger_CaptureTechnology_EnumToStringMap);
202
203#endif /* __BE_FINGER_H__ */
204
Position
Finger position codes.
Definition: be_finger.h:62
FingerImageCode
Joint and tip codes.
Definition: be_finger.h:140
PatternClassification
Pattern classification codes.
Definition: be_finger.h:37
Impression
Finger, palm, and latent impression types.
Definition: be_finger.h:103
CaptureTechnology
Friction Ridge Capture Technology codes.
Definition: be_finger.h:156