public class FingerprintMatcher extends ObjectFingerprint template representation optimized for fast 1:N matching.
FingerprintMatchermaintains data structures that improve matching speed at the cost of some RAM. It can efficiently match one probe fingerprint to many candidate fingerprints. New matcher is created by passing probe fingerprint template to
index(FingerprintTemplate)on an empty fingerprint matcher instantiated with
FingerprintMatcher()constructor. Candidate fingerprint templates are then passed one by one to
Constructors Constructor and Description
FingerprintMatcher()Instantiate an empty fingerprint matcher.
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description
index(FingerprintTemplate probe)Build search data structures over probe fingerprint template.
match(FingerprintTemplate candidate)Match candidate fingerprint to probe fingerprint and calculate similarity score.
public FingerprintMatcher()Instantiate an empty fingerprint matcher. Empty matcher does not match any
match(FingerprintTemplate). You can call
index(FingerprintTemplate)to index probe fingerprint and
match(FingerprintTemplate)to match it to some candidate fingerprint.
- See Also:
@Deprecated public FingerprintMatcher transparency(FingerprintTransparency transparency)Deprecated.Enable algorithm transparency. Since
FingerprintTransparencyis activated automatically via thread-local variable in recent versions of SourceAFIS, this method does nothing in current version of SourceAFIS. It will be removed in some later version.
public FingerprintMatcher index(FingerprintTemplate probe)Build search data structures over probe fingerprint template. Once this method is called, it is possible to call
match(FingerprintTemplate)to compare fingerprints. This method is heavy in terms of RAM footprint and CPU usage. Initialized
FingerprintMatchershould be reused for multiple
match(FingerprintTemplate)calls in 1:N matching.
public double match(FingerprintTemplate candidate)Match candidate fingerprint to probe fingerprint and calculate similarity score. Candidate fingerprint in
candidateparameter is matched to probe fingerprint previously passed to
index(FingerprintTemplate). Returned similarity score is a non-negative number that increases with similarity between probe and candidate fingerprints. Application should compare the score to a threshold with expression
(score >= threshold)to arrive at boolean match/non-match decision. Threshold 10 corresponds to FMR (False Match Rate, see Biometric Performance and Confusion matrix) of 10%, threshold 20 to FMR 1%, threshold 30 to FMR 0.1%, and so on. Recommended threshold is 40, which corresponds to FMR 0.01%. Correspondence between threshold and FMR is approximate and varies with quality of fingerprints being matched. Increasing threshold rapidly reduces FMR, but it also slowly increases FNMR (False Non-Match Rate). Threshold must be tailored to the needs of the application. This method is thread-safe. Multiple threads can match candidates against single