Biometric Middleware Server  0.0.1
Manage database management for biometrics and identification based on biometrics.
Data Structures | Macros | Typedefs | Functions
dpfj.h File Reference

U.are.U SDK FingerJet Engine API. More...

Go to the source code of this file.

Data Structures

struct  dpfj_ver_info
 API Version information. More...
 
struct  dpfj_version
 Complete information about library/SDK. More...
 
struct  dpfj_candidate
 Candidate, result of identification. More...
 
struct  dpfj_fid_record_params
 Define image properties. More...
 
struct  dpfj_fid_view_params
 Define fingerprint image view (FIV) properties. More...
 
struct  dpfj_fmd_record_params
 Define FMD properties. More...
 
struct  dpfj_fmd_view_params
 Define fingerprint minutiae view (FMV) properties. More...
 

Macros

#define DPFJ_SUCCESS   0
 API call succeeded.
 
#define DPFJ_E_NOT_IMPLEMENTED   DPERROR(0x0a)
 API call is not implemented.
 
#define DPFJ_E_FAILURE   DPERROR(0x0b)
 Unspecified failure. More...
 
#define DPFJ_E_NO_DATA   DPERROR(0x0c)
 No data is available.
 
#define DPFJ_E_MORE_DATA   DPERROR(0x0d)
 Memory allocated by application is not enough to contain data which is expected.
 
#define DPFJ_E_INVALID_PARAMETER   DPERROR(0x14)
 One or more parameters passed to the API call are invalid.
 
#define DPFJ_E_INVALID_FID   DPERROR(0x65)
 FID is invalid.
 
#define DPFJ_E_TOO_SMALL_AREA   DPERROR(0x66)
 Image is too small.
 
#define DPFJ_E_INVALID_FMD   DPERROR(0xc9)
 FMD is invalid.
 
#define DPFJ_E_ENROLLMENT_IN_PROGRESS   DPERROR(0x12d)
 Enrollment operation is in progress.
 
#define DPFJ_E_ENROLLMENT_NOT_STARTED   DPERROR(0x12e)
 Enrollment operation has not begun.
 
#define DPFJ_E_ENROLLMENT_NOT_READY   DPERROR(0x12f)
 Not enough in the pool of FMDs to create enrollment FMD.
 
#define DPFJ_E_ENROLLMENT_INVALID_SET   DPERROR(0x130)
 Unable to create enrollment FMD with the collected set of FMDs.
 
#define DPFJ_PROBABILITY_ONE   0x7fffffff
 Normalized value when probability = 1.
 
#define DPFJ_FID_ANSI_381_2004   0x001B0401
 
#define DPFJ_FID_ISO_19794_4_2005   0x01010007
 
#define DPFJ_FMD_ANSI_378_2004   0x001B0001
 
#define DPFJ_FMD_ISO_19794_2_2005   0x01010001
 
#define DPFJ_FMD_DP_PRE_REG_FEATURES   0
 
#define DPFJ_FMD_DP_REG_FEATURES   1
 
#define DPFJ_FMD_DP_VER_FEATURES   2
 
#define DPFJ_FMD_DP_PLATINUM_REG_FEATURES   3
 
#define DPFJ_POSITION_UNKNOWN   0
 
#define DPFJ_POSITION_RTHUMB   1
 
#define DPFJ_POSITION_RINDEX   2
 
#define DPFJ_POSITION_RMIDDLE   3
 
#define DPFJ_POSITION_RRING   4
 
#define DPFJ_POSITION_RLITTLE   5
 
#define DPFJ_POSITION_LTHUMB   6
 
#define DPFJ_POSITION_LINDEX   7
 
#define DPFJ_POSITION_LMIDDLE   8
 
#define DPFJ_POSITION_LRING   9
 
#define DPFJ_POSITION_LLITTLE   10
 
#define DPFJ_SCAN_LIVE_PLAIN   0
 
#define DPFJ_SCAN_LIVE_ROLLED   1
 
#define DPFJ_SCAN_NONLIVE_PLAIN   2
 
#define DPFJ_SCAN_NONLIVE_ROLLED   3
 
#define DPFJ_SCAN_SWIPE   8
 
#define DPFJ_ENGINE_DPFJ   0
 
#define DPFJ_ENGINE_INNOVATRICS_ANSIISO   1
 
