Skip to main content

Concepts

Fingerprint image data

The generator takes a fingerprint as an uncompressed raw 8-bit (one byte per pixel) grayscale image. The origin is the upper-left corner; the x-coordinate increases to the right, the y-coordinate increases downward.

Similarity scores

The matching functions return an integer similarity score from 0 to 1000 — a higher score means the two templates are more similar. To decide whether two templates come from the same finger, compare the score against a similarity threshold.

Scores are normalized; the approximate relationship to the False Accept Rate (FAR) is:

similarity score = -10 × log10(FAR)

This is only an approximation — the score distribution varies with scanner surface area, finger placement, finger quality, and finger position.

Threshold

The threshold sets the trade-off between False Accept Rate (FAR) and False Reject Rate (FRR): a higher threshold lowers FAR and raises FRR. For a standard application, a threshold corresponding to a FAR between 1:1,000 and 1:10,000 is recommended.

Indicative thresholds, measured on 200,000 non-matching pairs captured with an optical 500 DPI scanner:

FARThreshold
1:10020
1:1,00030
1:10,00040
1:100,00050

These depend on scanner type and data quality — validate them on your own data.

Fingerprint quality

The SDK reports a fingerprint image quality score from 0 to 100, computed per the guidelines in ANSI/INCITS 381 (and ISO/IEC 19794-4). Quality reflects the usable ridge surface: only well-defined, safely extractable ridges are counted, normalized by the total image surface. Read it via IEngine_GetImageQuality or the PARAM_FINGER_QUALITY template parameter.

Template formats

The SDK supports these template formats: ANSI INCITS 378, ISO/IEC 19794-2:2005, ISO/IEC 19794-2:2011, ISO/IEC 19794-2:2005 compact card, and ILO SID. Templates convert between formats via IEngine_ConvertTemplate, ANSI_ConvertToISO / ISO_ConvertToANSI, and the ISO card-CC conversions.

Matching uses only ANSI INCITS 378 or ISO/IEC 19794-2:2005 templates. For scale, an ANSI template is up to 1568 bytes and an ISO template up to 1566 bytes.