"NIST (ANSI/NIST-ITL 1-2000) library" for Windows (version 2.5)


Registered users of version 1.x-2.x please upgrade to version 2.5 free of charge
  

Cognaxon NIST (ANSI/NIST-ITL 1-2000) library adds the power of NIST (ANSI/NIST-ITL 1-2000) file format to your software projects using only a few lines of code.
Additionally “NIST (ANSI/NIST-ITL 1-2000) library” has built-in support for decompressing fingerprint images from WSQ image format.
The source code of NIST (ANSI/NIST-ITL 1-2000) library contains 480,476 lines of code and saves you months of tedious work.

Click here for Free NIST (ANSI/NIST-ITL 1-2000) Viewer which demonstrates capabilities of NIST (ANSI/NIST-ITL 1-2000) library.



Importance of NIST (ANSI/NIST-ITL 1-2000) format

ANSI/NIST-ITL 1-2000 is Data Format for the Interchange of Fingerprint, Facial, & Scar Mark & Tattoo (SMT) Information defined by American National Standard for Information Systems.


Price of NIST (ANSI/NIST-ITL 1-2000) library

NIST (ANSI/NIST-ITL 1-2000) library (for Windows) costs 253.00 U.S. dollars for the first licence (single developer licence) and 19.00 U.S. dollars per every additional licence (client computer), which is the lowest price on the market.
NIST (ANSI/NIST-ITL 1-2000) library (for Windows) runtime free / royalty free license costs 4000.00 U.S. dollars.
To order NIST (ANSI/NIST-ITL 1-2000) library please click here


NIST (ANSI/NIST-ITL 1-2000) library specifications

Table 1 Supported logical records

Logical
record
identifier
Logical record contents Type of data
1Transaction InformationASCII
2Descriptive Text (User-defined)ASCII
4Fingerprint Image Data (High-resolution grayscale)Binary
7Image Data (User-defined)Binary will be added soon
8Signature Image DataBinary will be added soon
9Minutiae DataASCII will be added soon
10Facial & SMT Image RecordASCII/Binary will be added soon
13Latent Image Data (Variable-resolution)ASCII/Binary will be added soon
14Tenprint Fingerprint Impressions (Variable-resolution)ASCII/Binary will be added soon
15Palmprint Image (Variable-Resolution)ASCII/Binary will be added soon
16User-defined Testing Image Data (Variable-resolution)ASCII/Binary will be added soon

Table 2 Format of NIST (ANSI/NIST-ITL 1-2000) library

Feature Format
Operating system Windows 95/98/2000/2003/NT/XP/Vista
Library format DLL (Dynamic Link Library)
Format of exported functions C language
Calling convention
of exported functions
(default)
__cdecl
Calling conventions
of exported functions
available through additional
wrapper DLL interface
__stdcall
JNIEXPORT
MatLab MEX
Internal engine C++

Table 3 Functions available in the library