#define DPFJ_ENGINE_DPFJ7   2
 
#define MAX_FMD_SIZE   (DPFJ_FMD_ANSI_378_2004_RECORD_HEADER_LENGTH + DPFJ_FMD_ANSI_ISO_VIEW_HEADER_LENGTH + 255 * DPFJ_FMD_ANSI_ISO_MINITIA_LENGTH + 2)
 Maximum size of a single-view FMD with no extended data block.
 

Typedefs

typedef int DPFJ_FID_FORMAT
 Fingerprint Image Data (FID) Format.
 
typedef int DPFJ_FMD_FORMAT
 Fingerptint Minutiae Data (FMD) Format.
 
typedef int DPFJ_FINGER_POSITION
 Defines finger position. More...
 
typedef int DPFJ_SCAN_TYPE
 Defines impression type. More...
 
typedef int DPFJ_ENGINE_TYPE
 Defines matching engine to use.
 
typedef void * DPFJ_DEV
 Reader handle. More...
 
typedef struct dpfj_ver_info DPFJ_VER_INFO
 API Version information.
 
typedef struct dpfj_version DPFJ_VERSION
 Complete information about library/SDK.
 
typedef struct dpfj_candidate DPFJ_CANDIDATE
 Candidate, result of identification.
 
typedef struct dpfj_fid_record_params DPFJ_FID_RECORD_PARAMS
 Define image properties. More...
 
typedef struct dpfj_fid_view_params DPFJ_FID_VIEW_PARAMS
 Define fingerprint image view (FIV) properties. More...
 
typedef struct dpfj_fmd_record_params DPFJ_FMD_RECORD_PARAMS
 Define FMD properties. More...
 
typedef struct dpfj_fmd_view_params DPFJ_FMD_VIEW_PARAMS
 Define fingerprint minutiae view (FMV) properties. More...
 

Functions

int DPAPICALL dpfj_version (DPFJ_VERSION *ver)
 Query the library and API version information. More...
 
int DPAPICALL dpfj_select_engine (DPFJ_DEV hdev, DPFJ_ENGINE_TYPE engine)
 Select matching engine. More...
 
int DPAPICALL dpfj_create_fmd_from_raw (const unsigned char *image_data, unsigned int image_size, unsigned int image_width, unsigned int image_height, unsigned int image_dpi, DPFJ_FINGER_POSITION finger_pos, unsigned int cbeff_id, DPFJ_FMD_FORMAT fmd_type, unsigned char *fmd, unsigned int *fmd_size)
 Extracts features and creates an FMD from a raw image. More...
 
int DPAPICALL dpfj_create_fmd_from_fid (DPFJ_FID_FORMAT fid_type, const unsigned char *fid, unsigned int fid_size, DPFJ_FMD_FORMAT fmd_type, unsigned char *fmd, unsigned int *fmd_size)
 Extracts features and creates an FMD from an ANSI or ISO image. More...
 
int DPAPICALL dpfj_compare (DPFJ_FMD_FORMAT fmd1_type, unsigned char *fmd1, unsigned int fmd1_size, unsigned int fmd1_view_idx, DPFJ_FMD_FORMAT fmd2_type, unsigned char *fmd2, unsigned int fmd2_size, unsigned int fmd2_view_idx, unsigned int *score)
 Compares two fingerprints. More...
 
int DPAPICALL dpfj_identify (DPFJ_FMD_FORMAT fmd1_type, unsigned char *fmd1, unsigned int fmd1_size, unsigned int fmd1_view_idx, DPFJ_FMD_FORMAT fmds_type, unsigned int fmds_cnt, unsigned char **fmds, unsigned int *fmds_size, unsigned int threshold_score, unsigned int *candidate_cnt, DPFJ_CANDIDATE *candidates)
 Compares a single fingerprint to an array of fingerprints. More...
 
int DPAPICALL dpfj_start_enrollment (DPFJ_FMD_FORMAT fmd_type)
 Starts enrollment operation. More...
 
int DPAPICALL dpfj_add_to_enrollment (DPFJ_FMD_FORMAT fmd_type, unsigned char *fmd, unsigned int fmd_size, unsigned int fmd_view_idx)
 Adds FMD to enrollment operation. More...
 
