Catalog PyPI
PACKAGE EXPLORERView in registry

afis

PyPI

AFIS library: minutiae extraction (classical + LEADER ONNX), matching, and quality

afisbiometricsbozorth3fingerprintleadermccmindtctminutiaenbisnfiqonnx
Versions collected1
Direct dependencies7From release 1.2.7
Last observed20 Oct, 21:07 UTC

README

Version 1.2.7 documentation

afis

AFIS toolkit for fingerprint minutiae extraction, matching, and quality assessment.

Install

pip install afis
# or
uv add afis

From source (includes the optional native NBIS library):

make install          # uv sync + make native

Quickstart

from afis import NbisExtractor, MindtctExtractor, SafisExtractor, LeaderExtractor, compute_nfiq2

nbis = NbisExtractor()
a = nbis.extract_minutiae("finger_a.png")
b = nbis.extract_minutiae("finger_b.png")
print(nbis.match(a, b))

# Mix extractor / matcher
proc = NbisExtractor(extractor="gabor", matcher="mcc")
t = proc.extract_minutiae("finger_a.png")

leader = LeaderExtractor()
lt = leader.extract_minutiae("finger_a.png")

q = compute_nfiq2(image)  # NFIQ2-style 0–100
print(q.score)

Extractors

NameKind
nbis_mindtctNative NBIS MINDTCT / LFS V2
mindtctPure-Python MINDTCT
safisSourceAFIS minutiae path
gaborGabor enhance + crossing-number
stftSTFT enhance + crossing-number
leaderLEADER ONNX

Matchers

NameKind
nbis_bozorth3Native Bozorth3
bozorth3Pure-Python Bozorth3
safisSourceAFIS edge crawl
mccMinutia Cylinder-Code
geometricRigid geometric

Quality (NFIQ2)

compute_nfiq2(image) returns a 0–100 score (ISO/IEC 29794-4 / NFIQ 2 style).

Benchmark (FVC2004)

FVC B-set protocol on DB1–4_B (10×8 images/DB): genuine = all same-finger impression pairs; impostor = first impressions across fingers. Metrics are macro-averaged over the four DBs.

uv run python examples/benchmark.py \
  --root /path/to/fingerprint_datasets \
  --workers 10

Subset / custom combos:

uv run python examples/benchmark.py \
  --dbs DB1_B DB3_B --max-fingers 8 --max-imps 4 \
  --extractors nbis_mindtct leader \
  --matchers nbis_bozorth3 mcc geometric \
  --workers 8

Results (FVC2004 DB1–4_B, full)

ExtractorMatcherEER %FMR100 %verify msextract msmatch ms
leadergeometric6.7813.481175.91167.08.91
nbis_mindtctnbis_bozorth310.1025.4535.620.914.75
leadernbis_bozorth311.8217.591170.31167.03.31
leadermcc14.0324.911169.41167.02.41
nbis_mindtctmcc15.5226.7925.720.94.83
nbis_mindtctgeometric21.3446.7031.920.911.08

Presets

PresetExtractorMatcherEER %verify ms
fastnbis_mindtctmcc15.5225.7
balancedleadernbis_bozorth311.821170.3
deepleadergeometric6.781175.9

verify_ms ≈ mean extract + mean match (1:1 verify proxy).

CLI

afis extract finger.png finger.xyt
afis extract finger.png out.xyt --extractor mindtct
afis extract finger.png out.xyt --extractor leader
afis match a.xyt b.xyt --method bozorth3 --height 480
afis match a.xyt b.xyt --method mcc
afis quality finger.png

Develop

make install
make test
make build

References

License

MIT. Copyright (c) 2026 Ashok Pant.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.2.719 Aug 20267

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
ashokpant/afis

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:07 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:165e03baa2b4611ea049e38baa3665145bab348b4ff748891dd1c5bc89ebef73