NIST Fingerprint Image Quality 2
Fingerprint image quality assessment tool
Loading...
Searching...
No Matches
NIST Fingerprint Image Quality 2

Overview

NIST Fingerprint Image Quality (NFIQ) 2 is open source software that links image quality of optical and ink 500 PPI plain impression fingerprints to operational recognition performance. This allows quality values to be tightly defined and then numerically calibrated, which in turn allows for the standardization needed to support a worldwide deployment of fingerprint sensors with universally interpretable image qualities. Quality measures computed are formally standardized as part of ISO/IEC 29794-4. This source serves as an officially-recognized reference implementation of the standard.

Application Programming Interface

This webpage details the application programming interface (API) for NFIQ 2. If you are not a software developer and only need to compute ISO/IEC 29794-4 unified quality scores—often colloquially referred to as "NFIQ 2 quality scores" for 500 PPI optical or ink fingerprint images, please navigate to the releases page and download a pre-compiled version of our example application.

v2.3 API Changes

Due to underlying terminology changes, the API changed in v2.3. A crosswalk of the new public API methods is available.

Quick Start

Follow these high-level steps to compute an unified quality score in your own application.

  1. Include nfiq2.hpp in your source file.
    • NIST's releases install headers in /usr/local/nfiq2/include on macOS and Linux, C:\Program Files\NFIQ 2\include on Windows 64-bit, and C:\Program Files (x86)\NFIQ 2\include on Windows 32-bit.
  2. Instantiate a NFIQ2::ModelInfo that points to the included random forest model parameters, and use it to instantiate an NFIQ2::Algorithm.
  3. Instantiate a NFIQ2::FingerprintImageData with a decompressed fingerprint image.
  4. Pass the NFIQ2::FingerprintImageData from 3 to NFIQ2::Algorithm::computeUnifiedQualityScore of the NFIQ2::Algorithm instantiated in 2. A unified quality score is returned or an NFIQ2::Exception is thrown.

Examples

Some examples of using the API can be found in the examples directory in the NFIQ 2 repository.

Contact

If you found a bug and can provide steps to reliably reproduce it, or if you have a feature request, please open an issue on GitHub. Other questions may be addressed to the project maintainers by emailing nfiq2.nosp@m.@nis.nosp@m.t.gov.

License

This work is in the public domain. For complete licensing details, refer to LICENSE.md.