int DPAPICALL dpfj_create_enrollment_fmd (unsigned char *fmd, unsigned int *fmd_size)
 Creates and returns enrollment FMD. More...
 
int DPAPICALL dpfj_finish_enrollment ()
 Ends enrollment operation, releases memory. More...
 
int DPAPICALL dpfj_fmd_convert (DPFJ_FMD_FORMAT fmd1_type, unsigned char *fmd1, unsigned int fmd1_size, DPFJ_FMD_FORMAT fmd2_type, unsigned char *fmd2, unsigned int *fmd2_size)
 Converts an FMD from any supported format to any other supported format. More...
 
int DPAPICALL dpfj_dp_fid_convert (const unsigned char *dp_image, unsigned int dp_image_size, DPFJ_FID_FORMAT fid_type, unsigned int fid_dpi, unsigned int rotate180, unsigned char *fid, unsigned int *fid_size)
 Converts legacy DigitalPersona image to the image in ANSI or ISO format. More...
 
int DPAPICALL dpfj_raw_convert (const unsigned char *image_data, unsigned int image_size, unsigned int image_width, unsigned int image_height, unsigned int image_dpi, DPFJ_FINGER_POSITION finger_pos, unsigned int cbeff_id, DPFJ_FID_FORMAT fid_type, unsigned int fid_dpi, unsigned int rotate180, unsigned char *fid, unsigned int *fid_size)
 Converts raw image to the image in ANSI or ISO format. More...
 
void DPAPICALL dpfj_get_fid_record_params (DPFJ_FID_FORMAT image_type, const unsigned char *image, DPFJ_FID_RECORD_PARAMS *params)
 Read image properties from FID. More...
 
void DPAPICALL dpfj_set_fid_record_params (const DPFJ_FID_RECORD_PARAMS *params, DPFJ_FID_FORMAT image_type, unsigned char *image)
 Writes image properties to FID. More...
 
unsigned int DPAPICALL dpfj_get_fid_view_offset (DPFJ_FID_FORMAT image_type, const unsigned char *image, unsigned int view_idx)
 Returns pointer to the specified view from FID. More...
 
void DPAPICALL dpfj_get_fid_view_params (const unsigned char *view, DPFJ_FID_VIEW_PARAMS *params)
 Read image view properties from FID. More...
 
void DPAPICALL dpfj_set_fid_view_params (const DPFJ_FID_VIEW_PARAMS *params, unsigned char *view)
 Write image view properties to FID. More...
 
void DPAPICALL dpfj_get_fmd_record_params (DPFJ_FMD_FORMAT fmd_type, const unsigned char *fmd, DPFJ_FMD_RECORD_PARAMS *params)
 Read minutiae record properties from FMD. More...
 
void DPAPICALL dpfj_set_fmd_record_params (const DPFJ_FMD_RECORD_PARAMS *params, DPFJ_FMD_FORMAT fmd_type, unsigned char *fmd)
 Write minutiae record properties to FMD. More...
 
unsigned int DPAPICALL dpfj_get_fmd_view_offset (DPFJ_FMD_FORMAT fmd_type, const unsigned char *fmd, unsigned int view_idx)
 Return pointer to the specified view from FMD. More...
 
void DPAPICALL dpfj_get_fmd_view_params (const unsigned char *view, DPFJ_FMD_VIEW_PARAMS *params)
 Read view properties from FMD. More...
 
void DPAPICALL dpfj_set_fmd_view_params (const DPFJ_FMD_VIEW_PARAMS *params, unsigned char *view)
 Write view properties to FMD. More...
 

Detailed Description

U.are.U SDK FingerJet Engine API.

Data types and functions for feature extraction, matching and conversion.

Version
2.0.0

Macro Definition Documentation

#define DPFJ_E_FAILURE   DPERROR(0x0b)

Unspecified failure.

"Catch-all" generic failure code. Can be returned by all API calls in case of failure, when the reason for the failure is unknown or cannot be specified.

#define DPFJ_ENGINE_DPFJ   0

DigitalPersona FingerJet matching engine

#define DPFJ_ENGINE_DPFJ7   2

DigitalPersona FingerJet matching engine v7.0.0, Minex-certified

#define DPFJ_ENGINE_INNOVATRICS_ANSIISO   1

Innovatrics ANSI ISO Generator and Matcher

#define DPFJ_FID_ANSI_381_2004   0x001B0401

