public class FingerprintMatcher extends Object
FingerprintMatcher
maintains 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 FingerprintMatcher(FingerprintTemplate)
constructor. Candidate fingerprint templates are then passed one by one to match(FingerprintTemplate)
method.
FingerprintTemplate
Constructor and Description |
---|
FingerprintMatcher()
Deprecated.
Use
FingerprintMatcher(FingerprintTemplate) constructor to fully initialize the matcher.
|
FingerprintMatcher(FingerprintTemplate probe)
Creates fingerprint template representation optimized for fast 1:N matching.
|
Modifier and Type | Method and Description |
---|---|
FingerprintMatcher |
index(FingerprintTemplate probe)
Deprecated.
Use
FingerprintMatcher(FingerprintTemplate) constructor to initialize the matcher.
|
double |
match(FingerprintTemplate candidate)
Matches candidate fingerprint to probe fingerprint and calculates similarity score.
|
FingerprintMatcher |
transparency(FingerprintTransparency transparency)
Deprecated.
Use thread-local instance of
FingerprintTransparency instead.
|
public FingerprintMatcher(FingerprintTemplate probe)
match(FingerprintTemplate)
.
This constructor is expensive in terms of RAM footprint and CPU usage. Initialized FingerprintMatcher
should be reused for multiple match(FingerprintTemplate)
calls in 1:N matching.
probe
- probe fingerprint template to be matched to candidate fingerprints
NullPointerException
- if probe
is null
match(FingerprintTemplate)
@Deprecated public FingerprintMatcher()
FingerprintMatcher(FingerprintTemplate)
constructor to fully initialize the matcher.
FingerprintMatcher(FingerprintTemplate)
@Deprecated public FingerprintMatcher transparency(FingerprintTransparency transparency)
FingerprintTransparency
instead.
transparency
- target FingerprintTransparency
or null
to disable algorithm transparency
this
(fluent method)
FingerprintTransparency
@Deprecated public FingerprintMatcher index(FingerprintTemplate probe)
FingerprintMatcher(FingerprintTemplate)
constructor to initialize the matcher.
probe
- probe fingerprint template to be matched to candidate fingerprints
this
(fluent method)
NullPointerException
- if probe
is null
FingerprintMatcher(FingerprintTemplate)
public double match(FingerprintTemplate candidate)
candidate
parameter is matched to probe fingerprint previously passed to FingerprintMatcher(FingerprintTemplate)
constructor.
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 FingerprintMatcher
.
candidate
- fingerprint template to be matched with probe fingerprint represented by this FingerprintMatcher
NullPointerException
- if candidate
is null
Copyright © 2009–2021 Robert Važan. All rights reserved.