Function Description
int ReadNISTFromFile(const char *filename) Reads existing NIST file, loads NIST file contents into memory and decodes NIST file data into usable format. This function must be called at the beginning (one time only) before any further processing of NIST file.
int ReadNISTFromMemory(unsigned char* input_byte_array, int size_of_input_byte_array) Loads existing NIST file contents from memory and decodes NIST file data into usable format. This function must be called at the beginning (one time only) before any further processing of NIST file.
char* ReadType1Record(const char *record_field_name)Returns contents of Type-1 record text field.
int ReadType1RecordSizeOfTextField(const char *record_field_name)Returns size of Type-1 record text field.
char* ReadType2Record(int record_field_number)Returns contents of Type-2 record text field.
int ReadType2RecordSizeOfTextField(int record_field_number)Returns size of Type-2 record text field.
int ReadType4NumberOfRecords()Returns number of Type-4 records.
int ReadType4RecordParameterField(int idc_or_fpg, int number, const char *record_field_name)Returns field code value of Type-4 record binary field.
unsigned char* ReadType4RecordBinaryField(int idc_or_fpg, int number)Returns contents of Type-4 record binary field.
int ReadType4RecordSizeOfBinaryField(int idc_or_fpg, int number)Returns size of Type-4 record binary field.
HBITMAP CreateHBITMAPfromType4RecordBinaryField(int idc_or_fpg, int number)Converts Type-4 record binary field contents into HBITMAP image. Returns image in HBITMAP format if successful, returns NULL otherwise.
int SetPointerToNISTRecord(int record_type, int record_number) Sets current pointer to specified record and data field for further processing.
int ReadSizeOfBinaryNISTField() Returns size of binary NIST field.
unsigned char* ReadBinaryNISTField() Returns contents of NIST file binary field as byte array if successful, returns NULL otherwise.
HBITMAP CreateHBITMAPfromBinaryNISTField() Converts NIST file binary field contents into HBITMAP image. Returns image in HBITMAP format if successful, returns NULL otherwise.
int ReadSizeOfTxtNISTField() Returns size of text NIST field.
char* ReadTxtNISTField() Returns contents of NIST file data field as text string (char array) if successful, returns NULL otherwise.
Output text string is formatted in the following way:
field code followed by comma then followed by field value(s) then followed by new line code (\n\r [Char(10) + Char(13)]) and this pattern is repeated for all subsequent field codes.
Like for example:
LEN,17804
IDC,5
IMP,3
FGP,5
ISR,1
HLL,512
VLL,512
GCA,1
For more detailed description of field codes and their meanings please read bellow in the chapter “ANSI/NIST-ITL 1-2000 format description”
int CreateNewNISTFile() Creates new empty NIST file in the memory. Returns 1 if successful, 0 otherwise.
int InsertType1Record(const char *record_field_name, const char *record_field_data) Inserts Type-1 record into NIST file.
record_field_name possible values are: VER, TOT, DAT, PRY, DAI, ORI, TCN, TCR, NSR, NTR, DOM, GMT, DCS.
Values of record fields named LEN, CNT are handled automatically and no manual access to these fields is allowed.
See Table 6 below for more detailed information about the meanings of record_field_name.
record_field_data denotes record field data which must be provided as the char string with terminating NULL character (ASCII code = 0).
Function returns 1 if successful, 0 otherwise.
int DeleteType1Record(const char *record_field_name) Deletes Type-1 record from NIST file.
record_field_name possible values are: TOT, DAT, PRY, DAI, ORI, TCN, TCR, NSR, NTR, DOM, GMT, DCS.
Fields PRY, TCR, DOM, GMT, DCS are optional and are fully deleted from NIST file.
Fields named LEN, CNT are handled automatically and no manual access to these fields is allowed.
Fields TOT, DAI, ORI, TCN are mandatory in ANSI/NIST-ITL 1-2000 standard and cannot be deleted from NIST file, thus instead of true deletion the contents of these fields are replaced with the empty string.
Fields VER, DAT, NSR, NTR are mandatory in ANSI/NIST-ITL 1-2000 standard and cannot be deleted from NIST file, thus no changes are made to NIST file, however these fields can be overwritten/changed using function InsertType1Record.
See Table 6 below for more detailed information about the meanings of record_field_name.
Function returns 1 if successful, 0 otherwise.
int InsertType2Record(int record_field_number, const char *record_field_data) Inserts Type-2 record into NIST file.
Fields named LEN, IDC are handled automatically and no manual access to these fields is allowed.
record_field_number denotes number of user-defined field. record_field_number must be in the range 3-999.
record_field_data denotes record field data which must be provided as the char string with terminating NULL character (ASCII code = 0).
Function returns 1 if successful, 0 otherwise.
int DeleteType2Record(int record_field_number) Deletes Type-2 record from NIST file.
Fields named LEN, IDC are handled automatically and no manual access to these fields is allowed.
record_field_number denotes number of user-defined field. record_field_number must be in the range 3-999.
Function returns 1 if successful, 0 otherwise.
int InsertType4RecordFromFile(const char *filename, int IDC, int IMP, int FGP, int FGP2, int FGP3, int FGP4, int FGP5, int FGP6, int ISR, int HLL, int VLL, int GCA) Inserts Type-4 record into NIST file. Returns 1 if successful, 0 otherwise.
int InsertType4RecordFromMemory(unsigned char* input_byte_array, int size_of_input_byte_array, int IDC, int IMP, int FGP, int FGP2, int FGP3, int FGP4, int FGP5, int FGP6, int ISR, int HLL, int VLL, int GCA) Inserts Type-4 record into NIST file. Returns 1 if successful, 0 otherwise.
int DeleteType4Record(int idc_or_fpg, int number) Deletes Type-4 record from NIST file. Returns 1 if successful, 0 otherwise.
int ReplaceType4RecordFromFile(const char *filename, int IDC, int IMP, int FGP, int FGP2, int FGP3, int FGP4, int FGP5, int FGP6, int ISR, int HLL, int VLL, int GCA) Replaces Type-4 record in the NIST file. Returns 1 if successful, 0 otherwise.
int ReplaceType4RecordFromMemory(unsigned char* input_byte_array, int size_of_input_byte_array, int IDC, int IMP, int FGP, int FGP2, int FGP3, int FGP4, int FGP5, int FGP6, int ISR, int HLL, int VLL, int GCA) Replaces Type-4 record in the NIST file. Returns 1 if successful, 0 otherwise.
int WriteNISTToFile(const char *filename) Writes NIST file data contents from memory to the file. Returns 1 if successful, 0 otherwise.
int RegisterNIST() Registers NIST (ANSI/NIST-ITL 1-2000) library on the computer. Returns 1 if successful, 0 otherwise.