ANSI INSITS 381-2004 format

#define DPFJ_FID_ISO_19794_4_2005   0x01010007

ISO IEC 19794-4-2005 format

#define DPFJ_FMD_ANSI_378_2004   0x001B0001

ANSI INSITS 378-2004 Fingerprint Minutiae Data format

#define DPFJ_FMD_DP_PLATINUM_REG_FEATURES   3

deprecated format for compatibility with legacy Platinum systems

#define DPFJ_FMD_DP_PRE_REG_FEATURES   0

deprecated DigitalPersona pre-registration feature set format

#define DPFJ_FMD_DP_REG_FEATURES   1

deprecated DigitalPersona registration template format

#define DPFJ_FMD_DP_VER_FEATURES   2

deprecated DigitalPersona verification feature set format

#define DPFJ_FMD_ISO_19794_2_2005   0x01010001

ISO IEC 19794-2-2005 Fingerprint Minutiae Data format

#define DPFJ_POSITION_LINDEX   7

left index finger

#define DPFJ_POSITION_LLITTLE   10

left little finger

#define DPFJ_POSITION_LMIDDLE   8

left middle finger

#define DPFJ_POSITION_LRING   9

left ring finger

#define DPFJ_POSITION_LTHUMB   6

left thumb

#define DPFJ_POSITION_RINDEX   2

right index finger

#define DPFJ_POSITION_RLITTLE   5

right little finger

#define DPFJ_POSITION_RMIDDLE   3

right middle finger

#define DPFJ_POSITION_RRING   4

right ring finger

#define DPFJ_POSITION_RTHUMB   1

right thumb

#define DPFJ_POSITION_UNKNOWN   0

position unknown

#define DPFJ_SCAN_LIVE_PLAIN   0

Scan impression plain.

#define DPFJ_SCAN_LIVE_ROLLED   1

Scan impression rolled.

#define DPFJ_SCAN_NONLIVE_PLAIN   2

Offline scan impression plain.

#define DPFJ_SCAN_NONLIVE_ROLLED   3

Offline scan impression rolled.

#define DPFJ_SCAN_SWIPE   8

Scan impression swiped.

Typedef Documentation

typedef void* DPFJ_DEV

Reader handle.

Reader handle acquired by calling dpfpdd_open().

Define image properties.

Structure defines image properties for FIDs in ANSI 381-2004 and ISO 19794-4-2005 formats.

Define fingerprint image view (FIV) properties.

Structure defines image view properties for FIVs in ANSI 381-2004 and ISO 19794-4-2005 formats.

typedef int DPFJ_FINGER_POSITION

Defines finger position.

Finger position according to ANSI 378-2004 and ISO 19794-2-2005 standards.

Define FMD properties.

Structure defines minutiae data properties for FMDs in ANSI 378-2004 and ISO 19794-2-2005 formats.

Define fingerprint minutiae view (FMV) properties.

Structure defines minutiae view properties for FMVs in ANSI 378-2004 and ISO 19794-2-2005 formats.

typedef int DPFJ_SCAN_TYPE

Defines impression type.

Impression type according to ANSI 378-2004 and ISO 19794-2-2005 standards

Function Documentation

int DPAPICALL dpfj_add_to_enrollment ( DPFJ_FMD_FORMAT  fmd_type,
unsigned char *  fmd,
unsigned int  fmd_size,
unsigned int  fmd_view_idx 
)

Adds FMD to enrollment operation.

Add an FMD to the pool of FMDs for enrollment and return a flag indicating when the enrollment is ready. This function must be called before dpfj_create_enrollment_fmd.

Parameters
fmd_typetype of the FMD.
fmdpointer to the FMD data.
fmd_sizesize of the FMD data.
fmd_view_idxindex of the view
Returns
DPFJ_SUCCESS: FMD added, enrollment is ready.
DPFJ_E_MORE_DATA: FMD added, more FMDs for enrollment required.
DPFJ_E_INVALID_PARAMETER: One or more parameters passed are invalid.
DPFJ_E_ENROLLMENT_NOT_STARTED: Enrollment is not started.
DPFJ_E_FAILURE: Unknown error.
int DPAPICALL dpfj_compare ( DPFJ_FMD_FORMAT  fmd1_type,
unsigned char *  fmd1,
unsigned int  fmd1_size,
unsigned int  fmd1_view_idx,
DPFJ_FMD_FORMAT  fmd2_type,
unsigned char *  fmd2,
unsigned int  fmd2_size,
unsigned int  fmd2_view_idx,
unsigned int *  score 
)

