MINDTCT

Name

mindtct -- detects minutiae from a fingerprint image contained in an ANSI/NIST 2000 file.

Synopsis

mindtct <an2kfilein><an2kfileout>

DESCRIPTION

Mindtct parses a standard compliant ANSI/NIST-ITL 1-2000 file searching for the first occurrence of a grayscale fingerprint image record. If found, the fingerprint image is processed and minutiae are automatically detected. Minutiae results are formatted and stored using the NIST fields 5-12 in a Type-9 record. Upon successful completion, the input ANSI/NIST record sequence is augmented with two new records, the Type-9 minutiae record and a tagged field image record containing the results of image binarization. This augmented record sequence is then written to the specified output filename.

Mindtct also generates the following text files in the current working directory: dmap.txt, hcmap.txt, lcmap.txt, lfmap.txt, qmap.txt, and min.txt. These files are described below.

OPTIONS

<an2k file in>

the ANSI/NIST file to be processed

<an2k file out>

the resulting ANSI/NIST file

TEXT OUTPUT FILES

dmap.txt

The Direction Map represents the direction of ridge flow within the fingerprint image. The map contains a grid of integer directions, where each cell in the grid represents an 8x8 pixel neighborhood in the image. Ridge flow angles are quantized into 16 integer bi-directional units equally spaced on a semicircle. Starting with vertical direction 0, direction units increase clockwise and represent incremental jumps of 11.25 degrees, stopping at direction 15 which is 11.25 degrees shy of vertical. Using this scheme, direction 8 is horizontal. A value of -1 in this map represents a neighborhood where no valid ridge flow was determined.

hcmap.txt

The High-Curvature Map represents areas in the image having high-curvature ridge flow. This is especially true of core and delta regions in the fingerprint image, but high-curvature is not limited to just these cases. This is a bi-level map with same dimension as the Direction Map. Cell values of 1 represent 8x8 pixel neighborhoods in the fingerprint image that are located within a high-curvature region, otherwise cell values are set to 0.

lcmap.txt

The Low-Contrast Map represents areas in the image having low-contrast. The regions of low contrast most commonly represent the background in the fingerprint image. This is a bi-level map with same dimension as the Direction Map. Cell values of 1 represent 8x8 pixel neighborhoods in the fingerprint image that are located within a low-contrast region, otherwise cell values are set to 0.

lfmap.txt

The Low-Flow Map represents areas in the image having non-determinable ridge flow. Ridge flow is determined using a set of discrete cosine wave forms computed for a predetermined range of frequencies. These wave forms are applied at 16 incremental orientations. At times none of the wave forms at none of the orientations resonate sufficiently high within the region in the image to satisfactorily determine a dominant directional frequency. This is a bi-level map with same dimension as the Direction Map. Cell values of 1 represent 8x8 pixel neighborhoods in the fingerprint image that are located within a region where a dominant directional frequency could not be determined, otherwise cell values are set to 0. The Direction Map also records cells with non-determinable ridge flow. The difference is that the Low-Flow Map records all cells with non-determinable ridge flow, while the Direction Map records only those that remain non-determinable after extensive interpolation and smoothing of neighboring ridge flow directions.

qmap.txt

The Quality Map represents regions in the image having varying levels of quality. The maps above are combined heuristically to form 5 discrete levels of quality. This map has the same dimension as the Direction Map, with each value in the map representing an 8x8 pixel neighborhood in the fingerprint image. A cell value of 4 represents highest quality, while a cell value of 0 represent lowest possible quality.

min.txt

This text file reports the minutiae detection results. The majority of the results listed in this text file are also encoded and stored in a Type-9 record in the output ANSI/NIST file. The first non-empty line in the text file lists the number of minutiae that were detected in the fingerprint image. Following this, the attributes associated with each detected minutia are recorded, one line of text per minutia. Each minutia line has the same format. Fields are separated by a ':', subfields are separated by a ';', and items within subfields are separated by a ','. A minutia line may be represented as:

MN : MX, MY : DIR : REL : TYP : FTYP : FN : NX1, NY1; RC1 : ...

where:

MN

is the integer identifier of the detected minutia.

MX

is the x-pixel coordinate of the detected minutia.

MY

is the y-pixel coordinate of the detected minutia.

DIR

is the direction of the detected minutia. Minutia direction is represented similar to ridge flow direction, only minutia direction is uni-directional starting at vertical pointing up with unit 0 and increasing clockwise in increments of 11.25 degrees completing a full circle. Using this scheme, the angle of a detected minutia is quantized into the range 0 to 31 with 8 representing horizontal to the right, 16 representing vertical pointing down, and 24 representing horizontal to the left.

REL

is the reliability measure assigned to the detected minutia. This measure is computed by looking up the quality level associated with the position of the minutia from the Quality Map. The quality level is then heuristically combined with simple neighborhood pixel statistics surrounding the minutia point. The results is a floating point value in the range 0.0 to 1.0, with 0.0 representing lowest minutia quality and 1.0 representing highest minutia quality.

TYP

is the type of the detected minutia.

bifurcation = "BIF" ridge ending = "RIG"

FTYP

is the type of feature detected.

appearing = "APP" disappearing = "DIS" (This attribute is primarily useful for purposes internal to the minutia detection algorithm.)

FN

is the integer identifier of the type of feature detected. (This attribute is primarily useful for purposes internal to the minutia detection algorithm.)

NX1

is the x-pixel coordinate of the first neighboring minutia.

NY1

is the y-pixel coordinate of the first neighboring minutia.

RC1

is the ridge count calculated between the detected minutia and its first neighbor.

...

for each additional neighbor ridge count computed, the pixel coordinate of the neighbor and the ridge count to that neighbor are reported.

EXAMPLES

From test/mindtct/execs/mindtct/mindtct.src:

% mindtct ../../data/t14wsq08.an2 mindtct.an2

SEE ALSO

an2k2txt(1C), an2ktool(1C), dpyan2k.1(1C)

AUTHOR

NIST/ITL/DIV894/Image Group