34#pragma pack(push, _CORE_PACKING)
42 NORMAL_MATCHING_MODE = 0,
45 CHECK_MIX_FINGER_MATCHING_MODE = 1,
47 CHECK_MIX_SLAP_MATCHING_MODE = 2,
49 CHECK_MIX_HAND_MATCHING_MODE = 3,
59 OPTIMAL_FUSION_MODE = 0,
63 LOW_BINNING_FUSION_MODE = 1,
65 HIGH_BINNING_FUSION_MODE = 2,
124#define MAX_PROTECT_LEN 512
126#define MAX_SINGULAR 16
128#define MIN_RESOLUTION 250
129#define MAX_RESOLUTION 1000
135#define MAX_SENSOR_NAME 50
136#define MAX_SENSORS 50
139#define MIN_REL_POINTS 32
140#define MAX_SCORE 10000
143#define SEARCH_SPEED_DEF LOWEST_MATCH_SPEED
144#define MAX_ANGLE_DEF 180
145#define MAX_DISP_DEF 400
146#define LOW_THRESHOLD_DEF 0
147#define HIGH_THRESHOLD_DEF MAX_SCORE
148#define MIN_MATCH_DEF 1
149#define MAX_MATCH_DEF 10
151#define DEF_MAX_FRAMES 8
190#pragma pack (push, _CORE_TIGHT)
200 int8_t specialFields[7];
238 left = right = top = bottom = 0;
252 this->left = frame.
left;
253 this->right = frame.
right;
254 this->top = frame.
top;
255 this->bottom = frame.
bottom;
362 fusionMode = FUSION_MODE::OPTIMAL_FUSION_MODE;
464 for(int32_t pos = 0; pos < 10; pos++)
473ENUM_DECLARATION PalmPart
476 RIGHT_LOWER_PALM = 1 ,
477 RIGHT_UPPER_PALM = 2 ,
478 RIGHT_WRITER_PALM = 3 ,
479 RIGHT_THENAR_PALM = 4 ,
480 RIGHT_HYPOTHENAR_PALM = 5 ,
481 RIGHT_INTERDIGITAL_PALM = 6 ,
482 LEFT_LOWER_PALM = 7 ,
483 LEFT_UPPER_PALM = 8 ,
484 LEFT_WRITER_PALM = 9 ,
485 LEFT_THENAR_PALM = 10 ,
486 LEFT_HYPOTHENAR_PALM = 11,
487 LEFT_INTERDIGITAL_PALM = 12
489static const uint32_t NUM_PALM_PARTS = 12;
491static const int8_t* getPalmPartName(int32_t palmPartPos)
496 return (int8_t*)
"unknown palm";
499 return (int8_t*)
"right lower palm";
502 return (int8_t*)
"right upper palm";
505 return (int8_t*)
"right writer's palm";
508 return (int8_t*)
"right thenar palm";
511 return (int8_t*)
"right hypothenar palm";
514 return (int8_t*)
"right interdigital palm";
517 return (int8_t*)
"left lower palm";
520 return (int8_t*)
"left upper palm";
523 return (int8_t*)
"left writer's palm";
526 return (int8_t*)
"left thenar palm";
529 return (int8_t*)
"left hypothenar palm";
532 return (int8_t*)
"left interdigital palm";
540static const int8_t* getFingerName(
enum FINGERS fingerPos)
545 case FINGERS::FINGPOS_RT :
546 return (int8_t*)
"right thumb";
548 case FINGERS::FINGPOS_RI :
549 return (int8_t*)
"right index";
551 case FINGERS::FINGPOS_RM :
552 return (int8_t*)
"right middle";
554 case FINGERS::FINGPOS_RR :
555 return (int8_t*)
"right ring";
557 case FINGERS::FINGPOS_RL :
558 return (int8_t*)
"right lettle";
560 case FINGERS::FINGPOS_LT :
561 return (int8_t*)
"left thumb";
563 case FINGERS::FINGPOS_LI :
564 return (int8_t*)
"left index";
566 case FINGERS::FINGPOS_LM :
567 return (int8_t*)
"left middle";
569 case FINGERS::FINGPOS_LR :
570 return (int8_t*)
"left ring";
572 case FINGERS::FINGPOS_LL :
573 return (int8_t*)
"left lettle";
577 return (int8_t*)
"right thumb";
580 return (int8_t*)
"right index";
583 return (int8_t*)
"right middle";
586 return (int8_t*)
"right ring";
589 return (int8_t*)
"right lettle";
592 return (int8_t*)
"left thumb";
595 return (int8_t*)
"left index";
598 return (int8_t*)
"left middle";
601 return (int8_t*)
"left ring";
604 return (int8_t*)
"left lettle";
630 for(uint32_t i = 0; i < 20; i++)
631 this->m_templ[i] = tp.
m_templ[i];
640 for(uint32_t i = 0; i < 20; i++)
665struct RLex :
public RL
673 RLex(int64_t regNum, int32_t finger, int32_t score)
677 this->score =
score ;
679 bool operator< (
const RLex &rl)
const
681 return this->score < rl.score;
683 operator int32_t ()
const
688typedef std::multiset <RLex, std::greater<int32_t> > RL_SET;
691struct Base_GalleryItem
697 Base_GalleryItem(std::string
id)
701 ~Base_GalleryItem() { }
702 Base_GalleryItem& operator= (
const Base_GalleryItem& item)
707 Base_GalleryItem(
const Base_GalleryItem& item)
726typedef bool (*ON_PRE_PROCESS)(
const LPVOID pContext,
FINGERS finger,
::Frame &frame);
738typedef bool (*ON_GET_QUALITY)(
const LPVOID pContext,
FINGERS finger,
int quality);
753typedef bool (*ON_PROCESS_1)(
754 const LPVOID pContext,
756 unsigned int pattern,
757 unsigned int numSingularity,
758 const Singular singular[MAX_SINGULAR]);
773typedef bool (*ON_SKELETON)(
const LPVOID pContext,
FINGERS finger, uint8_t *skeleton,
int skeletonSize);
FINGERSFinger position enumeration.
FP_TYPEFingerprint types enumeration.
FUSION_MODEenumeration for different modes of calculating fusion score.
MATCH_SPEEDMatching speed constants enumeration.
PATTERN_TYPEFignerprint pattern type enumeration.
SINGULAR_TYPESingural types enumeration.
CaptureDatastructure keeps information about image for image processing functions.
Definition: coreSdk.h:182
uint8_t * dib
pointer to the buffer that contains the device independent bitmap (DIB)
Definition: coreSdk.h:186
enum FINGERS numFinger
finger number
Definition: coreSdk.h:184
Featurestructure keeps information about position any features (minutiae and singularity) NOTE: all c...
Definition: common.h:501
Framestructure keeps information about how image was segmented.
Definition: coreSdk.h:225
int32_t left
left coordinates of segmented rectangle
Definition: coreSdk.h:227
int32_t top
top coordinates of segmented rectangle
Definition: coreSdk.h:231
int32_t bottom
bottom coordinates of segmented rectangle
Definition: coreSdk.h:233
int32_t right
right coordinates of segmented rectangle
Definition: coreSdk.h:229
MatchResultTTkeeps information about TP-TP (tenprint to tenprint) matching results.
Definition: coreSdk.h:438
uint32_t numMatched
number of really matched finger pairs
Definition: coreSdk.h:449
int8_t galleryPair[10]
Definition: coreSdk.h:447
int32_t score[10]
score for each probe finger (if it was matched) in a range 0...MAX_SCORE
Definition: coreSdk.h:442
int32_t fusionScore
TP-TP fusion score in a range 0...MAX_SCORE.
Definition: coreSdk.h:440
ProcessParamdefine information about image processing parameters.
Definition: coreSdk.h:373
bool doSegmentation
Definition: coreSdk.h:381
bool isLatent
if image is latent
Definition: coreSdk.h:402
bool allowsIncreaseFrame
Definition: coreSdk.h:392
bool ISO_compatible
need generate template that can be converted to ISO/IEC 19794 or INCITS 378 template
Definition: coreSdk.h:394
uint32_t maxHeight
Definition: coreSdk.h:400
uint32_t maxWidth
Definition: coreSdk.h:397
RLkeeps information about recommended list.
Definition: coreSdk.h:651
int32_t score
similarity score in a range 0...MAX_SCORE
Definition: coreSdk.h:657
uint64_t regNum
TP (tenprint) number.
Definition: coreSdk.h:653
int32_t finger
finger number. NOTE: this parameter is not used in TP-TP matching
Definition: coreSdk.h:655
SearchParamdefine information about matching parameters.
Definition: coreSdk.h:317
uint32_t maxDisp
the maximum of the displacement between center of two fingerprint images, pixels
Definition: coreSdk.h:325
uint32_t maxAngle
the maximum of the finger turn angle for all fingers except thumbs, (0...180 degree)
Definition: coreSdk.h:321
uint32_t maxAngleThumbs
the maximum of the finger turn angle for thumbs, (0...180 degree)
Definition: coreSdk.h:323
enum MATCHING_MODE matchingMode
matching mode defined in MATCHING_MODE enum
Definition: coreSdk.h:346
enum MATCH_SPEED searchSpeed
matching speed defined in MATCH_SPEED enum
Definition: coreSdk.h:319
int32_t highThreshold
hight threshold
Definition: coreSdk.h:340
int32_t lowThreshold
Definition: coreSdk.h:338
uint32_t minMatch
minimum number of finger pairs that should be matched (see comments above)
Definition: coreSdk.h:342
uint32_t maxMatch
maximum number of finger pairs that can be matched (see comments above)
Definition: coreSdk.h:344
enum FUSION_MODE fusionMode
fusion mode defined in FUSION_MODE enum
Definition: coreSdk.h:348
Singularstructure keeps information about Singular NOTE: all coordinates is applied to 500 DPI finger...
Definition: coreSdk.h:274
int32_t y
y positionf rom top-left corner, pixels
Definition: coreSdk.h:278
uint8_t prob
probability, %
Definition: coreSdk.h:280
enum SINGULAR_TYPE type
singular type
Definition: coreSdk.h:286
int32_t angle
direction (clockwise from OX axis), degree (-180...180)
Definition: coreSdk.h:282
uint8_t density
distance between redges, pixels
Definition: coreSdk.h:284
int32_t x
x position from top-left corner, pixels
Definition: coreSdk.h:276
TemplateDatafingerprint template data.
Definition: coreSdk.h:162
enum FINGERS numFinger
finger number
Definition: coreSdk.h:164
uint8_t * fpTemplate
pointer to the fingerprint template
Definition: coreSdk.h:166
TpTemplatekeeps information about TP(tenprint) template.
Definition: coreSdk.h:619
uint8_t * m_templ[20]
TECH5 template each of 10 roll + 10 flat fingers or 12 palm parts. NULL means template for correspond...
Definition: coreSdk.h:621