Nist Special Database 9

Mated Fingerprint Card Pairs Users' Guide

C. I. Watson

National Institute of Standards and Technology

Advanced Systems Division

Image Recognition Group

February 16, 1993

 

Users' Guide - Part 2


 

Contents

Appendices

Appendix A: Database Fingerprint Image Samples

Appendix B: Database Reflectance and Resolution Calibration

Appendix C: Fingerprint Class Distribution Statistics

Appendix D: Manual Pages for Database Source Code

 

 

Appendix A: Database Fingerprint Image Samples

Figure A.1: Fingerprint file f0000001.pct from NIST Special Database 9.

 

Figure A.2: Fingerprint file f0000042.pct from NIST Special Database 9.

Back to Contents

 

Appendix B: Database Reflectance and Resolution Calibration

Back to Contents

 

 

Database Resolution Calibration

The resolution of the scanner used to create the database was calibrated using a NBS 1010A resolution chart1. A portion of this image is shown below (Figure B.2) after being magnified for viewing (Note: Printing has significantly reduced the quality of this image.). The scan of the table showed that the vertical resolution was approximately 10.5 line pairs/mm and the horizontal resolution was approximately 11.0 line pairs/mm.

 

Figure B.2: Scan of Resolution Calibration Table.

                          
1National Bureau of Standards, Microcopy Resolution Test Chart, Standard Reference Material 1010a, ANSI and ISO test chart No.2.

Back to Contents

 

Appendix C: Fingerprint Class Distribution Statistics

Natural Fingerprint Class Distribution

The data in this table give the numbers for an estimate of the natural distribution of the listed fingerprint classes. This is from a very large sample of data given to NIST by the FBI and should give a good estimate of the "a priori" probabilities. See Figure 7 for the cass codes.

Note:

       UL (1-5 ridge count ulnar loops)                All whorl ridge tracings (I,M,O)for
       UM (6-30 ridge count ulnar loops)                 a whorl class are counted together
       UH (31-49 ridge count ulnar loops)                (i.e. PI,PM,PO are counted in PW).
       (L,M,H) also used for radial loops

 

Class     Count     % of Total
UL 17063157 7.6638
UM 119530343 53.6860
UH 26312 0.0118
RL 3340194 1.5002
RM 5617095 2.5229
RH 3807 0.0017
PW 44989517 20.2066
CW 8727311 3.9198
DW 7890156 3.5438
XW 257264 0.1155
AA 8125907 3.6497
TT 6548416 2.9412
SR 187927 0.0844
XX       187927 0.1526
Total 222647130  

 

Back to Contents

Volumes 1-5 Class Distribution with Referenced Classes Not Included

The following data represent the class breakdown of NIST Special Database 9 Volumes 1-5, for all cards in each volume. The data totals are shown for all cards, file cards and search cards. The data are based on the prime class of each print. Fingerprints with references are not included in the prime class totals. The number of referenced prints is given in the "RF" class. As can be seen the information is given for each individual volume (1-5) and then as a total for volumes 1-5. The breakdown shows that on a volume level the data do not represent the natural distribution of the fingerprints very well. This is due to the small number or prints in each volume; but using the data in volumes 1-5 a better distribution is seen. This distribution will get better as more data are added to the database. See Figure 7 for the class codes.

Note:

       UL (1-5 ridge count ulnar loops)                All whorl ridge tracings (I,M,O)for
       UM (6-30 ridge count ulnar loops)                 a whorl class are counted together
       UH (31-49 ridge count ulnar loops)               (i.e. PI,PM,PO are counted in PW).
       (L,M,H) also used for radial loops

 

 

Back to Contents

Back to Contents

 

Back to Contents

The following data represent the class breakdown of NIST Special Database 9 Volumes 1-5, for all the cards in each volume. The data are based on the prime class of each print without any regard to references. As can be seen the information is given for each individual volume (1-5) and then as a total for volumes 1-5. The data totals are shown for all cards, file cards and search cards. The breakdown shows that on a volume level the data do not represent the natural distribution of the fingerprints very well. This is due to the small number or prints in each volume; but using the data in volumes 1-5 a better distribution is seen. This distribution will get better as more data are added to the database. See Figure 7 for the class codes.