Compares two fingerprints.

Given two single views from two FMDs, this function returns a dissimilarity score indicating the quality of the match. The dissimilarity scores returned values are between: 0=match maxint=no match Values close to 0 indicate very close matches, values closer to maxint indicate very poor matches. For a discussion of how to evaluate dissimilarity scores, as well as the statistical validity of the dissimilarity score and error rates, consult the Developer Guide. The dpfj_compare function returns DPFJ_SUCCESS if it is able to compare the fingerprints successfully (i.e., the FMDs are valid and correctly formed). However that does not mean that the fingerprints matched. To check whether they matched, you must look at the dissimilarity score.

Parameters
fmd1_typetype of the first FMD
fmd1pointer to the first FMD
fmd1_sizesize of the first FMD
fmd1_view_idxindex of the view
fmd2_typetype of the second FMD
fmd2pointer to the second FMD
fmd2_sizesize of the second FMD
fmd2_view_idxindex of the view
scorepointer to receive dissimilarity score
Returns
DPFJ_SUCCESS: Comparison finished;
DPFJ_E_FAILURE: Unknown error.
int DPAPICALL dpfj_create_enrollment_fmd ( unsigned char *  fmd,
unsigned int *  fmd_size 
)

Creates and returns enrollment FMD.

Create an FMD for an enrolled finger. The output FMD is suitable for storing in a database of enrolled users. Some applications like voting, banking and law enforcement require that you check for duplicate fingerprints before storing a new fingerprint in the database. For ANSI/ISO formats, the enrollment FMD is a standard FMD (the same as an FMD generated by the extraction function). For the DigitalPersona data format, the enrollment FMD uses the "fingerprint template" format as used by legacy DigitalPersona applications. This function must be called after dpfj_add_to_enrollment. The size of the resulting FMD will vary depending on the minutiae in the fingerprint(s) that were enrolled. The maximum possible size of an FMD is MAX_FMD_SIZE. If the value pointed to by fmd_size is zero, the function will return with the error code DPFJ_E_MORE_DATA and the required size will be stored in the value pointed to by fmd_size. In order to determine the size, this function processes the image, extracts features and discards the FMD, so it takes significant processing time. However if memory shortages are a key issue, this allows you to allocate memory more efficiently at the expense of processing time. If memory is available, you will get the best performance if you always allocate MAX_FMD_SIZE for the FMD. The value pointed to by fmd_size will always be returned as the actual size of the FMD that was extracted.

Parameters
fmdpointer to recieve FMD data
fmd_sizepointer to allocated size for the FMD data, pointer to receive the actual size of the FMD data
Returns
DPFJ_SUCCESS: FMD created.
DPFJ_E_MORE_DATA: FMD created, but allocated memory is not sufficient. The required memory size is in the fmd_size.
DPFJ_E_INVALID_PARAMETER: One or more parameters passed are invalid.
DPFJ_E_ENROLLMENT_NOT_STARTED: Enrollment is not started.
DPFJ_E_FAILURE: Unknown error.
int DPAPICALL dpfj_create_fmd_from_fid ( DPFJ_FID_FORMAT  fid_type,
const unsigned char *  fid,
unsigned int  fid_size,
DPFJ_FMD_FORMAT  fmd_type,
unsigned char *  fmd,
unsigned int *  fmd_size 
)

Extracts features and creates an FMD from an ANSI or ISO image.

This function works with FIDs that have

  • 8 bits per pixel
  • no padding
  • square pixels (dpi is the same for horizontal and vertical) The size of the resulting FMD will vary depending on the minutiae in a specific fingerprint. The maximum possible size of a single-view FMD is MAX_FMD_SIZE. If the value pointed to by fmd_size is zero, the function will return with the error code DPFJ_E_MORE_DATA and the required size will be stored in the value pointed to by fmd_size. In order to determine the size, this function processes the image, extracts the FMD and discards the FMD, so it takes significant processing time. However if memory shortages are a key issue, this allows you to allocate memory more efficiently at the expense of processing time. If memory is available, you will get the best performance if you always allocate MAX_FMD_SIZE for the FMD. The value pointed to by fmd_size will always be returned as the actual size of the FMD that was extracted.
