Tech5 Client Edition SDK 2.7.0
tech5_se.h
1#ifndef TECH5_SE_H_
2#define TECH5_SE_H_
3
4
5#if defined( WIN32 ) || defined(_WIN32_WCE) || defined(_WINDOWS)
6#define SDK_SE_PACKED_1
7#define SDK_SE_PACKED_8
8#elif defined( __linux__ ) || defined (__ANDROID__) || defined (ANDROID) || defined(__APPLE__)
9#define SDK_SE_PACKED_1 __attribute__ ((aligned(1),packed))
10#define SDK_SE_PACKED_8 __attribute__ ((aligned(8),packed))
11#else
12# error Cannot determine alignment - contact your vendor for support
13#endif
14
16
17// common values
18const int32_t S_MAX_DESCR_LEN = 255;
20const int32_t SEG_MAX_RECTS_COUNT = 100;
21
28// common return value
30const int32_t SE_OK = 0;
32const int32_t SE_UNKN_EXCEPTION = 1 ;
34const int32_t SE_LOW_MEMORY = 2 ;
36const int32_t SE_SYSTEM = 3 ;
38const int32_t SE_KEY = 4 ;
40const int32_t SE_TIME = 5 ;
42const int32_t SE_INIT = 6 ;
44const int32_t SE_HARDWARE = 7 ;
46const int32_t SE_WRONG_POINTER = 8 ;
48const int32_t SE_WRONG_PARAMETER = 9 ;
50const int32_t SE_LOAD_RESOURSE_DLL = 10 ;
52const int32_t SE_FAM = 11 ;
54const int32_t SE_JNI = 12 ;
56const int32_t SE_LICENSE_NOT_FOUND = 13;
58const int32_t SE_NOT_IMPLEMENTED = 14;
60const int32_t SE_MORE_DATA = 15;
61
63// process return values
73const int32_t SE_WRONG_DIB = 2000;
75const int32_t SE_IMAGE_TOO_BIG = 2002;
77const int32_t SE_WRONG_RESOLUTION = 2004;
79const int32_t SE_NO_IMAGE = 2006;
81const int32_t SE_PROCESSING = 2008;
83const int32_t SE_CANCEL = 2010;
85const int32_t SE_CONVERTION = 2012;
87const int32_t SE_IMPRESSION_TYPE = 2014;
90const int32_t SE_SAME_FING_ERR = 2016;
92const int32_t SE_NULL_IMAGE = 2018;
94const int32_t SE_DIF_FING = 2020;
97const int32_t SE_DIF_FING_SIZE_ERR = 2022;
99const int32_t SE_WRONG_IMAGE_SIZE = 2024;
101const int32_t SE_WSQ_ERR = 2026;
103const int32_t SE_PARSE_TEMPL = 2028;
105const int32_t SE_SMALL_REQUIRED_SIZE = 2030;
107const int32_t SE_WRONG_IMAGE = 2032;
109const int32_t SE_WRONG_IMAGE_PPI = 2034;
110
112// Matching algorithm return values
114const int32_t SE_WRONG_FINGER_NUMBER = 12002;
116const int32_t SE_WRONG_PROBE_TEMPLATE = 12010;
118const int32_t SE_WRONG_GALLERY_TEMPLATE = 12011;
120const int32_t SE_LOAD = 12012;
122const int32_t SE_MATCH = 12014;
124const int32_t SE_NO_FINGERS = 12016;
126const int32_t SE_NO_LOAD = 12018;
128const int32_t SE_WRONG_FINGER_NUM = 12020;
130const int32_t SE_NOT_ENOUGH_FINGERS = 12024;
132const int32_t SE_UNPACKED_TEMPL = 12030;
134const int32_t SE_NULL_TEMPLATE = 12032;
136const int32_t SE_UNPACK_INIT = 12034;
138const int32_t SE_NOT_SUPPORT_SSE3 = 12036;
140const int32_t SE_NOT_ALL_FINGES_LOADED = 12038;
142const int32_t SE_NOT_SUPPORT_SSE4_2 = 12040;
143
145// I/O operation return values
147const int32_t SE_OPEN_FILE = 22000;
149const int32_t SE_WRITE_FILE = 22001;
151const int32_t SE_READ_FILE = 22002;
152
154const int32_t SE_SGM_RES_WRN_NORECTS = 1000;
156const int32_t SE_SGM_RES_WRN_HAND = 1001;
158const int32_t SE_SGM_RES_ERR_IMAGE = 1002;
160const int32_t SE_SGM_RES_ERR_WIDTH = 1003;
162const int32_t SE_SGM_RES_ERR_HEIGHT = 1004;
164const int32_t SE_SGM_RES_ERR_PPI = 1005;
166const int32_t SE_SGM_RES_ERR_TYPE = 1006;
168const int32_t SE_SGM_RES_ERR_HAND = 1007;
170const int32_t SE_SGM_RES_ERR_IMP_TYPE = 1008;
172const int32_t SE_SGM_RES_ERR_POS = 1009;
174const int32_t SE_SGM_RES_ERR_EXCLUDE = 1010;
176const int32_t SE_SGM_RES_ERR_RECTS = 1011;
178const int32_t SE_SGM_RES_ERR_COUNT = 1012;
180const int32_t SE_SGM_RES_ERR_MEMORY = 1013;
182const int32_t SE_SGM_RES_ERR_UNKNOWN = 1099;
183 // end of ErrorGroup Error codes
185
187// STRUCTURES
189#if defined (_WINDOWS) || defined(_WIN32_WCE)
190#pragma pack(push,1)
191#endif
192
196struct SDK_SE_PACKED_1 SearchParams
197{
199 uint16_t maxAngle;
201 uint16_t maxDisp;
204
205
206#ifdef __cplusplus
208 {
209 maxAngle = 180;
210 maxDisp = 20;
211 searchSpeed = MATCH_SPEED::LOW_MATCH_SPEED;
212 }
213#endif // __cplusplus
214};
215
219struct SDK_SE_PACKED_1 SegRect
220{
224 int32_t left_top[2];
226 int32_t right_top[2];
228 int32_t left_bottom[2];
230 int32_t right_bottom[2];
231#ifdef __cplusplus
232 SegRect()
233 {
234 position = NIST_POS_CODE::POS_CODE_U_FINGER;
235 memset((void*)&left_top, 0, 2 * sizeof(left_top[0]));
236 memset((void*)&right_top, 0, 2 * sizeof(right_top[0]));
237 memset((void*)&left_bottom, 0, 2 * sizeof(left_bottom[0]));
238 memset((void*)&right_bottom, 0, 2 * sizeof(right_bottom[0]));
239 }
240#endif // __cplusplus
241};
242
243
244#if defined (_WINDOWS) || defined(_WIN32_WCE)
245#pragma pack(pop)
246#endif
247
251enum struct SegType
252{
254 SEG_TYPE_FINGER = 0,
256 SEG_TYPE_SLAP = 1,
258 SEG_TYPE_PALM = 2,
260 SEG_TYPE_EDGE = 3,
262 SEG_TYPE_THUMBS = 4,
264 SEG_TYPE_PALMS = 5,
266 SEG_TYPE_FULL_PALM = 6,
268 SEG_TYPE_CARD = 7,
269};
270
273// type of Hand
274enum struct SegHand
275{
277 SEG_HAND_UNKNOWN = 0,
279 SEG_HAND_LEFT = 1,
281 SEG_HAND_RIGHT = 2,
283 SEG_HAND_PROBABLY_LEFT = 3,
285 SEG_HAND_PROBABLY_RIGHT = 4
286};
287
288#endif // TECH5_SE_H_
MATCH_SPEEDMatching speed constants enumeration.
NIST_POS_CODEFriction ridge position enumeration.
SegHand.
SegTypeType of image.
const int32_t SE_HARDWARE
the computer's hardware not match to license
Definition: tech5_se.h:44
const int32_t SE_LOAD
error of template set loading
Definition: tech5_se.h:120
const int32_t SE_INIT
the SDK is not initialized
Definition: tech5_se.h:42
const int32_t SE_LICENSE_NOT_FOUND
license file not found or not set
Definition: tech5_se.h:56
const int32_t SE_CONVERTION
A conversion template from version 7.1 or from NIST to ISO format is fail.
Definition: tech5_se.h:85
const int32_t SE_NO_LOAD
function 'matchEx' was called before load the first set of templates by function 'loadtemplate' or no...
Definition: tech5_se.h:126
const int32_t SE_SGM_RES_WRN_NORECTS
no segmented rectangles
Definition: tech5_se.h:154
const int32_t SE_WRONG_POINTER
the value of the one of the pointer that was passed to the function is NULL
Definition: tech5_se.h:46
const int32_t SE_SGM_RES_WRN_HAND
wrong hand
Definition: tech5_se.h:156
const int32_t SE_KEY
the dongle is not plugged to computer
Definition: tech5_se.h:38
const int32_t SE_DIF_FING_SIZE_ERR
Definition: tech5_se.h:97
const int32_t SE_UNKN_EXCEPTION
Unknown exception raised.
Definition: tech5_se.h:32
const int32_t SE_DIF_FING
Two compared templates keep information about different fingers, so nothing was matched
Definition: tech5_se.h:94
const int32_t SE_WSQ_ERR
wsq decode error
Definition: tech5_se.h:101
const int32_t SE_SYSTEM
System error. You can get addition information call getErrorDescription function
Definition: tech5_se.h:36
const int32_t SE_SGM_RES_ERR_UNKNOWN
unknown error
Definition: tech5_se.h:182
const int32_t SE_WRONG_PARAMETER
the value of the one of the parameters out of range
Definition: tech5_se.h:48
const int32_t SE_NOT_IMPLEMENTED
No implementation for this function.
Definition: tech5_se.h:58
const int32_t SE_SGM_RES_ERR_IMP_TYPE
incorrect impression type (impType)
Definition: tech5_se.h:170
const int32_t SE_OPEN_FILE
cannot open or create the specified file
Definition: tech5_se.h:147
const int32_t SE_SGM_RES_ERR_WIDTH
incorrect image width (imgWidth)
Definition: tech5_se.h:160
const int32_t SE_WRITE_FILE
error occurs while writing to the specified file
Definition: tech5_se.h:149
const int32_t SE_TIME
the evaluation time is expired
Definition: tech5_se.h:40
const int32_t SE_PROCESSING
Error occurs while template building.
Definition: tech5_se.h:81
const int32_t SE_NOT_SUPPORT_SSE4_2
the CPU is not support the SSE4.2 instruction set
Definition: tech5_se.h:142
const int32_t SE_WRONG_FINGER_NUMBER
the number of fingers that was passed to function is wrong (should be >= 1 and <= 10)
Definition: tech5_se.h:114
const int32_t SE_WRONG_IMAGE
unsupported or invalid format of image or image data is corrupted
Definition: tech5_se.h:107
const int32_t SE_WRONG_GALLERY_TEMPLATE
gallery template has wrong format
Definition: tech5_se.h:118
const int32_t SE_WRONG_DIB
Definition: tech5_se.h:73
const int32_t SE_PARSE_TEMPL
error of parse template
Definition: tech5_se.h:103
const int32_t SE_NULL_IMAGE
passed image has zero size or pointer to the image is NULL
Definition: tech5_se.h:92
const int32_t SE_IMAGE_TOO_BIG
The image size is more then MAX_WIDTH x MAX_HEIGHT pixels.
Definition: tech5_se.h:75
const int32_t SE_READ_FILE
error occurs while reading from the specified file
Definition: tech5_se.h:151
const int32_t SE_SMALL_REQUIRED_SIZE
required template size is too small
Definition: tech5_se.h:105
const int32_t SE_JNI
JNI (java native interface) error.
Definition: tech5_se.h:54
const int32_t SE_OK
Success.
Definition: tech5_se.h:30
const int32_t SE_UNPACKED_TEMPL
You are trying to unpack template that already unpacked.
Definition: tech5_se.h:132
const int32_t SE_IMPRESSION_TYPE
Specified impression type is not supported.
Definition: tech5_se.h:87
const int32_t SE_CANCEL
A process canceled by user (one of callback function return false)
Definition: tech5_se.h:83
const int32_t SE_MORE_DATA
The size of buffer is not large enough for required data.
Definition: tech5_se.h:60
const int32_t SE_SGM_RES_ERR_IMAGE
no source image (img)
Definition: tech5_se.h:158
const int32_t SE_WRONG_IMAGE_PPI
unsupported or invalid image resolution
Definition: tech5_se.h:109
const int32_t SE_SGM_RES_ERR_HEIGHT
incorrect image height (imgHeight)
Definition: tech5_se.h:162
const int32_t SE_SGM_RES_ERR_EXCLUDE
not allocated memory for exclude position array (exclPos), but not null number of items (exclPosCount...
Definition: tech5_se.h:174
const int32_t SE_WRONG_FINGER_NUM
wrong number of finger (should be >= 1 and <= 10)
Definition: tech5_se.h:128
const int32_t SE_UNPACK_INIT
error of initialilize unpack library
Definition: tech5_se.h:136
const int32_t SE_SAME_FING_ERR
Definition: tech5_se.h:90
const int32_t SE_SGM_RES_ERR_MEMORY
not enough memory
Definition: tech5_se.h:180
const int32_t SE_WRONG_RESOLUTION
The dib passed to the 'process' function hasn't resolution 500 dpi.
Definition: tech5_se.h:77
const int32_t SE_NOT_SUPPORT_SSE3
the CPU is not support the SSE3 instruction set
Definition: tech5_se.h:138
const int32_t SE_NO_IMAGE
The fingerprint image is not found in the source image.
Definition: tech5_se.h:79
const int32_t SE_SGM_RES_ERR_HAND
incorrect hand (sgmHand)
Definition: tech5_se.h:168
const int32_t SE_MATCH
matching error
Definition: tech5_se.h:122
const int32_t SE_NULL_TEMPLATE
the pointer to the fpTemplate in TemplateData structure is NULL
Definition: tech5_se.h:134
const int32_t SE_NOT_ALL_FINGES_LOADED
some finger of tenprints wasn't loaded
Definition: tech5_se.h:140
const int32_t SE_SGM_RES_ERR_POS
incorrect fingerprint position in exclude position array (exclPos)
Definition: tech5_se.h:172
const int32_t SE_NOT_ENOUGH_FINGERS
the number of finger pairs is less than required by minMatch parameter
Definition: tech5_se.h:130
const int32_t SE_WRONG_PROBE_TEMPLATE
probe template has wrong format
Definition: tech5_se.h:116
const int32_t SE_SGM_RES_ERR_COUNT
incorrect number of rectangles (rectsCount) for specified segmentation type (sgmType)
Definition: tech5_se.h:178
const int32_t SE_LOAD_RESOURSE_DLL
cannot load dll
Definition: tech5_se.h:50
const int32_t SE_FAM
the licensed FAM not detected
Definition: tech5_se.h:52
const int32_t SE_SGM_RES_ERR_TYPE
incorrect segmentation type (sgmType)
Definition: tech5_se.h:166
const int32_t SE_LOW_MEMORY
Insufficient memory available.
Definition: tech5_se.h:34
const int32_t SE_WRONG_IMAGE_SIZE
one of the dib that was passed to process function has width or height is to big or too small for cho...
Definition: tech5_se.h:99
const int32_t SE_NO_FINGERS
two set of templates have no fingers with the same number or all templates passed to loadTemplate fuc...
Definition: tech5_se.h:124
const int32_t SE_SGM_RES_ERR_PPI
incorrect image resolution (imgPPI)
Definition: tech5_se.h:164
const int32_t SE_SGM_RES_ERR_RECTS
not allocated memory for rectangles array (rects)
Definition: tech5_se.h:176
SearchParamskeeps parameters of matching.
Definition: tech5_se.h:197
uint16_t maxAngle
maximum of the finger turn angle (0...180 degree)
Definition: tech5_se.h:199
enum MATCH_SPEED searchSpeed
one of the MATCH_SPEED constans searchSpeed works only with match_Templates_Tech5 and match_Templates...
Definition: tech5_se.h:203
uint16_t maxDisp
maximum of the finger displacement from the center of sensor surface, mm
Definition: tech5_se.h:201
SegRectkeeps properties of segmented image.
Definition: tech5_se.h:220
enum NIST_POS_CODE position
friction ridge position code (POS_CODE_...)
Definition: tech5_se.h:222