Adding "NIST (ANSI/NIST-ITL 1-2000) library" library to your software project

Using "NIST (ANSI/NIST-ITL 1-2000) library" library is very easy. Only few lines of code are needed.

Bellow is the example scenario of typical "NIST (ANSI/NIST-ITL 1-2000) library" usage.

At the very beginning you must load NIST file either from file or from memory array. This function must be called at the beginning (one time only) before any further processing of NIST file.

  
ReadNISTFile(filename); 
or
ReadNISTFromMemory(byte_array, size_of_byte_array);

For reading logical record Type-1 in NIST file you need to set the current pointer to record_type=1.

  
SetPointerToNISTRecord(1, 0);

Get the size of NIST file logical record Type-1 text field (this step is needed only for some compilers).

  
size = ReadSizeOfTxtNISTField();

Get the contents of NIST file logical record Type-1 field as text string (char array).

  
nist_txt_field = ReadTxtNISTField();

For reading logical record Type-2 in NIST file you need to set the current pointer to record_type=2.

  
SetPointerToNISTRecord(2, 0);

Get the size of NIST file logical record Type-2 text field (this step is needed only for some compilers).

  
size = ReadSizeOfTxtNISTField();

Get the contents of NIST file logical record type 2 field as text string (char array).

  
nist_txt_field = ReadTxtNISTField();

In logical record Type-4 there might be up to 14 fingerprint images. Let's read all 14 fingerprint images in NIST file.

  
for(int i = 1; i < 15; i++)
{

For reading logical record Type-4 in NIST file you need to set the current pointer to record_type=4. You must also set the record_number which you want to read (in this case record number is equal to fingerprint image number).

  
SetPointerToNISTRecord(4, i);

Get the size of NIST file logical record Type-4 text field (this step is needed only for some compilers).

  
size = ReadSizeOfTxtNISTField();

Get the contents of NIST file logical record Type-4 field as text string (char array).

  
nist_txt_field = ReadTxtNISTField();

Get the size of NIST file logical record Type-4 binary field.

  
size = ReadSizeOfBinaryNISTField();

Get the contents of NIST file logical record Type-4 field as byte array (in this case byte array is fingerprint image in WSQ file format).

  
nist_binary_field = ReadBinaryNISTField();

Convert NIST file binary field contents into HBITMAP image (convert WSQ image into HBITMAP).

  
hBitmap = CreateHBITMAPfromBinaryNISTField();
}//for(int i = 1; i < 15; i++)