Parameters
fid_typetype of the FID
fidpointer to the FID data
fid_sizesize of the FID data
fmd_typetype of the FMD
fmdpointer to recieve FMD data
fmd_sizepointer to allocated size for the FMD, pointer to receive the actual size of the FMD
Returns
DPFJ_SUCCESS: FMD was created;
DPFJ_E_MORE_DATA: Features extracted, but allocated memory is not sufficient for FMD. The required memory size is in the fmd_size.
DPFJ_E_INVALID_PARAMETER: One or more parameters passed are invalid.
DPFJ_E_FAILURE: Failed to create FMD.
int DPAPICALL dpfj_create_fmd_from_raw ( const unsigned char *  image_data,
unsigned int  image_size,
unsigned int  image_width,
unsigned int  image_height,
unsigned int  image_dpi,
DPFJ_FINGER_POSITION  finger_pos,
unsigned int  cbeff_id,
DPFJ_FMD_FORMAT  fmd_type,
unsigned char *  fmd,
unsigned int *  fmd_size 
)

Extracts features and creates an FMD from a raw image.

When you do a fingerprint capture, you can receive a raw image or a FID. If you specify a raw image, you can then extract features into an FMD using this function. The raw image is just a buffer of pixels. This function works with raw images that have

  • 8 bits per pixel
  • no padding
  • square pixels (dpi is the same for horizontal and vertical)

The size of the resulting FMD will vary depending on the minutiae in a specific fingerprint. The maximum possible size of a single-view FMD is MAX_FMD_SIZE. If the value pointed to by fmd_size is zero, the function will return with the error code DPFJ_E_MORE_DATA and the required size will be stored in the value pointed to by fmd_size. In order to determine the size, this function processes the image, extracts features and discards the FMD, so it takes significant processing time. However if memory shortages are a key issue, this allows you to allocate memory more efficiently at the expense of processing time. If memory is available, you will get the best performance if you always allocate MAX_FMD_SIZE for the FMD. The value pointed to by fmd_size will always be returned as the actual size of the FMD that was extracted.

Parameters
image_datapointer to the image data
image_sizesize of the image data
image_widthwidth of the image
image_heightheight of the image
image_dpiresolution of the image
finger_posposition of the finger
cbeff_idCBEFF product ID, from IBIA registry
fmd_typetype of the FMD
fmdpointer to recieve FMD
fmd_sizepointer to allocated size for the FMD, pointer to receive the actual size of the FMD
Returns
DPFJ_SUCCESS: FMD was created;
DPFJ_E_MORE_DATA: Features extracted, but allocated memory is not sufficient for FMD. The required memory size is in the fmd_size.
DPFJ_E_INVALID_PARAMETER: One or more parameters passed are invalid.
DPFJ_E_FAILURE: Failed to create FMD.
int DPAPICALL dpfj_dp_fid_convert ( const unsigned char *  dp_image,
unsigned int  dp_image_size,
DPFJ_FID_FORMAT  fid_type,
unsigned int  fid_dpi,
unsigned int  rotate180,
unsigned char *  fid,
unsigned int *  fid_size 
)

Converts legacy DigitalPersona image to the image in ANSI or ISO format.

Parameters
dp_imagepointer to the DP image data
dp_image_sizesize of the DP image data
fid_typetype of the FID
fid_dpiresolution of the FID, valid values are 500 and 1000
rotate180flag: rotate image, 0 - do not rotate, 1 - rotate
fidpointer to receive FID data
fid_sizepointer to receive the size of the FID
Returns
DPFJ_SUCCESS: FID was created
DPFJ_E_FAILURE: Failed to create FID
int DPAPICALL dpfj_finish_enrollment ( )

Ends enrollment operation, releases memory.

This function releases resources used during the enrollment process. Call after enrollment is complete.

Returns
DPFJ_SUCCESS: Enrollment ended.
DPFJ_E_FAILURE: Unknown error.
int DPAPICALL dpfj_fmd_convert ( DPFJ_FMD_FORMAT  fmd1_type,
unsigned char *  fmd1,
unsigned int  fmd1_size,
DPFJ_FMD_FORMAT  fmd2_type,
unsigned char *  fmd2,
unsigned int *  fmd2_size 
)

