BiomDI - Software Tools supporting Standard Biometric Data Interchange Formats

Utilities for processing of biometric data records specified in INCITS and ISO/IEC format standards

 

This page documents NIST software for handling records specified in several biometric data format standards. These are the INCITS 378-2004 and ISO/IEC 19794-2:2005 (finger minutiae), INCITS 381-2004 and ISO/IEC 19794-4:2004 (finger image), and INCITS 385-2004 (face recognition format). The American National Standards were developed in the InterNational Committee for Information Technology Standards (INCITS) Technical Committee M1 - Biometrics. The International standards were developed by the ISO/IEC JTC 1/SC 37 committee.

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-1. 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-X 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 BIOMAPP package contains applications that build on top of the BIOMDI libraries to process biometric records. For example, the software used to drive the MINEX-II match-on-card tests, and other smartcard applications, are contained within the BIOMAMPP distribution package.

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 and ISO/IEC" standards.

INCITS 378-2004 ISO 19794-2 2005-09-15 - Finger Minutiae Format for Data Interchange

  • libfmr - core library for construction, reading and writing of biometric data records specified in INCITS/ISO standards
  • prfmr - dumps the record to stdout and (with -v flag) checks conformance to generic un-profiled biometric data records specified in INCITS/ISO standards
  • minexv/minexov/minex2v - checks conformance of a INCITS 378 record to the MINEX04, Ongoing MINEX, and MINEX-II test profiles.
  • 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 ISO/IEC 19794-4:2004 - Finger Image-Based Data Interchange Format

  • libfir - core library for construction, reading and writing of biometric data records specified in INCITS/ISO standards
  • prfir - dumps the record to stdout and (with -v flag) checks conformance to biometric data records specified in INCITS/ISO standards
  • mkfrf -prepares an INCITS 381 sample from raster images and associated metadata
  • pgm2fir - convert a single PGM raster to an INCITS 381 record. (C++) 

ISO/IEC 19794-6 - Iris Image Data

  • under development libiid core library for construction, reading and writing of biometric data records specified in ISO/IEC 19794-6 20xx. priibdb - print the ISO/IEC 19794-6 records contained in a file to standard out iibdbv - verifies the conformance of records contained in a file to the ISO/IEC 19794-6 standard

 

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 partially supports data formatted according to biometric data records specified in analogous international standards ISO/IEC 19794-{2,4,5}. The fingerprint minutiae and image libraries support ISO/IEC 19794-2/19794-4, but many of the apps do not. Face image containers ISO/IEC 19794-5 are not supported. 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.

License

This software was developed at the National Institute of Standards and Technology (NIST) by employees of the Federal Government in the course of their official duties. Pursuant to Title 17 Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for use by other parties of its source code or open source server, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Disclaimer

* Specific software products identified here are used in order to perform the code management tasks at hand. However, in no case does identification of any commercial product, trade name, or vendor, imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products and equipment identified are necessarily the best available for the purpose.

*
Bookmark and Share