Table 4 "NIST (ANSI/NIST-ITL 1-2000) library" sample projects

Program Size  
NIST (ANSI/NIST-ITL 1-2000) sample file 337 KB Download
NIST library DLL (Dynamic Link Library). Version 2.5 513 KB Download
NIST library stdcall wrapper DLL (Dynamic Link Library) interface. Version 2.0 60 KB Download
NIST library JNIEXPORT wrapper DLL (Dynamic Link Library) interface. Version 2.0 100 KB Download
NIST library MatLab MEX wrapper DLL (Dynamic Link Library) interface. Version 1.0 119 KB Download
NIST library Microsoft Visual C++ 6.0 sample project 3442 KB Download
NIST library Microsoft Visual C++ .NET 2003 sample project 0 KB Download
NIST library Microsoft Visual C# .NET 2003 sample project 1270 KB Download
NIST library Microsoft Visual Basic .NET 2003 sample project 1322 KB Download
NIST library Microsoft Visual Basic 6.0 sample project 1305 KB Download
NIST library Borland C++ Builder 6.0 sample project (dynamic version) 1249 KB Download
NIST library Borland C++ Builder 2006 sample project (dynamic version) 1250 KB Download
NIST library Borland C++ Builder 2006 sample project (static version) 1252 KB Download
NIST library Borland Delphi 7.0 sample project 1254 KB Download
NIST library Sun Java (J2SE Development Kit 5.0 Update 7) sample project 1470 KB Download
NIST library NetBeans 5.0 Sun Java (J2SE Development Kit 5.0 Update 7) sample project 1373 KB Download
NIST library Eclipse 3.3.0 Sun Java (J2SE Development Kit 5.0 Update 7) sample project 1414 KB Download
NIST library MinGW C/C++ 3.4.2 sample project 1260 KB Download
NIST library Eclipse C/C++ 3.3.0 sample project 1392 KB Download
NIST library Code::Blocks C++ 1.0rc2 sample project 1271 KB Download
NIST library Bloodshed Dev-C++ 4 sample project 1266 KB Download
NIST library Borland C++ 5.5 for Win32 sample project 1330 KB Download
NIST library Digital Mars C/C++ 8.50 sample project 1288 KB Download
NIST library Microsoft Visual FoxPro 5.0 sample project 1367 KB Download
NIST library MatLab 7.0 sample project 1367 KB Download
NIST library Compaq Visual Fortran 6.6 sample project 487 KB Download
NIST library PowerBASIC 8.0 sample project 1306 KB Download



ANSI/NIST-ITL 1-2000 format description

ANSI/NIST-ITL 1-2000 standard defines the content, format, and units of measurement for the exchange of fingerprint, palmprint, facial/mugshot, and scar, mark, & tattoo (SMT) image information that may be used in the identification process of a subject. The information consists of a variety of mandatory and optional items, including scanning parameters, related descriptive and record data, digitized fingerprint information, and compressed or uncompressed images. This information is intended for interchange among criminal justice administrations or organizations that rely on automated fingerprint and palmprint identification systems or use facial/mugshot or SMT data for identification purposes. This standard does not define the characteristics of the software that shall be required to format the textual information or to compress and assemble the associated digital fingerprint image information. Typical applications for this software might include, but are not limited to, computer systems associated with a live-scan fingerprinting system, a workstation that is connected to or is part of an Automated Fingerprint Identification System (AFIS), or an Image Storage and Retrieval system containing fingerprints, facial/mugshot, or SMT images.
Information compiled and formatted in accordance with this standard can be recorded on machine-readable media or may be transmitted by data communication facilities in lieu of a finger print card, a latent fingerprint, facial/mugshot, or other types of photographs. Law enforcement and criminal justice agencies will use the standard to exchange fingerprint, palmprint, or other photographic images and related identification data.
Systems claiming conformance with this standard shall implement the transmitting and/or receiving of record types as defined by this standard. Systems claiming conformance are not required to implement every record type specified herein. At a minimum, they must be capable of transmitting and receiving Type-1 records. However, for a transaction to be meaningful, there must be at least one additional type of record included. The implementor must document the record types supported in terms of transmitting and/or receiving. Those record types not implemented shall be ignored by the conforming system.

