# IDMax Vision Data Access functions

This topic lists the Vision Data Access functions that return values from an IDMax structure.

Note: All returned values are from a referenced IDMax structure, which is inserted in the spreadsheet when the ReadIDMax function is created. The optional Index can reference an indexed string from the ReadIDMax function result table.

Function | Description
--- | ---
GetAngle(IDMax,[Index]) | Returns the angle of a symbol. Note: The Verify checkbox in ReadIDMax must be checked.
GetCodeName(IDMax,[Index]) | Returns the name of the code type. This is the same code name shown in the ReadIDMax Property Sheet.
GetCodeType(IDMax,[Index]) | Returns the Code Type.
Code Type | Corresponding Code Name
--- | ---
1 | Code 128
0 | Code 39
3/4 | UPC/EAN
11 | Code 93
12 | Codabar
128 | Data Matrix
129 | QR Code
132 | PDF 417
GetColor(IDMax,[Index]) | Returns the value (0 = black, 1 = white) of the foreground color for a Data Matrix, QR Code or PDF 417 symbol.
GetDecoded(Structure,Index) | Returns whether the indexed ID symbol is found. Returns 0.0 for not found, or 1.0 for found.
GetErrorCode(IDMax,[Index]) | Returns an error code for each information string if the function fails. Note: Error strings are inserted into the spreadsheet using the GetErrorString function.
Diagnostic Code | Corresponding Information String
--- | ---
00010000 | Vision processing error.
00010001 | Invalid image memory.
00010001 | Input region is too small.
00010002 | Input region exceeds image boundary.
00019000 | IDMax vision processing error.
04010000 | ReadCompositeCode error.
04010001 | Cannot detect 2D component address patterns.
04010002 | Too much invalid 2D component image data.
04010003 | Cannot detect 2D component symbol version.
04010004 | Unable to fill in missing 2D component address patterns.
04010005 | Scan line detected invalid image data.
04010006 | Scan line exceeds image boundary.
04010007 | Cannot detect 1D component finder patterns.
04010008 | Too much invalid 1D component image data.
04010009 | No valid Composite symbols found. Note: For all other symbols, 04020001 is returned.
04010010 | Too many symbol errors to correct.
04010011 | Error correction failed.
04010012 | 1D and 2D are decodable but are not linked.
04010013 | Automatic contrast threshold calculation failed.
04010014 | Contrast sensitivity exceeds allowed range.
04010015 | Scanning parameter exceeds allowed range.
04020000 | ReadIDMax error.
04020001 | No valid symbols found.
04020002 | Could not decode symbol.
GetErrorString(IDMax,[Index]) | Returns diagnostic information if symbol decoding fails. Note: The GetErrorString Vision Data Access function may be used to extract the following list of errors from either the data structure returned by a ReadIDMax function. System error. Insufficient heap memory. Vision processing error. Invalid image buffer. Invalid region size. Region exceeds image boundary. ReadIDMax error. ReadIDCode error. Cannot detect Row Address Patterns. Row Address Patterns (RAP) memory limit exceeded. Can't detect CC-A symbol version. Unable to fill in missing RAP points. Invalid scan line detected. Scan line exceeds image boundary. Cannot detect half value patterns. Half value memory limit exceeded. No valid symbols found. Too many symbol errors to correct. Reed Solomon error correction failed. Automatic contrast threshold calculation failed. Contrast sensitivity exceeds allowed range.
GetFormat(IDMax,[Index]) | Returns the value representing the format of a 2D symbol in the ReadIDMax function. See the GetFormat Values topic.
GetFound(IDMax, Index) | Returns whether the indexed ID symbol is found; 0.0 for not found, or 1.0 for found.
GetGridCols(IDMax,[Index]) | Returns the number of columns contained in a 2D symbol.
GetGridRows(IDMax,[Index]) | Returns the number of rows contained in a 2D symbol.
GetGrowth(IDMax,[Index]) | Returns the 2D symbol print growth test for a 2D symbol. The horizontal and vertical print growths are calculated independently and the lower score is returned. This test indicates whether the cells in the symbol vary in size. For example, it is not uncommon with some marking methods for cells to increase in size, moving from the left-side of the symbol to the right. A high quality symbol exhibits little or no print growth. The print growth test result is often linked to the non-uniformity test result, because it can lead to symbols with incorrect proportions. Grade A (4.0) ≥ -0.50 and ≤ 0.50 Grade B (3.0) ≥ -0.70 and ≤ 0.70 Grade C (2.0) ≥ -.85 and ≤ 0.85 Grade D (1.0) ≥ -1.00 and ≤ 1.00 Grade F (0.0) < -1.00 or > 1.00 Note: The Verify checkbox in ReadIDMax must be checked.
GetHeight(IDMax,[Index]) | Returns the height of the symbol. Note: The Verify checkbox in ReadIDMax must be checked.
GetLearned(IDMax,[Index]) | Returns '1' if the model of the symbol has been successfully trained and '0' if the model is not trained. Index = 0 for DataMatrix, 1 for QR, 2 for 1D.Index only valid when used with ReadIDMax.
GetLearnedGridCol(IDMax,[Index]) | Returns the number of columns in a trained QR Code or Data Matrix symbol.
GetLearnedGridRow(IDMax,[Index]) | Returns the number of rows in a trained QR Code or Data Matrix symbol.
GetLearnedSymbology(IDMax) | Returns a string containing the 1D symbology currently learned in ReadIDMax.
GetMirror(IDMax,[Index]) | Returns the mirrored status (0 = not mirrored, 1 = mirrored) of a Data Matrix or QR Code symbol.
GetModuleSize(IDMax,[Index]) | Returns the size of the 2D module.
GetNumResults(IDMax) | Returns the number of found and decoded results.
GetRawStream(IDMax,[Index]) | Returns the undecoded data stream from a read symbol of a Code 128 symbol.
GetResolution(IDMax,[Index]) | For 2D symbols, the average size, in pixels, of the cells is returned. Although not specifically a quality verification test, resolution measures the average size, in pixels, of an element (or cell) in a symbol. Each type of symbol has a minimum resolution specification: Data Matrix: 4 pixels per element QR Code: 4 pixels per element PDF 417: 3 pixels per element
GetString(IDMax,[Index]) | Returns the string from the indexed result, or result 0, if [Index] is not provided. Note: If the string contains NULL (0x00), the function will automatically swap out the character with “<NUL>”.
GetStringIDMax(IDMax,TranslationMode,[Index]) | Returns the string from the indexed result, based on the selected Translation Mode (0, 1 or 2; default = 0), which specifies how the function will process non-printable ASCII characters. When Translation Mode is set to 0, the function will swap ASCII character 0x00 with <NUL> When Translation Mode is set to 1, the function will translate all non-printable ASCII characters (0-31, 127-255), using the following table:
0x00 | "<NUL>"
0x01 | "<SOH>"
0x02 | "<STX>"
0x03 | "<ETX>"
0x04 | "<EOT>"
0x05 | "<ENQ>"
0x06 | "<ACK>"
0x07 | "<BEL>"
0x08 | "<BS>"
0x09 | "<HT>"
0x0a | "<LF>"
0x0b | "<VT>"
0x0c | "<FF>"
0x0d | "<CR>"
0x0e | "<SO>"
0x0f | "<SI>"
0x10 | "<DLE>"
0x11 | "<DC1>"
0x12 | "<DC2>"
0x13 | "<DC3>"
0x14 | "<DC4>"
0x15 | "<NAK>"
0x16 | "<SYN>"
0x17 | "<ETB>"
0x18 | "<CAN>"
0x19 | "<EM>"
0x1a | "<SUB>"
0x1b | "<ESC>"
0x1c | "<FS>"
0x1d | "<GS>"
0x1e | "<RS>"
0x1f | "<US>"
0x7f | "<DEL>"
Note: Non-printable ASCII characters that are not listed in the table will be tanslated as "<X>", where X is the decimal value.
When the Translation Mode is set to 2, the function will translate all non-printable ASCII characters except CR (0x0d) and LF (0x0a).
GetSymbologyIdentifier(IDMax,[Index]) | Returns the type of symbol, as a three-character code, based on the ISO 15424 specification.
GetWidth(IDMax,[Index]) | Returns the width of the symbol. Note: The Verify checkbox in ReadIDMax must be checked.
GetX(IDMax, [Index1], [Index2]) | Returns an x-coordinate. For ReadIDMax, Index2 specifies symbol corner.
GetY(Structure, [Index1], [Index2]) | Returns an y-coordinate. For ReadIDMax, Index2 specifies symbol corner.
SetSymbolMinStringLength(IDMax,Symbology,MinLength) | Sets the minimum string length of the specified Symbology for the referenced IDMax structure.
IDMax | ReadIDMax(Image, Fixture, Region, ...) Reads, and optionally verifies, alphanumeric strings contained in 1D and 2D barcodes and symbologies. Returns an IDCode structure with the decoded string.
Symbology | The specified Symbology [only supports Interleaved 2 of 5(73)]
MinLength | Minimum String Length integer, max = 80.