Note:

       UL (1-5 ridge count ulnar loops)                All whorl ridge tracings (I,M,O)for
       UM (6-30 ridge count ulnar loops)                 a whorl class are counted together
       UH (31-49 ridge count ulnar loops)               (i.e. PI,PM,PO are counted in PW).
       (L,M,H) also used for radial loops

 

Back to Contents

Back to Contents

Back to Contents

Back to Contents

Back to Contents

Back to Contents

Referencing Information for Volumes 1-5

The following data give information about referencing of the fingerprint classes for the fingerprints in each volume. The totals are shown for all cards, file cards, and search cards. The primary class is the first class given followed by reference class(es). The only class/reference combinations given are ones that exist in one of the volumes, therefore all possible combinations not shown do not exist in the database. It is also important to know that if a primary class has two references the order of the references is not significant, meaning that UL/TT/AA is the same as UL/AA/TT and due to the order of search through the classes for references both would be included in the UL/AA/TT total. Scars and amputations are treated differently in that a count of the total number is given at the end of the list.

Note:

       UL (1-5 ridge count ulnar loops)                All whorl ridge tracings (I,M,O)for
       UM (6-30 ridge count ulnar loops)                 a whorl class are counted together
       UH (31-49 ridge count ulnar loops)               (i.e. PI,PM,PO are counted in PW).
       (L,M,H) also used for radial loops

 

Back to Contents

Back to Contents

 

Back to Contents

 

 

Back to Contents

Appendix D: Manual Pages for Database Source Code


DCPLLJPG(l)      USER COMMANDS      DCPLLJPG(l)

NAME
          dcplljpg - jpeg loss less decompression for Ihead 8 bit gray scale images

SYNOPSIS
          dcplljpg ihdrfile

DESCRIPTION

Dcplljpg takes an 8 bit gray scale ihead image, which was compressed using jpegcomp4, and decompresses it using techiques from the committee draft ISO/IEC CD 10198-1 for "Digital Compression and Coding of Continuous-tone Still images" with modifications to the draft image header.

NOTE: dcplljpg does not allow more than 8 bits/pixel input precision

OPTIONS
          ihdrfile
               Any 8 bit gray scale ihead raster image
              (previously compressed using jpegcomp4).

EXAMPLES
          dcplljpg foo.pct

FILES
          ihead.h           NIST's raster header include file

           jpeg.h           Include file for jpeg algorithm

SEE ALSO
          dumpihdr(1),          ihdr2sun(1),           ReadIheadRaster(3),
           writeihdrfile(3)

DIAGNOSTICS
          dcpllppg exists with a status of -1 if an error occurs.

BUGS
           dcplljpg only handles gray scale images up to 8 bits per pixel precision.


Sun Release 4.1 Last change: 14 November 1991 1 27

Back to Contents


 

DUMPIHDR(l)                USER COMMANDS                DUMPIHDR(l)

 

NAME
          dumpih - takes a NIST IHead image file and prints its header content to stdout

SYNOPSIS
           dumpihdr ihdrfile

 

DESCRIPTION

Dumpihdr opens an NIST IHead rasterfile and formats and prints its header contents to stdout.

OPTIONS
          ihdrfile
                    any
 NIST IHead image file name

EXAMPLES
          dumpihdr foo.pct

FILES
          ihead.h           NIST's raster header include file 3

SEE ALSO
          ihdr2sun(1),     ReadIheadRaster(3),      writeihdrfile(3),
          writeihdr(3),     readihdr(3),     printihdr(3)

DIAGNOSTICS
          Dumpihdr exits with a status of -1 if opening ihdrfile fails.

BUGS


Release 4.1          Last change: 15 March 1990

Back to Contents


IHDR2SUN(1)          USER COMMANDS          IHDR2SUN(1)

NAME
          ihdr2sun - takes a NIST ihead image and converts it to a Sun rasterfile

SYNOPSIS
          ihdr2sun [ -o outfile] ihdrfile [ mapfile ]

