Skip to content
This repository has been archived by the owner on Mar 16, 2023. It is now read-only.

usnistgov/biomdi

Repository files navigation

*IMPORTANT*: BiomDI is no longer being developed. Most functionality has been
moved to libbiomeval: https://github.com/usnistgov/libbiomeval

--------------------------------------------------------------------------------
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
its use by other parties, and makes no guarantees, expressed or implied,
about its quality, reliability, or any other characteristic.
--------------------------------------------------------------------------------

The Biometric Data Interchange (BIOMDI) project contains a set of libraries
and application programs that manipulate biometric data records of several
formats (INCITS 378 and ISO 19794 finger minutiae, etc.). These libraries
and programs depend on some common include files contained in the
BIOMDI/Main/common/src/include directory.

Some sub-packages require other software, such as the NIST NBIS distribution,
requiring a separate install. Consult the README files in each sub-package
for further instructions.

Gnu make is required to build this software.

To install the entire BIOMDI package:
	1) Edit the common/common.mk file and change the PREFIX setting
	   if you wish to change the default install location;
	2) Run 'make';
	3) Run 'make install';

If you want to only build a sub-package (such as fingerminutia), follow the
same steps above for the common package, then steps 2 and 3 for each
sub-package you wish to install.

Two variables are used within the common.mk file from the common package:
    COMMONINCOPT can be appended to add include directories.
    COMMONLIBOPT can be appended to add library directories.

Each sub-package has a common.mk file in the src directory. By adding the
definition of COMMONINCOPT and/or COMMONLIBOPT, extra include and library
directories can be added in order to build the sub-package that is dependent
on other packages. For example, the fingerminutia sub-package optionally
requires the NBIS package.

For RedHat and CentOS Linux systems, it is preferable to install BIOMDI into
the /usr/local/ hierarchy, which may require the creation of some directories
first (e.g. /usr/local/man/man1). On a 64-bit system, the LIBPATH setting in
common/common.mk should be set to $(PREFIX)/lib64. The Linux dynamic linker ld
may need to have its cache loaded as well, usually by creating a file in
/etc/ld.so.conf.d and running the ldconfig command as root. Alternatively, if
system-wide settings can not be changed, each user can set the LD_LIBRARY_PATH
environment variable.

When installing on a Windows system, the location of the dynamic link libraries
(DLL) must be in the user's PATH environment variable in order for the programs
to execute. By default, DLLs are installed in /usr/local/lib, while the programs
are installed in /usr/local/bin. Both directories should be added to the PATH
environment variable. The installation paths can be changed in the 
common/common.mk make include file.
--------------------------------------------------------------------------------
Standards that are supported for each project:

BIOMDI Release 1.0:
-------------------
fingerminutia: ANSI/INCITS 378-2004 and ISO 19794-2 2005-09-15.
fingerimage: ANSI/INCITS 381-2004 and ISO/IEC 19794-4:2004.
facerecognition: ANSI/INCITS 385-2004.
irisimage: ISO/IEC 19794-6:20xx; developed in support of the Iris Exchange
(IREX) Evaluation 2008 (iris.nist.gov).