“NIST (ANSI/NIST-ITL 1-2000) library” for Windows 32-bit (version 5.0)


Registered users of version 1.x-4.x please upgrade to version 5.0 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 images from WSQ/JPEG/JPEG2000/PNG image formats.
The source code of “NIST (ANSI/NIST-ITL 1-2000) library” contains 759,622 lines of code and saves you months of tedious work.

The advantage of NIST files is the ability to contain multiple images and other types of data about the person in one single file, which simplifies biometric data exchange between participating parties.
As for example:
one WSQ file contains only one fingerprint image;
but one NIST file can contain inside many fingerprint images, many face images, many palmprint images and also other information.
“NIST (ANSI/NIST-ITL 1-2000) library” is able to produce (write) NIST files. “NIST (ANSI/NIST-ITL 1-2000) library” takes already existing WSQ/JPEG/JPEG2000/PNG image files and inserts them into NIST file.
If you want to be able to produce WSQ/JPEG/JPEG2000/PNG image files, you need a separate product called “WSQ image library”, which is described here: WSQ image library.
ANSI/NIST-ITL 1-2007 standard is also supported in “NIST (ANSI/NIST-ITL 1-2000) library”.
Both ANSI/NIST-ITL 1-2007 and ANSI/NIST-ITL 1-2000 are almost the same standard.
The only difference is that some data fields which were called “reserved for future use” (in ANSI/NIST-ITL 1-2000), some of these fields are being used in ANSI/NIST-ITL 1-2007 standard.
From programming point of view both ANSI/NIST-ITL 1-2000 and ANSI/NIST-ITL 1-2007 are almost identical.
“NIST (ANSI/NIST-ITL 1-2000) library” supports all fields of ANSI/NIST-ITL 1-2007 standard.


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 U.S. dollars for the first license (single developer license) and U.S. dollars per every additional license (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 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 Format of “NIST (ANSI/NIST-ITL 1-2000) library”

Feature Format
Operating system Windows 95/98/2000/2003/NT/XP/Vista/7/8/10
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 2 Supported logical records

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
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
17Iris image record (ANSI/NIST-ITL 1-2007)ASCII/Binary
99CBEFF biometric data record (ANSI/NIST-ITL 1-2007)ASCII/Binary

Table 3 Supported grayscale and color image decompression

Algorithm name Binary code
(in base 10)
ASCII code
Uncompressed0NONE
WSQ Version 2.01WSQ20
JPEG ISO/IEC 10918 (Lossy)2JPEGB
JPEG ISO/IEC 10918 (Lossless)3JPEGL
JPEG 2000 ISO/IEC 15444-1 (Lossy)4JP2
JPEG 2000 ISO/IEC 15444-1 (Lossless)5JP2L
Portable Network Graphics6PNG

Table 4 Supported binary image decompression

Algorithm name Binary code
(in base 10)
Uncompressed0
Facsimile ANSI/EIA 538-1988
(TIFF CCITT Group 4)
1

Table 5 Functions available in the library

Function Description
int RegisterNIST()Registers “NIST (ANSI/NIST-ITL 1-2000) library” on the computer. Returns 1 if successful, 0 otherwise.
int CreateNewNISTFile()Creates new empty NIST file in the memory. 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.
unsigned char* ReadNISTByteArray()Reads NIST byte array contents into memory. Returns NULL if NIST byte array is empty.
int ReadSizeOfNISTByteArray()Reads size of NIST byte array. Returns 0 if NIST byte array is empty.
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.
int CheckIfRecordTypeExists(int record_type_number)Checks if record type exists in *.nist file. Returns 1 if successful, 0 otherwise.
int ReadNumberOfRecords(int record_type_number)Returns number of records in *.nist file of the specified record type.
int ReadIDCofRecord(int record_type_number, int record_number)Returns IDC number of the record. Returns -1 if record with record_number was not found in NIST file.
char* ReadRecordTxtField(int record_type_number, int idc, int record_field_number, const char *record_field_name)Returns record text field contents of the specified record type. Returns NULL if record text field is empty or nonexistent.
int ReadSizeOfRecordTxtField(int record_type_number, int idc, int record_field_number, const char *record_field_name)Returns the size of record text field of the specified record type. Returns 0 if record text field is empty or nonexistent.
char* ReadRecordTxtFieldName(int record_type_number, int idc, int record_field_number)Returns name of record text field of the specified record type. Returns NULL if record text field is empty or nonexistent.
int ReadSizeOfRecordTxtFieldName(int record_type_number, int idc, int record_field_number, const char *record_field_name)Returns the size of the record text field name of the specified record type. Returns 0 if record text field is empty or nonexistent.
char* ReadRecordTxtFieldDescription(int record_type_number, int idc, int record_field_number, const char *record_field_name)Returns description of record text field of the specified record type. Returns NULL if record text field is empty or nonexistent.
int ReadSizeOfRecordTxtFieldDescription(int record_type_number, int idc, int record_field_number, const char *record_field_name)Returns the size of the record text field description of the specified record type. Returns 0 if record text field is empty or nonexistent.
char* ReadRecordExportedTxtFields(int record_type_number, int idc)Returns all text fields of the specified record concatenated into one string. Returns NULL if record text field is empty or nonexistent. 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 ReadSizeOfRecordExportedTxtFields(int record_type_number, int idc) Returns size of all txt fields of the specified record concatenated into one string. Returns 0 if record text field is empty or nonexistent.
unsigned char* ReadRecordBinaryField(int record_type_number, int idc)Returns record binary field contents of the specified record type. Returns NULL if record text field is empty or nonexistent.
int ReadSizeOfRecordBinaryField(int record_type_number, int idc)Returns the size of record binary field of the specified record type. Returns 0 if record text field is empty or nonexistent.
HBITMAP CreateHBITMAPfromRecordBinaryField(int record_type_number, int idc)Converts NIST file binary field contents into HBITMAP image. Returns HBITMAP if successful, NULL otherwise.
int InsertRecordBinaryFieldFromFile(int record_type_number, int idc, const char *filename)Modifies *.nist file. Inserts binary field contents (from file) into specified record type with specified IDC number. Please use argument parameter idc = -1 for auto-numbering of IDC numbers. If the record with specified IDC number already exists in *.nist file, then existing old record is overwritten and replaced. Function returns current IDC number which was assigned to currently inserted record.
int InsertRecordBinaryFieldFromMemory(int record_type_number, int idc, unsigned char* input_byte_array, int size_of_input_byte_array, const char* CGA, int CGA_int, int HLL, int VLL)Modifies *.nist file. Inserts binary field contents (from memory byte array) into specified record type with specified IDC number. Please use argument parameter idc = -1 for auto-numbering of IDC numbers. If the record with specified IDC number already exists in *.nist file, then existing old record is overwritten and replaced. Function returns current IDC number which was assigned to currently inserted record.
int InsertRecordTxtField(int record_type_number, int idc, int record_field_number, const char *record_field_name, const char * input_data)Modifies *.nist file. Inserts text field contents into specified record type with specified IDC number. Function InsertRecordTxtField can be called only after function InsertRecordBinaryFieldFromFile/InsertRecordBinaryFieldFromMemory was called and the record with specified IDC number was already created.
int DeleteRecord(int record_type_number, int idc)Deletes specified record type with specified IDC number.
int SetNISTLibErrorReportMode(int nist_error_report_mode)Sets “NIST (ANSI/NIST-ITL 1-2000) library” error report mode.
"nist_error_report_mode" denotes integer with possible values:
0 - Do not show pop-up dialog messages when error happens;
1 - Show error pop-up dialog messages when error happens.
char* ReadNISTLibLastErrorMessage()Reads “NIST (ANSI/NIST-ITL 1-2000) library” last error message.
int SetNISTLibTryToDecodeBinaryField(int try_to_decode_binary_field)Sets “NIST (ANSI/NIST-ITL 1-2000) library” binary field decode mode.
"try_to_decode_binary_field" denotes integer with possible values:
0 - Disables decoding of the binary fields, this prevents “NIST (ANSI/NIST-ITL 1-2000) library” from crashing when incorrect data in binary field is detected in corrupt NIST file;
1 - Enables decoding of the binary fields, this mode is needed for normal functioning of “NIST (ANSI/NIST-ITL 1-2000) library”.




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.


Table 6 “NIST (ANSI/NIST-ITL 1-2000) library” sample projects

Program Size  
NIST (ANSI/NIST-ITL 1-2000) sample file 2938 KB Download
NIST library DLL (Dynamic Link Library). version 5.0 870 KB Download
NIST library stdcall wrapper DLL (Dynamic Link Library) interface. Version 3.0 59 KB Download
NIST library JNIEXPORT wrapper DLL (Dynamic Link Library) interface. Version 3.6 100 KB Download
NIST library MatLab MEX wrapper DLL (Dynamic Link Library) interface. Version 3.0 120 KB Download
NIST library Microsoft Visual C++ 6.0 sample project 9667 KB Download
NIST library Microsoft Visual C++ .NET 2003 sample project 0 KB Download
NIST library Microsoft Visual C# .NET 2003 sample project 7348 KB Download
NIST library Microsoft Visual C# .NET 2010 sample project 11390 KB Download
NIST library Microsoft Visual Basic .NET 2003 sample project 7329 KB Download
NIST library Microsoft Visual Basic .NET 2010 sample project 7309 KB Download
NIST library Microsoft Visual Basic 6.0 sample project 7355 KB Download
NIST library Borland C++ Builder 6.0 sample project (dynamic version) 7301 KB Download
NIST library Borland C++ Builder 2006 sample project (dynamic version) 7302 KB Download
NIST library Borland C++ Builder 2006 sample project (static version) 7305 KB Download
NIST library Borland C++ Builder 2007 sample project 7304 KB Download
NIST library Borland C++ Builder 2010 sample project 7304 KB Download
NIST library Embarcadero C++ Builder XE2 sample project 7375 KB Download
NIST library Borland Delphi 7.0 sample project 7312 KB Download
NIST library Embarcadero Delphi 2007 sample project 7315 KB Download
NIST library Embarcadero Delphi 2010 sample project 7322 KB Download
NIST library Embarcadero Delphi XE2 sample project 7391 KB Download
NIST library Sun Java (Java SE Development Kit 8 Update 152) sample project 7470 KB Download
NIST library NetBeans 5.0 Sun Java (J2SE Development Kit 5.0 Update 7) sample project 7409 KB Download
NIST library Eclipse 3.3.0 Sun Java (J2SE Development Kit 5.0 Update 7) sample project 7456 KB Download
NIST library MinGW C/C++ 3.4.2 sample project 7298 KB Download
NIST library Eclipse C/C++ 3.3.0 sample project 7444 KB Download
NIST library Code::Blocks C++ 1.0rc2 sample project 7326 KB Download
NIST library Bloodshed Dev-C++ 4 sample project 7327 KB Download
NIST library Borland C++ 5.5 for Win32 sample project 7299 KB Download
NIST library Digital Mars C/C++ 8.50 sample project 7299 KB Download
NIST library Microsoft Visual FoxPro 5.0 sample project 8204 KB Download
NIST library MatLab 7.0 sample project 7426 KB Download
NIST library Compaq Visual Fortran 6.6 sample project 7497 KB Download
NIST library PowerBASIC 8.0 sample project 7357 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 7 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-2000. Electronic Fingerprint Transmission Specification. FBI, Criminal Justice Information Services Division. IAFIS-DOC-01078-7.1. May 2, 2005 1239 KB Download
ANSI/NIST-ITL 1-2007. NIST Special Publication 500-271. Approved April 20, 2007 1475 KB Download
ANSI/NIST-ITL 1-2007. The Interpol AFIS Expert Group. Version No. 5.00. October 23, 2008 572 KB Download
ANSI/NIST-ITL 1-2011. NIST Special Publication 500-290. November, 2011 4681 KB Download
ANSI/NIST-ITL 2-2008. NIST Special Publication 500-275. Approved August 12, 2008 1459 KB Download
USA FBI Table C-1 Field Edit Specifications for Type-2 Elements. IAFIS-DOC-01078-9.2. May 13, 2011 106 KB Download
ANSI/NIST-ITL 1-2011 Update: 2015. NIST Special Publication 500-290 Edition 3 (2015). Data Format for the Interchange of Fingerprint, Facial & Other Biometric Information. Update: 2015 approved July 2016 9754 KB Download

Table 8 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
17Iris image record (ANSI/NIST-ITL 1-2007)ASCII/Binary
18-98Reserved for future useASCII/Binary
99CBEFF biometric data record (ANSI/NIST-ITL 1-2007)ASCII/Binary

Table 9 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 10 lists the reserved named character sets and their associated 3-character index numbers.

Table 10 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 11 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 12 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 13.
FGPFinger positionThis mandatory field contains possible finger positions. The code number for the known or most probable finger position are defined in Table 14. 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 13 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 14 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 © 2019 Cognaxon. All rights reserved. Privacy