Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/usnistgov/NFIQ2/llms.txt

Use this file to discover all available pages before exploring further.

Unless you are actively developing code for NFIQ 2, we highly suggest you download pre-built binaries from GitHub Releases instead of attempting to compile.

Source Code

You must recursively clone the repository to retrieve git submodules. Do not use the GitHub ZIP file download.
git clone --recursive https://github.com/usnistgov/NFIQ2.git
cd NFIQ2
If you’ve already cloned the repository without the --recursive flag, initialize submodules with:
git submodule update --init --recursive

Core Dependencies

The NFIQ 2 library requires the following dependencies, included as git submodules:

OpenCV

Computer vision library for image processingLicense: Apache 2.0Version: OpenCV 4 (latest release)

FingerJetFX OSE

Minutiae extraction engineLicense: LGPLv3Repository: FingerJetFXOSE

digestpp

C++ header-only message digest libraryLicense: Public DomainRepository: kerukuro/digestpp
Using a different version of OpenCV may result in unstable NFIQ 2 scores and is not supported. NIST relies on the latest release of OpenCV 4 for consistency and accuracy.

CLI-Specific Dependencies

If building the standalone command-line executable, additional dependencies are required:

libbiomeval

The Biometric Evaluation Framework handles fingerprint image I/O and encoding.
  • License: Public Domain
  • Additional dependencies required (see below)

NFIR

The NIST Fingerprint Image Resampler provides image resampling capabilities.
  • License: Public Domain
  • Requires: OpenCV (already required by NFIQ 2)

System Packages

The libbiomeval dependency requires system-level packages to be installed:
sudo apt-get install \
  build-essential \
  cmake \
  libdb++-dev \
  libhwloc-dev \
  libjbig-dev \
  libjpeg-dev \
  libopenjp2-7-dev \
  liblzma-dev \
  libpng-dev \
  libsqlite3-dev \
  libssl-dev \
  libtiff-dev \
  libzstd-dev \
  zlib1g-dev

Build Tools

Required

  • CMake 3.3 or later
  • C++11-compatible compiler:
    • GCC 4.8+
    • Clang 3.3+
    • MSVC 2015+
    • Apple Clang (Xcode 10+)

Optional

  • pandoc - For generating formatted documentation in packages

Next Steps

Build Library

Build the NFIQ 2 library only

Build CLI

Build the library and command-line interface

Build docs developers (and LLMs) love