Table 5 ANSI/NIST-ITL File Standard Specification

Document Size  
ANSI/NIST-ITL 1-2000. NIST Special Publication 500-245. Approved July 27, 2000 509 KB Download
ANSI/NIST-ITL 1-2000. The Interpol AFIS Expert Group. Version No. 4.22b. October 28, 2005 375 KB Download
ANSI/NIST-ITL 1-2007. NIST Special Publication 500-271. Approved April 20, 2007 1475 KB Download
ANSI/NIST-ITL 2-2008. NIST Special Publication 500-275. Approved August 12, 2008 1459 KB Download

Table 6 ANSI/NIST-ITL 1-2000 file format specifications (Logical record types)

Logical
record
identifier
Logical record contents Type of data
1Transaction InformationASCII
2Descriptive Text (User-defined)ASCII
3Fingerprint Image Data (Low-resolution grayscale)Binary
4Fingerprint Image Data (High-resolution grayscale)Binary
5Fingerprint Image Data (Low-resolution binary)Binary
6Fingerprint Image Data (High-resolution binary)Binary
7Image Data (User-defined)Binary
8Signature Image DataBinary
9Minutiae DataASCII
10Facial & SMT Image DataASCII/Binary
11Reserved for Future Use-
12Reserved for Future Use-
13Latent Image Data (Variable-resolution)ASCII/Binary
14Tenprint fingerprint Impressions (Variable-resolution)ASCII/Binary
15Palmprint Image Data (Variable-resolution)ASCII/Binary
16User-defined Testing Image Data (Variable-resolution)ASCII/Binary

Table 7 Type-1 transaction information record. Fields for Type-1 transaction information record