DESCRIPTION

Ihdr2sun converts a NIST ihead rasterfile to a Sun raster-file. If the optional argument mapfile is included on the command line and the input image is multiple bitplane, the colormap in mapfile will be inserted into the Sun raster-file, otherwise a default colormap gray.map will be used when necessary. The Sun image file created will have the root name of ihdrfile with the extension .ras appended, unless an alternate outfile is specified.

OPTIONS
          ihdrfile
                    any ihead raster image
           mapfile
                     optional colormap file

EXAMPLES
            ihdr2sun foo.pct gray.map

FILES
          
/usr/include/rasterfile.h
                     sun's raster header include file
          ihead.h
                    NIST's raster header include file

SEE ALSO
          dumpidhr(1), sunalign(1), rasterfile(5)

DIAGNOSTICS
          Ihdr2sun exits with a status of -1 if opening ihdrfile fails.

BUGS
          Ihdr2sun does not currently support multiple bit levels per
          pixel other than depth 8.

Sun Release 4.1      Last change:      08 March 1990 1 29

Back to Contents


 

SUNALIGN(l)          USER COMMANDS           SUNALIGN(l)

NAME
          sunalign - takes a sun rasterfile and word aligns its scan lines

SYNOPSIS
         sunalign sunrasterfile

DESCRIPTION

Sunalign takes the file sunrasterfile and determines if the stored scan lines in the file require word alignment. If so, the command overwrites the image data making scan lines word aligned. This command is useful when taking clipped images from the HP Scan Jet and importing them into Frame Maker.

OPTIONS
          sunrasterfile
                    any sun rasterfile image

EXAMPLES
          sunalign foo.ras

FILES
           /usr/include/rasterfile.h
                     sun's raster header include file

SEE ALSO
          rasterfile(5)

DIAGNOSTICS
          Sunalign exits with a status of -1 if opening sunrasterfile fails.

BUGS

Sun Release 4.1            Last change: 08 March 1990

Back to Contents


READIHEADRASTER(3)           C LIBRARY FUNCTIONS           READIHEADRASTER(3)

NAME
           ReadIheadRaster - loads into memory an ihead structure
           corresponding image data from a file

SYNOPSIS
           #include <ihead.h>

           ReadIheadRaster(file, head, data, width, height, depth)
           char *file;
           IHEAD **head;
           unsigned char **data;

           int *width, *height, *depth;

DESCRIPTION

ReadIheadRaster() opens a file named file and allocates and loads into memory an ihead structure and its corresponding raster image data. If the image data is compressed, ReadIheadRaster will uncompress the data before returning the data buffer. This routine also returns several integers converted from their corresponding ASCII entries found in the header. The source is found in the source code file rasterio.c.

          file - the name of the file to be read from

          head - a pointer to where an ihead structure is to be allocated and loaded

          data - a pointer to where the array of binary raster image data is to be allocated and loaded

          width - integer pointer containing the image's pixel width upon return

          height - integer pointer containing the image's pixel height upon return

          depth - integer pointer containing the image's Bits Per Pixel upon return

SEE ALSO
          printihdr(3), readihdr(3), writeihdrfile(3), writeihdr(3), dumpihdr(1)

DIAGNOSTICS
          ReadIheadRaster() exits with -1 when opening file fails.

BUGS

 

Sun Release 4.1          Last change: 05 March 1990

Back to Contents


 

JPGLLDCP(3)          C LIBRARY FUNCTIONS          JPGLLDCP(3)

NAME

jpglldcp - takes a jpeg lossless compressed input data buffer (with modified data header) and writes the uncompressed data to the passed output buffer

SYNOPSIS

          void jpglldcp(indata, width, height, depth, outbuffer)
          unsigned char *indata, *outbuffer;
          int width, height, depth;

DESCRIPTION

jpglldcp() takes the input buffer indata and decompresses it writing the uncompressed data into the output buffer outbuffer with length equal to the original image dimensions given. This procedure was developed using techniques from the committe draft ISO/IEC CD 10198-1 for "Digital Compression and Coding of Continuous-tone Still Images" with modifications to the draft image header. The source is found in the source code file jpglldcp.c.
          indata - the compressed data input buffer

          width - the pixel width of the image from which the input data came

          height - the pixel height of the image from which the input data came

          depth - the pixel depth of the image from which the input data came

          outbuffer - the output buffer in which the uncompressed data is to be returned

