MKOAS

Name

mkoas -- makes orientation arrays from fingerprint images.

Synopsis

mkoas <prsfile>

DESCRIPTION

Mkoas makes orientation arrays (oas), for a set of fingerprint image files. An oa can be thought of as a 28 (height) by 30 (width) array of real two-dimensional orientation vectors, each of which represents the local average ridge/valley orientation at one point of an equally-spaced rectangular grid; but, sometimes it is more convenient to think of an oa as a single 1680-dimensional real vector (1680 = 28 x 30 x 2). To make an oa from a fingerprint, mkoas uses the same sequence of preprocessing/feature-extraction routines that is used by the classifier demos pcasys and pcasysx. Mkoas causes each oa to be one row of the PCASYS "matrix" file that is its output.

Mkoas sets the values of its parameters as follows. First, it reads the default oas-production parms file pcasys/parms/oas.prs; then, it reads the file of default values of additional mkoas parms, pcasys/parms/mkoas.prs; finally, it reads the required user parms file, which is the argument (prsfile). Each time a parms file is read, its values override those set by previously read parms file(s), if any. See PARAMETER FILES, below, for a description of the difference between oas.prs and mkoas.prs.

Since the oas of a large set of fingerprints can turn out to be quite a large amount of data, it may be that the entire set of oas that are to be produced cannot exist as a single file, because of disk space limitations. If so, one should run several instances of mkoas, each producing a matrix file that is a subset of the required oas. To estimate output file size as a function of number of oas, note that each oa consists of 1680 single-precision floating-point numbers, and therefore it takes 1680 x 4 = 6720 bytes. Allow slightly more space, for header data contained in a matrix file.

OPTIONS

<prsfile>

A file containing parameters. To find out what the available parameters are, and as examples of the format of parameters files, consult the default files pcasys/parms/oas.prs and pcasys/parms/mkoas.prs. Each parameter is specified by having its name and value on a line; a pound sign indicates that the rest of its line is a comment.

PARAMETER FILES

pcasys/parms/oas.prs

Contains default values of the parameters that affect the making of orientation arrays (oas): these are the parms of the segmentor (sgmnt), the image enhancer (enhnc), the ridge-valley orientation finder (rors), the registration program (r92a), and the registration-implementing pixelwise orientations reaverager (rgar). The values used for these parms when making the oas used in optimizing the classifier should also be used when running the finished classifier.

Default settings in pcasys/parms/oas.prs

Used in the segmentation routine:, sgmnt_fac_n 5

How many threshold-making factors to try.

sgmnt_min_fg 2000

Minimum allowed number of foreground (true) pixels.

sgmnt_max_fg 8000

Maximum allowed number of foreground (true) pixels.

sgmnt_nerode 3

Do this many erosions in foreground cleanup.

sgmnt_rsblobs 1

If 1, remove small blobs in foreground cleanup.

sgmnt_fill 1

If 1, fill holes in rows, columns in foreground cleanup.

sgmnt_min_n 25

Cutting angle becomes zero if any foreground edge has fewer than this many pixels.

sgmnt_hist_thresh 20

Threshold that tilted-rows-histogram must meet to find top-location for cutting.

sgmnt_origras_wmax 2000

Maximum allowed width of original raster.

sgmnt_origras_hmax 2000

Maximum allowed height of original raster.

sgmnt_fac_min 0.75

Minimum threshold-making factor value.

sgmnt_fac_del 0.05

Delta of threshold-making factor value.

sgmnt_slope_thresh 0.90

If any of the three edges has slope differing by more than this from the average of the slopes, then cutting angle is set to zero.

Used in the FFT image enhancer:, enhnc_rr1 150

High-frequency elements of FFT whose filter plane value is less than this value are discarded.

enhnc_rr2 449

Low-frequency elements of FFT whose filter plane number is greater than this value are discarded.

enhnc_pow 0.3

Power spectrum is raised to this power before it is multiplied by the FFT output.

Used in the ridge-valley orientation finder:, rors_slit_range_thresh 10

If the difference between the maximum and minimum slit-sums at a pixel is less than this, then this pixel makes no contribution to the histogram used to make the local average orientation.

Used in the r92a wrapper for r92 registration program:, r92a_discard_thresh 0.01

If squared-length of a local-average orientation vector is less than this, then conversion of this vector to an angle for use by r92 just produces the special value 100., which means an undefined angle.

Used in the registering pixelwise-orientations-reaverager:, rgar_std_corepixel_x 245

X coordinate of standard (median) core position.

rgar_std_corepixel_y 189

Y coordinate of standard (median) core position. This is the standard registration point, to which the particular core point gets translated to implement registration.

pcasys/parms/mkoas.prs

Contains default values of additional parameters needed by mkoas, besides those appearing in pcasys/parms/oas.prs. Parameters without defaults values must appear in the users prsfile.

Default settings in pcasys/parms/mkoas.prs

ascii_oas n

Ascii (y) or binary (n) output?

update_freq 1

Frequency of progress messages.

clobber_oas_file n

Overwrite an oas_file if it already exists?

proc_images_list (no default, user must set)

The list of fingerprint images to make orientation arrays from.

oas_file (no default, user must set)

The output file that is to be produced containing orientation arrays.

EXAMPLE(S)

From test/pcasys/execs/mkoas/mkoas.src:

% mkoas sv10.prs Creates a set of orientation arrays based on the file list given in the parameters file sv10.prs.

SEE ALSO

bin2asc (1A), asc2bin (1A), chgdesc (1A), stackms (1A)

AUTHOR

NIST/ITL/DIV894/Image Group