Field
code
Field name Description
LENLogical record lengthThis mandatory ASCII field contains the total count of the number of bytes in this Type-1 logical record.
VERVersion numberThis mandatory field specifies the current version number of the standard implemented by the software or system creating the file. The format of this field shall consist of four numeric characters. The first two characters shall specify the major version number. The last two characters shall be used to specify the minor revision number. The initial revision number for a version shall be "00". The entry in this field for this 2000 approved standard is "0300". This version number signifies the inclusion of the tagged-field logical Type-10 through Type-16 image records.
CNTFile contentThis mandatory field lists and identifies each of the logical records in the file by record type. It also specifies the order in which the remaining logical records shall appear in the file.
TOTType of transactionThis mandatory field contains an identifier, which designates the type of transaction and subsequent processing that this file should be given. (Note: Type of Transaction shall be in accordance with definitions provided by the receiving agency.)
DATDateThis mandatory field contains the date that the transaction was initiated. The date appears as eight digits in the format CCYYMMDD. The CCYY characters represents the year of the transaction; the MM characters are the tens and units values of the month; and the DD characters are the day in the month. For example, "20000103" represents January 3, 2000.
PRYPriorityWhen this field is used, it contains a single information character to designate the urgency with which a response is desired. The values shall range from "1" to "9", with "1" denoting the highest priority. The default value is defined by the agency receiving the transaction.
DAIDestination agency identifierThis mandatory field contains the identifier of the administration or organization designated to receive the transmission. The size and data content of this field shall be user-defined and in accordance with the receiving agency.
ORIOriginating agency identifier This mandatory field contains the identifier of the administration or organization originating the transaction. The size and data content of this field is user-defined and in accordance with the receiving agency.
TCNTransaction control numberThis mandatory field shall contain the Transaction Control Number as assigned by the originating agency. A unique alphanumeric control number shall be assigned to each transaction. For any transaction that requires a response, the respondent shall refer to this number in communicating with the originating agency.
TCRTransaction control referenceThis optional field is used for responses that refer to the TCN of a previous transaction involving an inquiry or other action that required a response.
NSRNative scanning resolutionThis mandatory field specifies the native scanning resolution of the AFIS or other fingerprint or palmprint image capture device supported by the originator of the transmission. This field permits the recipient of this transaction to send response data at a transmitting resolution tailored to the NSR (if it is able to do so) or to the minimum scanning resolution. This field shall contain five bytes specifying the native scanning resolution in pixels per millimeter. The resolution shall be expressed as two numeric characters followed by a decimal point and two more numeric characters (e.g., 19.69). This field is needed because the interchange of fingerprint information between systems of the same manufacturer may, in some instances, be more efficiently done at a transmitting resolution equal to the native scanning resolution of the system rather than at the minimum scanning resolution specified in this standard. For applications other than fingerprint where resolution is not a factor or not applicable (such a facial or SMT image) this field shall be set to "00.00".
NTRNominal transmitting resolutionThis mandatory field specifies the nominal transmitting resolution for the fingerprint or palmprint image(s) being exchanged. This field specifies the transmitting resolution in pixels per millimeter. The resolution is expressed as two numeric characters followed by a decimal point and two more numeric characters (e.g., 19.69). The transmitting resolution is within the range specified by the transmitting resolution requirement. For applications where resolution is not a factor or not applicable (such as a facial or SMT image) this field shall be set to "00.00".
DOMDomain nameThis optional field identifies the domain name for the user-defined Type-2 logical record implementation. If present, the domain name may only appear once within a transaction. It shall consist of one or two information items. The first information item will uniquely identify the agency, entity, or implementation used for formatting the tagged fields in the Type-2 record. An optional second information item will contain the unique version of the particular implementation. The default value for the field shall be the North American Domain implementation and shall appear as "NORAM".
GMTGreenwich mean timeThis optional field provides a mechanism for expressing the date and time in terms of universal Greenwich Mean Time (GMT) units. If used, the GMT field contains the universal date that will be in addition to the local date contained in Date Field (DAT). Use of the GMT field eliminates local time inconsistencies encountered when a transaction and its response are transmitted between two places separated by several time zones. The GMT provides a universal date and 24-hour clock time independent of time zones. It is represented as "CCYYMMDDHHMMSSZ", a 15-character string that is the concatenation of the date with the GMT and concludes with a "Z". The "CCYY" characters shall represent the year of the transaction, the "MM" characters shall be the tens and units values of the month, and the "DD" characters shall be the tens and units values of the day of the month, the "HH" characters represent the hour, the "MM" the minute, and the "SS" represents the second. The complete date shall not exceed the current date.
DCSDirectory of character setsThis optional field is a directory or list of character sets other than 7-bit ASCII that may appear within this transaction. This field shall contain one or more subfields, each with three information items. The first information item is the three-character identifier for the character set index number that references an associated character set throughout the transaction file. The second information item shall be the common name for the character set associated with that index number, the optional third information item is the specific version of the character set used. Table 8 lists the reserved named character sets and their associated 3-character index numbers.

Table 8 Directory of character sets

Character
set index
Character
set name
Description
000ASCII7-bit English (Default)
001ASCII8-bit Latin
002UNICODE16-bit
003-127-------Reserved for ANSI/NIST future use
128-999-------User-defined character sets

Type-2 logical records contains textual information relating to the subject of the transaction and is represented in an ASCII format. This record may include such information as the state or FBI numbers, physical characteristics, demographic data, and the subject's criminal history. Every transaction usually contains one or more Type-2 records which is dependent upon the entry in the Type-of-Transaction Field (TOT).
The first two data fields of the Type-2 record are mandatory, ordered, and defined by this standard. The remaining fields of the record(s) shall conform to the format, content, and requirements of the subscribed Domain Name (DOM) used by the agency to which the transmission is being sent.

Table 9 Type-2 user-defined descriptive text record. Fields for Type-2 logical records