SEE ALSO
          dcplljpg(1), ReadIheadRaster(3), writeihdrfile(3)

BUGS

NOTE: jpglldcp will only work with gray-scale images that were compressed using a modified data header (not the standard lossless jpeg data header).

Sun Release          4.1 Last change: 14 January 1992

Back to Contents


 

PRINTIHDR(3)          C LIBRARY FUNCTIONS          PRINTIHDR(3)

NAME
           printihdr - prints an ihead structure to the passed file pointer

  SYNOPSIS
          #include <ihead.h>

          printihdr (head, fp)
          IHEAD *ihead;
          FILE *fp;

DESCRIPTION

Printihdr() takes a pointer to an ihead structure and prints the ihead structure to the file pointed to by fp. The source is found in the source code file ihead.c.
          fp - an open file pointer

          ihead - a pointer to an initialized ihead structure

SEE ALSO
          writeihdrfile(3), writeihdr(3), readihdr(3), ReadIheadRaster(3), dumpihdr(l)

BUGS

 

Sun Release 4.1          Last change: 15 January 1992

Back to Contents


READIHDR(3)         C LIBRARY FUNCTIONS READIHDR(3)

 

NAME

readihdr - allocates and reads header information into an ihead structure and returns the initialized structure
SYNOPSIS
          #include <ihead.h>

         readihdr(fp)
         FILE *fp;

DESCRIPTION

Readihdr() takes a file pointer to an ihead structured file. Then allocates and reads the header information from the file into an ihead structure. The source is found in the source code file ihead.c.

        fp - an open file pointer

SEE ALSO
        ReadIheadRaster(3), writeihdrfile(3, printihdr(3), writeihdr(3), dumpihdr(1)

BUGS


Sun Release 4.1         Last change: 16 January 1992

Back to Contents


WRITEIHDRFILE{3)         C LIBRARY FUNCTIONS         WRITEIHDRFILE(3)

NAME
          writeihdrfile - writes an ihead structure and corresponding date to a file

SYNOPSIS
          #include <ihead.h>

          writeihdrfile(file, head, data)
          char *file;
          IHEAD *head;
          unsigned char *data;

DESCRIPTION

Writeihdrfile() opens a file name file and writes an ihead structure and it corresponding image data to it. The source is found in the source code file rasterio.c.
          file - the name of the file to be created

          head - a pointer to an initialized ihead structure

          data - the array of raster image data

SEE ALSO
          writeihdr(3), printihdr(3), ReadIheadRaster(3), readihdr(3), dumpihdr(1)

DIAGNOSTICS
          Writeihdrfile()) exits with -1 when opening file fails.

BUGS

 

Sun Release         Last change: 16 January 1992

Back to Contents


 

WRITEIHDR(3)         C LIBRARY FUNCTIONS         WRITEIHDR(3)

NAME
          writeihdr - writes an ihead structure to an open file

SYNOPSIS
          #include <ihead.h>

          writeihdr(fp, ihead)
          FILE *fp;
          IHEAD *ihead;

DESCRIPTION

Writeihdr() takes a pointer to an ihead structure and writes it to the open file pointed to by fp. The source is found in the source code file ihead.c.
         fp - an open file pointer

         ihead - a pointer to an initialized ihead structure

  SEE ALSO
          writeihdrfile(3), printihdr(3), readihdr(3), ReadIheadRaster(3), dumpihdr(1)

BUGS

Sun Release 4.1         Last change: 02 March 1990

Top of Users' Guide

Database Price List

Data Home

Back to Contents  |     Database Description      |     SRD Data Home


Create Date: 2/03
Last Update: Monday, 05-May-03 10:35:54

[Online Databases] [New and Updated Databases]
[Database Price List] [JPCRD] [CODATA] [FAQ] [Comments] [NIST] [Data]