Converts an FMD from any supported format to any other supported format.

Parameters
fmd1_typetype of the input FMD
fmd1pointer to the input FMD data
fmd1_sizesize of the input FMD data
fmd2_typetype of the target FMD
fmd2pointer to receive target FMD data
fmd2_sizepointer to allocated size for the FMD data, pointer to receive the actual size of the FMD data
Returns
DPFJ_SUCCESS: FMD was converted;
DPFJ_E_INVALID_PARAMETER: One or more parameters passed are invalid.
DPFJ_E_FAILURE: Failed to convert FMD.
void DPAPICALL dpfj_get_fid_record_params ( DPFJ_FID_FORMAT  image_type,
const unsigned char *  image,
DPFJ_FID_RECORD_PARAMS params 
)

Read image properties from FID.

Parameters
image_typetype of the FID (per DPFJ_FID_FORMAT)
imagepointer to the FID
paramspointer to the structure to receive image properties
Returns
void
unsigned int DPAPICALL dpfj_get_fid_view_offset ( DPFJ_FID_FORMAT  image_type,
const unsigned char *  image,
unsigned int  view_idx 
)

Returns pointer to the specified view from FID.

Parameters
image_typetype of the FID (per DPFJ_FID_FORMAT)
imagepointer to the FID
view_idxview index
Returns
offset to the specified view
void DPAPICALL dpfj_get_fid_view_params ( const unsigned char *  view,
DPFJ_FID_VIEW_PARAMS params 
)

Read image view properties from FID.

Parameters
viewpointer to the view from the FID
paramspointer to the structure to receive view properties
Returns
void
void DPAPICALL dpfj_get_fmd_record_params ( DPFJ_FMD_FORMAT  fmd_type,
const unsigned char *  fmd,
DPFJ_FMD_RECORD_PARAMS params 
)

Read minutiae record properties from FMD.

Parameters
fmd_typeformat of the FMD (per DPFJ_FMD_FORMAT)
fmdpointer to the FMD
paramspointer to the structure to receive FMD properties
Returns
void
unsigned int DPAPICALL dpfj_get_fmd_view_offset ( DPFJ_FMD_FORMAT  fmd_type,
const unsigned char *  fmd,
unsigned int  view_idx 
)

Return pointer to the specified view from FMD.

Parameters
fmd_typeformat of the FMD (per DPFJ_FMD_FORMAT)
fmdpointer to the FMD
view_idxview index
Returns
offset to the specified view
void DPAPICALL dpfj_get_fmd_view_params ( const unsigned char *  view,
DPFJ_FMD_VIEW_PARAMS params 
)

Read view properties from FMD.

Parameters
viewpointer to the view from the FMD
paramspointer to the structure to receive view properties
Returns
void
int DPAPICALL dpfj_identify ( DPFJ_FMD_FORMAT  fmd1_type,
unsigned char *  fmd1,
unsigned int  fmd1_size,
unsigned int  fmd1_view_idx,
DPFJ_FMD_FORMAT  fmds_type,
unsigned int  fmds_cnt,
unsigned char **  fmds,
unsigned int *  fmds_size,
unsigned int  threshold_score,
unsigned int *  candidate_cnt,
DPFJ_CANDIDATE candidates 
)

Compares a single fingerprint to an array of fingerprints.

This function takes as inputs:

  • a single view in an FMD
  • an array of FMDs (each FMD can contain up to 16 views) to compare
  • the desired number of candidates to return
  • the threshold for False Positive Identification Rate that is permitted This function compares a single view against an array of FMDs. Each time view has a score lower than the threshold, that view is marked as a possible candidate. Then when all possible candidates are identified (i.e., they meet the threshold), they are ranked by their score. Finally, the function returns as many candidates as requested, based on the candidates with the lowest dissimilarity score. For a discussion of setting the threshold as well as the statistical validity of the dissimilarity score and error rates, consult the Developer Guide.