Field
code
Field name Description
LENLogical record lengthThis mandatory ASCII field contains the length of the logical record specifying the total number of bytes, including every character of every field contained in the record.
IDCImage designation characterThis mandatory field is used to identify the user-defined text information contained in this record. The IDC contained in this field is the IDC of the Type-2 logical record as found in the file content (CNT) field of the Type-1 record.
US3-US999
(003-999)
User-defined fieldsIndividual fields required for given transaction types, including field size and content, conform to the specifications set forth by the agency to whom the transmission is being sent. “NIST (ANSI/NIST-ITL 1-2000) library” labels user-defined fields as two letters “US” plus the number, like for example “US7”, “US31” or “US803”.

Type-4 logical records contains high resolution grayscale fingerprint image data that have been scanned at the minimum scanning resolution. Alternatively, the native scanning resolution may be used and the image processed such that the resulting transmitting resolution is within the range specified by the transmitting resolution requirement for high-resolution images. When the image data is obtained from a live-scan reader it shall be the grayscale output of the livescan fingerprint scanner and not a rescan of a hard copy fingerprint image.

Table 10 Type-4 high-resolution grayscale fingerprint image record. Fields for Type-4 logical record

Field
code
Field name Description
LENLogical record lengthThis mandatory field contains the length of the logical record specifying the total number of bytes, including every byte of all nine fields contained in the record.
IDCImage designation characterThis mandatory field identifies the image data contained in this record.
IMPImpression type This mandatory field contains code which describes the manner by which the fingerprint image information was obtained. Finger impression type code numbers are defined in Table 11.
FGPFinger positionThis mandatory field contains possible finger positions. The code number for the known or most probable finger position are defined in Table 12. Up to five additional finger positions may be referenced by entering the alternate finger positions.
ISRImage scanning resolution This mandatory field contains a value of "0" if the minimum scanning resolution is used, and a "1" if the native scanning resolution is used.
HLLHorizontal line lengthThis mandatory field specifies the number of pixels contained on a single horizontal line of the transmitted image.
VLLVertical line lengthThis mandatory field specifies the number of horizontal lines contained in the transmitted image.
GCAGrayscale compression algorithmThis mandatory field specifies the type of grayscale compression algorithm used (if any). A zero denotes no compression. Otherwise, the contents of this byte shall be the number allocated to the particular compression technique used by the interchange parties. The domain registrar will maintain a registry relating these numbers to the compression algorithms.
DATAImage dataThis binary field contains all of the highresolution grayscale image data. Each pixel of the uncompressed image shall be quantized to eight bits (256 gray levels) contained in a single byte. If compression is used, the pixel data are compressed in accordance with the compression technique specified in the GCA field.

Table 11 Finger impression type codes

IMP
code
Description
0Live-scan plain
1Live-scan rolled
2Nonlive-scan plain
3Nonlive-scan rolled
4Latent impression
5Latent tracing
6Latent photo
7Latent lift

Table 12 Finger position codes and maximum size

FGP
code
Finger position Max image
area, mm2
Width,
mm (in)
Length,
mm (in)
0Unknown174540.6 (1.6)38.1 (1.5)
1Right thumb174540.6 (1.6)38.1 (1.5)
2Right index finger164040.6 (1.6)38.1 (1.5)
3Right middle finger164040.6 (1.6)38.1 (1.5)
4Right ring finger164040.6 (1.6)38.1 (1.5)
5Right little finger164040.6 (1.6)38.1 (1.5)
6Left thumb174540.6 (1.6)38.1 (1.5)
7Left index finger164040.6 (1.6)38.1 (1.5)
8Left middle finger164040.6 (1.6)38.1 (1.5)
9Left ring finger164040.6 (1.6)38.1 (1.5)
10Left little finger164040.6 (1.6)38.1 (1.5)
11Plain right thumb240025.4 (1.0)50.8 (2.0)
12Plain left thumb240025.4 (1.0)50.8 (2.0)
13Plain right four fingers680081.3 (3.2)50.8 (2.0)
14Plain left four fingers680081.3 (3.2)50.8 (2.0)












Copyright © 2009 Cognaxon. All rights reserved.