interesting NIST algorithm to test is NIST Fingerprint Image Quality (NFIQ) [12], which also comes with the NBIS bundle.NFIQ, a fingerprint image quality algorithm, analyses a fingerprint image and assigns to it a quality value on a scale of 1 (highest quality) to 5 (lowest quality). Higher quality images produce significantly better performance with matching algorithms. That's exactly why NFIQ is so important to biometric applications: it can be employed to assure fingerprint images are being collected with an acceptable quality.As we have already produced WSQ files, the synthax for NFIQ is quite simple. Just execute this:nfiq db1/101_1.wsqBy the output value ("2"), we can assume the biometric quality for the given image is quite good.If we would want to check the quality of our entire dataset, we could execute the following Shell Script:for i in `seq 1 4`do for a in db$i/*.wsq do echo "$a" #nfiq $a donedone3.3. Extracting features from fingerprints through MINDTCTIn an Automated Fingerprint Identification System (AFIS), there are two major biometric algorithms that play an indispensable role: 1) the features extractor (or simply "extractor") and 2) the templates matcher (or simply "matcher"). We'll start by the extractor: in the case of NBIS, it is embedded in a program called MINDTCT [1].NBIS bundle provides MINDTCT, a minutiae detector, which automatically locates and records ridge ending and bifurcations in a fingerprint image [13, 15]. This system includes minutiae quality assessment based on local image conditions. The FBI's Universal Latent Workstation uses MINDTCT, and it too is the only known no cost system of its kind [16].The program MINDTCT takes a WSQ compressed image file, processes the fingerprint image and automatically detects minutiae [16].Considering the file "db1/101_1.wsq" we generated previously, we could invoke MINDTCT in order to extract the features:mindtct -b -m1 db1/101_1.wsq db1/101_1The result of the last instruction is a bunch of other files with the same prefix and in the same directory. Check it out:find db1/101_1.*db1/101_1.brwdb1/101_1.dmdb1/101_1.hcmdb1/101_1.lcmdb1/101_1.lfmdb1/101_1.mindb1/101_1.qmdb1/101_1.tifdb1/101_1.wsqdb1/101_1.xytOne of these files is of special interest to us: the one with the ".xyt" extension. Take a look of its contents:head db1/101_1.xyt85 102 0 1386 142 174 1288 90 0 13104 79 0 35111 92 90 36120 31 17 82129 54 5 39135 176 90 78136 143 84 74140 30 95 42In this ".xyt" file created by the MINDTCT program, the minutiae values are written in "x y theta quality" format, each minutia per line. This file format is what NBIS matcher program, BOZORTH3, considers. We'll use it further in this article.Likewise, we could extract the features of the entire dataset, by executing this small Shell Script:for i in `seq 1 4`do for a in db$i/*.wsq do echo "$a" b="${a/.wsq/}" mindtct $a $b donedoneAfter a little while, you can verify whether all XYT files were created by issuing this command:find -name "*.xyt" | head./db1/103_3.xyt./db1/109_4.xyt./db1/106_1.xyt./db1/108_1.xyt./db1/102_5.xyt./db1/104_5.xyt./db1/102_1.xyt./db1/105_4.xyt./db1/105_3.xyt./db1/102_4.xyt3.4. Performing fingerprint matches through BOZORTH3Now that we have extracted the minutiae from every fingerprint image in the dataset, we can finally use the matcher algorithm. In the case of NBIS, it is embedded in a program called BOZORTH3 [1].NBIS bundle provides BOZORTH3, a fingerprint matching system. It uses the