Parameters
fmd1_typetype of the FMDs
fmd1pointer to the first FMD data
fmd1_sizesize of the first FMD data
fmd1_view_idxindex of the view
fmds_typetype of the FMDs in the fmds array
fmds_cntnumber of FMDs in the fmds array
fmdsarray of FMDs
fmds_sizearray of sizes of the FMDs data
threshold_scoretarget threshold on degree of dissimilarity
candidate_cnt[in] number of allocated entries in the candidates array; [out] receives the actual number of candidates filled in the array as a result of identification
candidatesarray of candidates
Returns
DPFJ_SUCESS: Identification finished;
DPFJ_E_FAILURE: Unknown error.
int DPAPICALL dpfj_raw_convert ( const unsigned char *  image_data,
unsigned int  image_size,
unsigned int  image_width,
unsigned int  image_height,
unsigned int  image_dpi,
DPFJ_FINGER_POSITION  finger_pos,
unsigned int  cbeff_id,
DPFJ_FID_FORMAT  fid_type,
unsigned int  fid_dpi,
unsigned int  rotate180,
unsigned char *  fid,
unsigned int *  fid_size 
)

Converts raw image to the image in ANSI or ISO format.

Parameters
image_datapointer to the image data
image_sizesize of the image data
image_widthwidth of the image
image_heightheight of the image
image_dpiresolution of the image
finger_posposition of the finger
cbeff_idCBEFF product ID, from IBIA registry
fid_typetype of the FID
fid_dpiresolution of the FID, valid values are 500 and 1000
rotate180flag: rotate image, 0 - do not rotate, 1 - rotate
fidpointer to receive FID data
fid_sizepointer to receive the size of the FID
Returns
DPFJ_SUCCESS: FID was created
DPFJ_E_FAILURE: Failed to create FID
int DPAPICALL dpfj_select_engine ( DPFJ_DEV  hdev,
DPFJ_ENGINE_TYPE  engine 
)

Select matching engine.

DigitalPersona FingerJet is default engine used if this function is not called. FingerJet is available on all platforms and does not require open reader (parameter hdev can be NULL). Not every other engine is available on every platform. Some engines require valid handle from opened reader to be supplied.

Parameters
hdev[in] Reader handle.
engine[in] Matching engine to use.
Returns
DPFJ_SUCCESS: Engine is selected;
DPFJ_E_NOT_IMPLEMENTED: Requested engine is not supported of this platform.
void DPAPICALL dpfj_set_fid_record_params ( const DPFJ_FID_RECORD_PARAMS params,
DPFJ_FID_FORMAT  image_type,
unsigned char *  image 
)

Writes image properties to FID.

Parameters
paramspointer to the structure containing image properties
image_typeformat of the FID (per DPFJ_FID_FORMAT)
imagepointer to the FID
Returns
void
void DPAPICALL dpfj_set_fid_view_params ( const DPFJ_FID_VIEW_PARAMS params,
unsigned char *  view 
)

Write image view properties to FID.

Parameters
paramspointer to the structure containing view properties
viewpointer to the view from the FID
Returns
void
void DPAPICALL dpfj_set_fmd_record_params ( const DPFJ_FMD_RECORD_PARAMS params,
DPFJ_FMD_FORMAT  fmd_type,
unsigned char *  fmd 
)

Write minutiae record properties to FMD.

Parameters
paramspointer to the structure containing FMD properties
fmd_typeformat of the FMD (per DPFJ_FMD_FORMAT)
fmdpointer to the FMD
Returns
void
void DPAPICALL dpfj_set_fmd_view_params ( const DPFJ_FMD_VIEW_PARAMS params,
unsigned char *  view 
)

Write view properties to FMD.

Parameters
paramspointer to the structure containing view properties
viewpointer to the view from the FMD
Returns
void
int DPAPICALL dpfj_start_enrollment ( DPFJ_FMD_FORMAT  fmd_type)

Starts enrollment operation.

Parameters
fmd_typetype of FMD to produce as a result of enrollment operation
Returns
DPFJ_SUCCESS: Enrollment started.
DPFJ_E_INVALID_PARAMETER: Requested FMD type is invalid.
DPFJ_E_ENROLLMENT_IN_PROGRESS: Another enrollment operation is in prgress.
DPFJ_E_FAILURE: Unknown error.
int DPAPICALL dpfj_version ( DPFJ_VERSION ver)

Query the library and API version information.

Parameters
ver[in] Pointer to the empty structure (per DPFJ_VERSION); [out] Pointer to structure containing version information
Returns
DPFJ_SUCCESS: Version information was acquired;
DPFJ_E_FAILURE: Failed to acquire version information.