Utilities for processing of biometric data records specified in INCITS format standards
This page documents NIST software for handling records specified in three biometric data format standards. These are the INCITS 378-2004 (finger minutiae), INCITS 381-2004 (finger image) and INCITS 385-2004 (face recognition format) American National Standards. These standards were developed in the InterNational Committee for Information Technology Standards (INCITS) Technical Committee M1 - Biometrics.
INCITS biometric standards have been adopted for use in various government programs including the Personal Identity Verification of Federal Employees and Contractors program developed by NIST. Their use is specified in NIST Special Publication 800-76, as corrected. NIST anticipates that the code may be useful to technology providers and systems' integrators seeking a cross check with their own implementations of PIV and PIV related programs, and in other applications.
Source Code
The source code is written in ISO C and is maintained on the Image Group's open source server, NIGOS. This machine runs Perforce*, a software version control system. Its server must be accessed using the Perforce client which is freely available for Windows, Linux, Mac OS and other platforms. To access the code please follow these instructions. Version control is used because the software remains under development - it should be regarded as a beta release.
The source code is organized as two trees: BiomDI, is a data interchange library supporting some applications in BiomAPP.
The compressed archives (BIOMDI and BIOMAPP) of the source code are updated nightly. Users electing to download the source code in this form will not receive notification of software revisions and are likely to have an out-of-date copy very quickly. NIST is eager to avoid unknown and undocumented bifurcation of the code amongst users and we therefore strongly recommend organizations to run Perforce as their default method of access. The zip archive is really intended for preview purposes only.
The distribution contains the following utilties. They are built on top of libraries dedicated to the base INCITS {378,381,385} standards.
INCITS 378-2004 - Finger Minutiae Format for Data Interchange
- libfmr - core library for construction, reading and writing of biometric data records specified in INCITS 378
- prfmr - dumps the record to stdout and (with -v flag) checks conformance to generic un-profiled biometric data records specified in INCITS 378
- minexv - checks conformance of a record to the MINEX profile of the INCITS 378 standard. This is required in the Ongoing MINEX testing.
- mkfmr - prepares an INCITS 378 record from (x,y,theta) text information
- fmrplot - overlays an INCITS 378 minutiae record onto its parent grayscale fingerprint image
- an2k2fmr - converts an ANSI/NIST record to an INCITS 378 record
- fmr2an2k - and reverse this conversion
INCITS 385-2004 - Face Recognition Format for Data Interchange
- libfrf - core library for construction, reading and writing of biometric data records specified in INCITS 385
- cpfrf - copies and checks conformance of a biometric data record specified in INCITS 385
- mkfrf -prepares an INCITS 385 sample from a JPEG image and metadata
- prfrf - dumps an INCITS 385 record to stdout, and optionally checks its conformance
INCITS 381-2004 - Finger Image-Based Data Interchange Format
- libfir - core library for construction, reading and writing of biometric data records specified in INCITS 381
- prfir - dumps the record to stdout and (with -v flag) checks conformance to biometric data records specified in INCITS 381
- mkfrf -prepares an INCITS 381 sample from raster images and associated metadata
- pgm2fir - convert a single PGM raster to an INCITS 381 record. (C++)
Personal Identity Verification - Support specifically for PIV-records
- libpiv - Core library for reading, printing, and writing the CBEFF portion of the PIV record.
- pivv - Checks conformance of a PIV record containing FMRs and FIRs to the specification as profiled in NIST SP 800-76.
- m1rec2piv - Combines INCITS 378 (FMR) or INCITS 381 (FIR) records and a CBEFF header into a PIV records.
Please note that the software distribution contains neither sample images nor formatted records. NIST has released such data separately in October 2006.
Future Work and Collaboration
This suite of utilities is under development and is subject to change. Note that this software needs modification for it to correctly process data formatted according to biometric data records specified in analogous international standards ISO/IEC 19794-{2,4,5}. The needed modifications would be minor for the fingerprint and face image containers ISO/IEC 19794-{4,5} but would be more elaborate for ISO/IEC 19794-2. NIST would welcome contributions toward this end. The use of the open source server supports cooperative development and NIST will give developers their own branches from which code may be integrated into the mainline.
NIST would be grateful to organizations willing to contribute analogous code for the biometric data records specified in other parts of the data interchange format standards, both within the US (INCITS 396 Hand Geometry Interchange Format, for example) and internationally (ISO/IEC 19794-6, Iris Image Interchange Format, for example).
Contributions and comments are welcome and should be directed to the technical contacts Wayne Salamon and Patrick Grother. Patches to our code will only be accepted after review and testing.
